{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/YbkSqZ7STzW5WsMb1yan/RLfsHd78NBd0kbafA9hd/Lottie.js", "ssg:https://framer.com/m/framer/default-utils.js@^0.45.0", "ssg:https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js", "ssg:https://framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js", "ssg:https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js", "ssg:https://framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js", "ssg:https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js", "ssg:https://framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js", "ssg:https://framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js", "ssg:https://framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js", "ssg:https://framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js", "ssg:https://framerusercontent.com/modules/4zHZnO5JojN1PrIbu2jm/revv9QCWpkh8lPzi2jje/time.js", "ssg:https://framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js", "ssg:https://framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js", "ssg:https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js", "ssg:https://framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js", "ssg:https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js", "ssg:https://framerusercontent.com/modules/8CkHAZatUz1UR8jNTcfD/HwbnIAZlUmQ2oTpcLkaH/detectAutoSizingAxis.js", "ssg:https://framer.com/m/framer/useAutoMotionValue.js@0.3.0", "ssg:https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/TbXI1XaZFNevVKcgIt7G/isMotionValue.js", "ssg:https://jspm.dev/lottie-web@5.7.8", "ssg:https://jspm.dev/npm:lottie-web@5.7.8!cjs", "ssg:https://framerusercontent.com/modules/dwyLU2Kvg3rxE4PVzjYC/H1VqLZWpsvqgoGW377Yu/YIqzMMZxV.js", "ssg:https://framerusercontent.com/modules/hKjtTuWGYB451ckw6eTN/bbq95ZQZ142lE2fXscHd/Hero.js", "ssg:https://framer.com/m/framer/icon-nullstate.js@0.7.0", "ssg:https://framer.com/m/hero-icons/Home.js@0.0.28", "ssg:https://framerusercontent.com/modules/Ma20hU0GGRxLxZphbywl/OSpwWF91FHPVFyQJjMHt/utils.js", "ssg:https://unpkg.com/@lottiefiles/dotlottie-react@0.11.0/dist/index.js", "ssg:https://cdn.jsdelivr.net/npm/@dotlottie/dotlottie-js@0.9.0-beta.13/+esm", "ssg:https://cdn.jsdelivr.net/npm/fflate@0.8.2/+esm", "ssg:https://cdn.jsdelivr.net/npm/valibot@0.13.1/+esm"],
  "sourcesContent": ["import{jsx as _jsx}from\"react/jsx-runtime\";import{useRef,useCallback,useEffect}from\"react\";import{motion,addPropertyControls,ControlType,RenderTarget}from\"framer\";import{defaultEvents}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";import{useAutoMotionValue}from\"https://framer.com/m/framer/useAutoMotionValue.js@0.3.0\";import lottie from\"https://jspm.dev/lottie-web@5.7.8\";var SrcType;(function(SrcType){SrcType[\"File\"]=\"Upload\";SrcType[\"Url\"]=\"URL\";})(SrcType||(SrcType={}));var Poster;(function(Poster){Poster[\"Auto\"]=\"Auto\";Poster[\"Custom\"]=\"Custom\";})(Poster||(Poster={}));const placeholderUrl=\"https://misc.framerstatic.com/lottie/logo.json\";/**\n * LOTTIE\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 350\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export function Lottie(props){const{style,srcUrl,srcFile,srcType,poster,progress:progressRaw,playing,loop,posterProgress,pauseOnCanvas,isForwardsDirection,speed,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,onComplete}=props;const isOnCanvas=RenderTarget.current()===RenderTarget.canvas;const shouldPlay=(!pauseOnCanvas||!isOnCanvas)&&playing;const direction=isForwardsDirection?1:-1;const isCustomPoster=poster===\"Custom\";const el=useRef();const didInitialMount=useRef(false);const animationInfo=useRef({data:null,animation:null,duration:null});const progress=useAutoMotionValue(progressRaw,{transform:v=>v*.01});const play=()=>{var _animationInfo_current_animation,_animationInfo_current;return(_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:(_animationInfo_current_animation=_animationInfo_current.animation)===null||_animationInfo_current_animation===void 0?void 0:_animationInfo_current_animation.play();};const pause=()=>{var _animationInfo_current_animation,_animationInfo_current;return(_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:(_animationInfo_current_animation=_animationInfo_current.animation)===null||_animationInfo_current_animation===void 0?void 0:_animationInfo_current_animation.pause();};const destroy=()=>{var _animationInfo_current_animation,_animationInfo_current;return(_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:(_animationInfo_current_animation=_animationInfo_current.animation)===null||_animationInfo_current_animation===void 0?void 0:_animationInfo_current_animation.destroy();};const scrubTo=useCallback((normalizedProgress,shouldPlayAfter)=>{if(!animationInfo.current.duration||!animationInfo.current.animation)return;// Lottie gets weird when scrubbing to the exact last frame\nconst frameNumberTarget=normalizedProgress===1?animationInfo.current.duration-1:normalizedProgress*animationInfo.current.duration;if(shouldPlayAfter)animationInfo.current.animation.goToAndPlay(frameNumberTarget,true);else animationInfo.current.animation.goToAndStop(frameNumberTarget,true);},[]);const fetchLottieData=useCallback(async url=>{if(!url)return null;const data=await fetch(url,{method:\"GET\",credentials:\"omit\",redirect:\"follow\"}).then(d=>d.json());return data;},[]);// Fetch lottie animation & start setup\nconst init=useCallback(async()=>{// Clear current animation\ndestroy();let dataUrl;if(srcType===\"URL\")dataUrl=srcUrl;if(srcType===\"Upload\")dataUrl=srcFile;if(!dataUrl){console.warn(\"No valid Lottie animation provided\");dataUrl=placeholderUrl;}const data=await fetchLottieData(dataUrl);animationInfo.current.data=data;return setup(didInitialMount.current);},[srcType,srcUrl,srcFile]);// Create Lottie animation\nconst setup=useCallback(shouldPlayAfter=>{if(!el.current)return;destroy();const options={container:el.current,renderer:\"svg\",loop:loop,autoplay:shouldPlay,animationData:animationInfo.current.data,rendererSettings:{preserveAspectRatio:\"xMidYMid slice\"}};const anim=animationInfo.current.animation=lottie.loadAnimation(options);animationInfo.current.duration=anim.getDuration(true);anim.setDirection(direction);anim.setSpeed(speed);didInitialMount.current=true;if(isOnCanvas&&isCustomPoster)scrubTo(posterProgress,false);else scrubTo(progress.get(),shouldPlay||shouldPlayAfter);return()=>{anim.destroy();};},[loop,shouldPlay,speed,direction,isOnCanvas,isCustomPoster,posterProgress]);// Initial setup or re-init when source changes\nuseEffect(()=>{let cleanup;init().then(c=>cleanup=c);return()=>{if(cleanup)cleanup();};},[srcType,srcFile,srcUrl]);// No run-time option for loop option, recreating anim\nuseEffect(()=>{if(!didInitialMount.current)return;return setup(false);},[loop]);// Perf hack lets see if anyone notices\nuseEffect(()=>lottie.setQuality(isOnCanvas?\"low\":\"medium\"),[]);// useEffect(() => {\n//     if (!isOnCanvas) return\n//     const normalizedProgress = progress.get() * 0.01\n//     if (shouldPlay) scrubTo(normalizedProgress, true)\n//     else scrubTo(normalizedProgress, false)\n// }, [progressRaw, shouldPlay])\nuseEffect(()=>progress.onChange(val=>{if(isOnCanvas)return;if(shouldPlay)scrubTo(val,true);else scrubTo(val,false);}),[]);useEffect(()=>{const val=progress.get();if(shouldPlay)scrubTo(val,true);else scrubTo(val,false);},[progressRaw]);useEffect(()=>{if(!isOnCanvas)return;const normalizedPosterProgress=posterProgress*.01;if(isCustomPoster)scrubTo(normalizedPosterProgress,false);else scrubTo(progress.get(),false);},[isCustomPoster,posterProgress]);useEffect(()=>{var _animationInfo_current;if(!((_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:_animationInfo_current.animation))return;animationInfo.current.animation.setSpeed(speed);scrubTo(progress.get(),true);},[speed]);useEffect(()=>{var _animationInfo_current;if(!((_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:_animationInfo_current.animation))return;animationInfo.current.animation.setDirection(direction);scrubTo(progress.get(),true);},[direction]);useEffect(()=>{if(shouldPlay)play();else pause();},[shouldPlay]);return /*#__PURE__*/_jsx(motion.div,{ref:el,style:style,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp});}Lottie.defaultProps={height:200,width:200,srcType:\"URL\",pauseOnCanvas:true,srcUrl:placeholderUrl,progress:0,poster:\"Auto\",posterProgress:0};addPropertyControls(Lottie,{srcType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Source\",options:[\"URL\",\"Upload\"]},srcUrl:{type:ControlType.String,title:\"URL\",placeholder:\"../example.json\",hidden:props=>props.srcType===\"Upload\"},srcFile:{type:ControlType.File,title:\"File\",allowedFileTypes:[\"json\"],hidden:props=>props.srcType===\"URL\"},playing:{type:ControlType.Boolean,title:\"Playing\",enabledTitle:\"Yes\",disabledTitle:\"No\"},// Temporarily disabling for perf\npauseOnCanvas:{type:ControlType.Boolean,title:\"Canvas\",disabledTitle:\"Play\",enabledTitle:\"Pause\",hidden:props=>props.playing===false},loop:{type:ControlType.Boolean,title:\"Loop\",enabledTitle:\"Yes\",disabledTitle:\"No\"},isForwardsDirection:{title:\"Direction\",type:ControlType.Boolean,enabledTitle:\"Normal\",disabledTitle:\"Reverse\"},speed:{type:ControlType.Number,defaultValue:1,min:0,max:10,step:.5,displayStepper:true,unit:\"x\"},poster:{title:\"Poster\",type:ControlType.Enum,options:[\"Auto\",\"Custom\"],displaySegmentedControl:true},posterProgress:{title:\" \",type:ControlType.Number,max:100,min:0,unit:\"%\",hidden:({poster})=>poster===\"Auto\"},progress:{title:\"Progress\",type:ControlType.Number,max:100,min:0,unit:\"%\",description:\"This component is made for JSON files. [Learn more here](https://lottiefiles.com/what-is-lottie).\"},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"Lottie\":{\"type\":\"reactComponent\",\"name\":\"Lottie\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"350\",\"framerIntrinsicWidth\":\"200\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Lottie.map", "import{defaultEvents,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";import{useOnEnter,useOnExit}from\"https://framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js\";import{useConstant}from\"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";import{colorTokentoValue,colorFromToken}from\"https://framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js\";import{isMotionValue}from\"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";import{useUniqueClassName,randomID}from\"https://framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js\";import{getVariantControls}from\"https://framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js\";import{useIsBrowserSafari}from\"https://framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js\";import{useMultiOnChange,useOnChange}from\"https://framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js\";import{mstoMinAndSec,secondsToMinutes}from\"https://framerusercontent.com/modules/4zHZnO5JojN1PrIbu2jm/revv9QCWpkh8lPzi2jje/time.js\";import{useAutoMotionValue}from\"https://framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js\";import{useFontControls}from\"https://framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js\";import{useRenderTarget,useIsInPreview,useIsOnCanvas}from\"https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js\";import{useControlledState}from\"https://framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js\";import{usePadding,useRadius,paddingControl,borderRadiusControl}from\"https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js\";import{detectAutoSizingAxis}from\"https://framerusercontent.com/modules/8CkHAZatUz1UR8jNTcfD/HwbnIAZlUmQ2oTpcLkaH/detectAutoSizingAxis.js\";export{useOnEnter,useOnExit,defaultEvents,isMotionValue,colorFromToken,colorTokentoValue,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack,useUniqueClassName,getVariantControls,useIsBrowserSafari,randomID,useConstant,useMultiOnChange,useOnChange,usePadding,useRadius,paddingControl,borderRadiusControl,mstoMinAndSec,useFontControls,secondsToMinutes,useAutoMotionValue,useRenderTarget,useIsInPreview,useControlledState,detectAutoSizingAxis,useIsOnCanvas,};\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useUniqueClassName\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorFromToken\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useControlledState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useAutoMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsInPreview\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"detectAutoSizingAxis\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mstoMinAndSec\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnEnter\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"secondsToMinutes\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}", "import { ControlType } from \"framer\";\nexport const fontStack = `\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;\nexport const containerStyles = {\n    position: \"relative\",\n    width: \"100%\",\n    height: \"100%\",\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nexport const emptyStateStyle = {\n    ...containerStyles,\n    borderRadius: 6,\n    background: \"rgba(136, 85, 255, 0.3)\",\n    color: \"#85F\",\n    border: \"1px dashed #85F\",\n    flexDirection: \"column\"\n};\nexport const defaultEvents = {\n    onClick: {\n        type: ControlType.EventHandler\n    },\n    onMouseEnter: {\n        type: ControlType.EventHandler\n    },\n    onMouseLeave: {\n        type: ControlType.EventHandler\n    }\n};\nexport const fontSizeOptions = {\n    type: ControlType.Number,\n    title: \"Font Size\",\n    min: 2,\n    max: 200,\n    step: 1,\n    displayStepper: true\n};\nexport const fontControls = {\n    font: {\n        type: ControlType.Boolean,\n        title: \"Font\",\n        defaultValue: false,\n        disabledTitle: \"Default\",\n        enabledTitle: \"Custom\"\n    },\n    fontFamily: {\n        type: ControlType.String,\n        title: \"Family\",\n        placeholder: \"Inter\",\n        hidden: ({ font  })=>!font\n    },\n    fontWeight: {\n        type: ControlType.Enum,\n        title: \"Weight\",\n        options: [\n            100,\n            200,\n            300,\n            400,\n            500,\n            600,\n            700,\n            800,\n            900\n        ],\n        optionTitles: [\n            \"Thin\",\n            \"Extra-light\",\n            \"Light\",\n            \"Regular\",\n            \"Medium\",\n            \"Semi-bold\",\n            \"Bold\",\n            \"Extra-bold\",\n            \"Black\", \n        ],\n        hidden: ({ font  })=>!font\n    }\n};\n// @TODO check if we're missing anything here \u2014 there doesn't seem to be a reliable browser API for this\nexport const localeOptions = {\n    af: \"Afrikaans\",\n    sq: \"Albanian\",\n    an: \"Aragonese\",\n    ar: \"Arabic (Standard)\",\n    \"ar-dz\": \"Arabic (Algeria)\",\n    \"ar-bh\": \"Arabic (Bahrain)\",\n    \"ar-eg\": \"Arabic (Egypt)\",\n    \"ar-iq\": \"Arabic (Iraq)\",\n    \"ar-jo\": \"Arabic (Jordan)\",\n    \"ar-kw\": \"Arabic (Kuwait)\",\n    \"ar-lb\": \"Arabic (Lebanon)\",\n    \"ar-ly\": \"Arabic (Libya)\",\n    \"ar-ma\": \"Arabic (Morocco)\",\n    \"ar-om\": \"Arabic (Oman)\",\n    \"ar-qa\": \"Arabic (Qatar)\",\n    \"ar-sa\": \"Arabic (Saudi Arabia)\",\n    \"ar-sy\": \"Arabic (Syria)\",\n    \"ar-tn\": \"Arabic (Tunisia)\",\n    \"ar-ae\": \"Arabic (U.A.E.)\",\n    \"ar-ye\": \"Arabic (Yemen)\",\n    hy: \"Armenian\",\n    as: \"Assamese\",\n    ast: \"Asturian\",\n    az: \"Azerbaijani\",\n    eu: \"Basque\",\n    bg: \"Bulgarian\",\n    be: \"Belarusian\",\n    bn: \"Bengali\",\n    bs: \"Bosnian\",\n    br: \"Breton\",\n    my: \"Burmese\",\n    ca: \"Catalan\",\n    ch: \"Chamorro\",\n    ce: \"Chechen\",\n    zh: \"Chinese\",\n    \"zh-hk\": \"Chinese (Hong Kong)\",\n    \"zh-cn\": \"Chinese (PRC)\",\n    \"zh-sg\": \"Chinese (Singapore)\",\n    \"zh-tw\": \"Chinese (Taiwan)\",\n    cv: \"Chuvash\",\n    co: \"Corsican\",\n    cr: \"Cree\",\n    hr: \"Croatian\",\n    cs: \"Czech\",\n    da: \"Danish\",\n    nl: \"Dutch (Standard)\",\n    \"nl-be\": \"Dutch (Belgian)\",\n    en: \"English\",\n    \"en-au\": \"English (Australia)\",\n    \"en-bz\": \"English (Belize)\",\n    \"en-ca\": \"English (Canada)\",\n    \"en-ie\": \"English (Ireland)\",\n    \"en-jm\": \"English (Jamaica)\",\n    \"en-nz\": \"English (New Zealand)\",\n    \"en-ph\": \"English (Philippines)\",\n    \"en-za\": \"English (South Africa)\",\n    \"en-tt\": \"English (Trinidad & Tobago)\",\n    \"en-gb\": \"English (United Kingdom)\",\n    \"en-us\": \"English (United States)\",\n    \"en-zw\": \"English (Zimbabwe)\",\n    eo: \"Esperanto\",\n    et: \"Estonian\",\n    fo: \"Faeroese\",\n    fa: \"Farsi\",\n    fj: \"Fijian\",\n    fi: \"Finnish\",\n    fr: \"French (Standard)\",\n    \"fr-be\": \"French (Belgium)\",\n    \"fr-ca\": \"French (Canada)\",\n    \"fr-fr\": \"French (France)\",\n    \"fr-lu\": \"French (Luxembourg)\",\n    \"fr-mc\": \"French (Monaco)\",\n    \"fr-ch\": \"French (Switzerland)\",\n    fy: \"Frisian\",\n    fur: \"Friulian\",\n    gd: \"Gaelic (Scots)\",\n    \"gd-ie\": \"Gaelic (Irish)\",\n    gl: \"Galacian\",\n    ka: \"Georgian\",\n    de: \"German (Standard)\",\n    \"de-at\": \"German (Austria)\",\n    \"de-de\": \"German (Germany)\",\n    \"de-li\": \"German (Liechtenstein)\",\n    \"de-lu\": \"German (Luxembourg)\",\n    \"de-ch\": \"German (Switzerland)\",\n    el: \"Greek\",\n    gu: \"Gujurati\",\n    ht: \"Haitian\",\n    he: \"Hebrew\",\n    hi: \"Hindi\",\n    hu: \"Hungarian\",\n    is: \"Icelandic\",\n    id: \"Indonesian\",\n    iu: \"Inuktitut\",\n    ga: \"Irish\",\n    it: \"Italian (Standard)\",\n    \"it-ch\": \"Italian (Switzerland)\",\n    ja: \"Japanese\",\n    kn: \"Kannada\",\n    ks: \"Kashmiri\",\n    kk: \"Kazakh\",\n    km: \"Khmer\",\n    ky: \"Kirghiz\",\n    tlh: \"Klingon\",\n    ko: \"Korean\",\n    \"ko-kp\": \"Korean (North Korea)\",\n    \"ko-kr\": \"Korean (South Korea)\",\n    la: \"Latin\",\n    lv: \"Latvian\",\n    lt: \"Lithuanian\",\n    lb: \"Luxembourgish\",\n    mk: \"FYRO Macedonian\",\n    ms: \"Malay\",\n    ml: \"Malayalam\",\n    mt: \"Maltese\",\n    mi: \"Maori\",\n    mr: \"Marathi\",\n    mo: \"Moldavian\",\n    nv: \"Navajo\",\n    ng: \"Ndonga\",\n    ne: \"Nepali\",\n    no: \"Norwegian\",\n    nb: \"Norwegian (Bokmal)\",\n    nn: \"Norwegian (Nynorsk)\",\n    oc: \"Occitan\",\n    or: \"Oriya\",\n    om: \"Oromo\",\n    \"fa-ir\": \"Persian/Iran\",\n    pl: \"Polish\",\n    pt: \"Portuguese\",\n    \"pt-br\": \"Portuguese (Brazil)\",\n    pa: \"Punjabi\",\n    \"pa-in\": \"Punjabi (India)\",\n    \"pa-pk\": \"Punjabi (Pakistan)\",\n    qu: \"Quechua\",\n    rm: \"Rhaeto-Romanic\",\n    ro: \"Romanian\",\n    \"ro-mo\": \"Romanian (Moldavia)\",\n    ru: \"Russian\",\n    \"ru-mo\": \"Russian (Moldavia)\",\n    sz: \"Sami (Lappish)\",\n    sg: \"Sango\",\n    sa: \"Sanskrit\",\n    sc: \"Sardinian\",\n    sd: \"Sindhi\",\n    si: \"Singhalese\",\n    sr: \"Serbian\",\n    sk: \"Slovak\",\n    sl: \"Slovenian\",\n    so: \"Somani\",\n    sb: \"Sorbian\",\n    es: \"Spanish\",\n    \"es-ar\": \"Spanish (Argentina)\",\n    \"es-bo\": \"Spanish (Bolivia)\",\n    \"es-cl\": \"Spanish (Chile)\",\n    \"es-co\": \"Spanish (Colombia)\",\n    \"es-cr\": \"Spanish (Costa Rica)\",\n    \"es-do\": \"Spanish (Dominican Republic)\",\n    \"es-ec\": \"Spanish (Ecuador)\",\n    \"es-sv\": \"Spanish (El Salvador)\",\n    \"es-gt\": \"Spanish (Guatemala)\",\n    \"es-hn\": \"Spanish (Honduras)\",\n    \"es-mx\": \"Spanish (Mexico)\",\n    \"es-ni\": \"Spanish (Nicaragua)\",\n    \"es-pa\": \"Spanish (Panama)\",\n    \"es-py\": \"Spanish (Paraguay)\",\n    \"es-pe\": \"Spanish (Peru)\",\n    \"es-pr\": \"Spanish (Puerto Rico)\",\n    \"es-es\": \"Spanish (Spain)\",\n    \"es-uy\": \"Spanish (Uruguay)\",\n    \"es-ve\": \"Spanish (Venezuela)\",\n    sx: \"Sutu\",\n    sw: \"Swahili\",\n    sv: \"Swedish\",\n    \"sv-fi\": \"Swedish (Finland)\",\n    \"sv-sv\": \"Swedish (Sweden)\",\n    ta: \"Tamil\",\n    tt: \"Tatar\",\n    te: \"Teluga\",\n    th: \"Thai\",\n    tig: \"Tigre\",\n    ts: \"Tsonga\",\n    tn: \"Tswana\",\n    tr: \"Turkish\",\n    tk: \"Turkmen\",\n    uk: \"Ukrainian\",\n    hsb: \"Upper Sorbian\",\n    ur: \"Urdu\",\n    ve: \"Venda\",\n    vi: \"Vietnamese\",\n    vo: \"Volapuk\",\n    wa: \"Walloon\",\n    cy: \"Welsh\",\n    xh: \"Xhosa\",\n    ji: \"Yiddish\",\n    zu: \"Zulu\"\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./constants.map", "import { useIsInCurrentNavigationTarget } from \"framer\";\nimport { useEffect } from \"react\";\nexport function useOnEnter(onEnter, enabled) {\n    return useOnSpecificTargetChange(true, onEnter, enabled);\n}\nexport function useOnExit(onExit, enabled) {\n    return useOnSpecificTargetChange(false, onExit, enabled);\n}\nfunction useOnSpecificTargetChange(goal, callback, enabled = true) {\n    const isInTarget = useIsInCurrentNavigationTarget();\n    useEffect(()=>{\n        if (enabled && isInTarget === goal) callback();\n    }, [\n        isInTarget\n    ]);\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useOnEnter\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useOnNavigationTargetChange.map", "import { useRef } from \"react\";\n/**\n * Creates a constant value over the lifecycle of a component.\n *\n * Even if `useMemo` is provided an empty array as its final argument, it doesn't offer\n * a guarantee that it won't re-run for performance reasons later on. By using `useConstant`\n * you can ensure that initialisers don't execute twice or more.\n */ export function useConstant(init) {\n    const ref = useRef(null);\n    if (ref.current === null) {\n        ref.current = init();\n    }\n    return ref.current;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useConstant.map", "import { Color } from \"framer\";\nexport function colorFromToken(color) {\n    if (color.startsWith(\"var(--token-\")) return \"rgb\" + color.split(\") /*\")[0].split(\", rgb\")[1];\n    return color;\n}\nexport function colorTokentoValue(color) {\n    return Color(colorFromToken(color)).toValue();\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"colorFromToken\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./colorFromToken.map", "import { MotionValue } from \"framer\";\nexport const isMotionValue = (v)=>v instanceof MotionValue\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./isMotionValue.map", "import * as React from \"react\";\nconst letters = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\nconst l = ()=>letters[Math.floor(Math.random() * letters.length)]\n;\nexport const randomID = ()=>l() + l() + l() + l() + l() + l() + l() + l() + l()\n;\nfunction createUniqueClass(suffix) {\n    return `framer-${suffix}-${randomID()}`;\n}\nexport function useUniqueClassName(suffix, deps) {\n    const [className, setClassName] = React.useState(createUniqueClass(suffix));\n    React.useEffect(()=>{\n        setClassName(createUniqueClass(suffix));\n    }, [\n        suffix,\n        ...deps\n    ]);\n    return className;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useUniqueClassName\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useUniqueClassName.map", "import { ControlType } from \"framer\";\n// I realize this only applies to select right now\n// but we can work on it in here\nexport function getVariantControls(Component, variant, additionalControls = {\n}) {\n    return {\n        [`${variant}TextColor`]: {\n            type: ControlType.Color,\n            title: \"Text Color\",\n            defaultValue: Component.defaultProps[`${variant}TextColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}IconColor`]: {\n            type: ControlType.Color,\n            title: \"Icon Color\",\n            defaultValue: Component.defaultProps[`${variant}IconColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BackgroundColor`]: {\n            type: ControlType.Color,\n            title: \"Bg Color\",\n            defaultValue: Component.defaultProps[`${variant}BackgroundColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BorderColor`]: {\n            type: ControlType.Color,\n            title: \"Border Color\",\n            defaultValue: Component.defaultProps[`${variant}BorderColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BorderWidth`]: {\n            type: ControlType.Number,\n            title: \" \",\n            min: 0,\n            max: 5,\n            displayStepper: true,\n            defaultValue: Component.defaultProps[`${variant}BorderWidth`],\n            hidden: (props)=>props.variant !== variant\n        },\n        ...additionalControls\n    };\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"getVariantControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./variantUtils.map", "import { useMemo } from \"react\";\nexport const isBrowserSafari = ()=>{\n    if (typeof navigator !== `undefined`) {\n        const userAgent = navigator.userAgent.toLowerCase();\n        const isSafari = (userAgent.indexOf(\"safari\") > -1 || userAgent.indexOf(\"framermobile\") > -1 || userAgent.indexOf(\"framerx\") > -1) && userAgent.indexOf(\"chrome\") < 0;\n        return isSafari;\n    } else return false;\n};\nexport const useIsBrowserSafari = ()=>useMemo(()=>isBrowserSafari()\n    , [])\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./isBrowser.map", "import { useEffect } from \"react\";\n//@ts-ignore\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\nexport function useOnChange(value, callback) {\n    useEffect(()=>// @ts-ignore this should be detected as a MV :shrug:\n        isMotionValue(value) ? value.onChange(callback) : undefined\n    );\n}\nexport function useMultiOnChange(values, handler) {\n    useEffect(()=>{\n        const subscriptions = values.map((value)=>value.onChange(handler)\n        );\n        return ()=>subscriptions.forEach((unsubscribe)=>unsubscribe()\n            )\n        ;\n    });\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"Subscriber\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useOnChange.map", "export function mstoMinAndSec(millis) {\n    const minutes = Math.floor(millis / 60000);\n    const seconds = parseInt((millis % 60000 / 1000).toFixed(0));\n    return minutes + \":\" + (seconds < 10 ? \"0\" : \"\") + seconds;\n}\nexport function secondsToMinutes(seconds) {\n    const minutes = Math.floor(seconds / 60);\n    const s = Math.floor(seconds % 60);\n    return minutes + \":\" + (s < 10 ? \"0\" : \"\") + s;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"mstoMinAndSec\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"secondsToMinutes\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./time.map", "import { useCallback, useEffect, useRef } from \"react\";\nimport { motionValue, animate, RenderTarget } from \"framer\";\n// @ts-ignore\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\n// @ts-ignore\nimport { useConstant } from \"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";\nexport function useAutoMotionValue(inputValue, options) {\n    var ref;\n    // Put options on a local ref\n    // Might wanna just memo instead but it works for now\n    const optionsRef = useRef(options);\n    const animation = useRef();\n    const didInitialMount = useRef(false);\n    const isOnCanvas = RenderTarget.current() === RenderTarget.canvas;\n    // in-progress - trying to figure out effect hooks\n    const onChangeDeps = (options === null || options === void 0 ? void 0 : options.onChangeDeps) ? options.onChangeDeps : [];\n    // Memoize the onChange handler\n    const onChange = useCallback(options === null || options === void 0 ? void 0 : options.onChange, [\n        ...onChangeDeps, \n    ]);\n    // Optionally scale the value from props\n    const transformer = useCallback((value)=>((ref = optionsRef.current) === null || ref === void 0 ? void 0 : ref.transform) ? optionsRef.current.transform(value) : value\n    , []);\n    // Create new MotionValue from inputValue\n    const value = useConstant(()=>isMotionValue(inputValue) ? inputValue : motionValue(transformer(inputValue))\n    );\n    // Setting value from prop change\n    useEffect(()=>{\n        if (!isMotionValue(inputValue) && didInitialMount.current) {\n            var ref1, ref2;\n            const newValue = transformer(inputValue);\n            (ref1 = animation.current) === null || ref1 === void 0 ? void 0 : ref1.stop();\n            // Call change callback\n            if (onChange) onChange(newValue, value);\n            // Trigger animation to new value\n            if (((ref2 = optionsRef.current) === null || ref2 === void 0 ? void 0 : ref2.animate) && !isOnCanvas) {\n                var ref3;\n                // @ts-ignore\n                animation.current = animate(value, newValue, (ref3 = optionsRef.current) === null || ref3 === void 0 ? void 0 : ref3.transition);\n            } else {\n                value.set(newValue);\n            }\n        }\n        didInitialMount.current = true;\n    }, [\n        inputValue,\n        ...onChangeDeps\n    ]);\n    return value;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useAutoMotionValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}", "// @ts-ignore\nimport{fontStore}from\"framer\";import{useEffect}from\"react\";import{fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";const fontWeights={100:\"Thin\",200:\"Extra-light\",300:\"Light\",400:\"Regular\",500:\"Medium\",600:\"Semi-bold\",700:\"Bold\",800:\"Extra-bold\",900:\"Black\"};export function useFontControls(props){const{fontFamily=\"Inter\",fontSize=16,fontWeight=400,font=false}=props;const fontWeightName=fontWeights[fontWeight];const customFontStack=`\"${fontFamily} ${fontWeightName}\", \"${fontFamily}\", ${fontStack}`;const fontFamilyStyle=fontFamily?{fontSize,fontWeight,fontFamily:customFontStack}:{fontSize,fontWeight};const fetchCustomFonts=async()=>{await fontStore.loadWebFontsFromSelectors([`CUSTOM;${fontFamily}`,`CUSTOM;${fontFamily} ${fontWeightName}`,`GF;${fontFamily}-${fontWeightName.toLowerCase()}`,]).catch(e=>console.error(e));};useEffect(()=>{if(font)fetchCustomFonts();},[font,fontFamily,fontWeight]);return fontFamilyStyle;}\nexport const __FramerMetadata__ = {\"exports\":{\"useFontControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useFontControls.map", "import { useMemo } from \"react\";\nimport { RenderTarget } from \"framer\";\nexport function useRenderTarget() {\n    const currentRenderTarget = useMemo(()=>RenderTarget.current()\n    , []);\n    return currentRenderTarget;\n}\nexport function useIsInPreview() {\n    const inPreview = useMemo(()=>RenderTarget.current() === RenderTarget.preview\n    , []);\n    return inPreview;\n}\nexport function useIsOnCanvas() {\n    const onCanvas = useMemo(()=>RenderTarget.current() === RenderTarget.canvas\n    , []);\n    return onCanvas;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsInPreview\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useRenderTarget.map", "import * as React from \"react\";\nexport function useControlledState(value) {\n    const [controlledValue, setValue] = React.useState(value);\n    React.useEffect(()=>{\n        setValue(value);\n    }, [\n        value\n    ]);\n    return [\n        controlledValue,\n        setValue\n    ];\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useControlledState\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useControlledState.map", "import { useMemo } from \"react\";\nimport { ControlType } from \"framer\";\nexport function useRadius(props) {\n    const { borderRadius , isMixedBorderRadius , topLeftRadius , topRightRadius , bottomRightRadius , bottomLeftRadius ,  } = props;\n    const radiusValue = useMemo(()=>isMixedBorderRadius ? `${topLeftRadius}px ${topRightRadius}px ${bottomRightRadius}px ${bottomLeftRadius}px` : `${borderRadius}px`\n    , [\n        borderRadius,\n        isMixedBorderRadius,\n        topLeftRadius,\n        topRightRadius,\n        bottomRightRadius,\n        bottomLeftRadius, \n    ]);\n    return radiusValue;\n}\nexport const borderRadiusControl = {\n    borderRadius: {\n        title: \"Radius\",\n        type: ControlType.FusedNumber,\n        toggleKey: \"isMixedBorderRadius\",\n        toggleTitles: [\n            \"Radius\",\n            \"Radius per corner\"\n        ],\n        valueKeys: [\n            \"topLeftRadius\",\n            \"topRightRadius\",\n            \"bottomRightRadius\",\n            \"bottomLeftRadius\", \n        ],\n        valueLabels: [\n            \"TL\",\n            \"TR\",\n            \"BR\",\n            \"BL\"\n        ],\n        min: 0\n    }\n};\nexport function usePadding(props) {\n    const { padding , paddingPerSide , paddingTop , paddingRight , paddingBottom , paddingLeft ,  } = props;\n    const paddingValue = useMemo(()=>paddingPerSide ? `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px` : padding\n    , [\n        padding,\n        paddingPerSide,\n        paddingTop,\n        paddingRight,\n        paddingBottom,\n        paddingLeft, \n    ]);\n    return paddingValue;\n}\nexport const paddingControl = {\n    padding: {\n        type: ControlType.FusedNumber,\n        toggleKey: \"paddingPerSide\",\n        toggleTitles: [\n            \"Padding\",\n            \"Padding per side\"\n        ],\n        valueKeys: [\n            \"paddingTop\",\n            \"paddingRight\",\n            \"paddingBottom\",\n            \"paddingLeft\", \n        ],\n        valueLabels: [\n            \"T\",\n            \"R\",\n            \"B\",\n            \"L\"\n        ],\n        min: 0,\n        title: \"Padding\"\n    }\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RadiusProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PaddingProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./propUtils.map", "export function detectAutoSizingAxis(props) {\n    var ref, ref1;\n    return {\n        width: ((ref = props.style) === null || ref === void 0 ? void 0 : ref.width) !== \"100%\",\n        height: ((ref1 = props.style) === null || ref1 === void 0 ? void 0 : ref1.height) !== \"100%\"\n    };\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"detectAutoSizingAxis\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./detectAutoSizingAxis.map", "import{useCallback,useEffect,useRef}from\"react\";import{motionValue,animate,RenderTarget}from\"framer\";import{isMotionValue}from\"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/TbXI1XaZFNevVKcgIt7G/isMotionValue.js\";import{useConstant}from\"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";export function useAutoMotionValue(inputValue,options){// Put options on a local ref\n// Might wanna just memo instead but it works for now\nconst optionsRef=useRef(options);const animation=useRef();const didInitialMount=useRef(false);const isOnCanvas=RenderTarget.current()===RenderTarget.canvas;// in-progress - trying to figure out effect hooks\nconst onChangeDeps=(options===null||options===void 0?void 0:options.onChangeDeps)?options.onChangeDeps:[];// Memoize the onChange handler\nconst onChange=useCallback(options===null||options===void 0?void 0:options.onChange,[...onChangeDeps,]);// Optionally scale the value from props\nconst transformer=useCallback(value=>{var ref;return((ref=optionsRef.current)===null||ref===void 0?void 0:ref.transform)?optionsRef.current.transform(value):value;},[]);// Create new MotionValue from inputValue\nconst value1=useConstant(()=>isMotionValue(inputValue)?inputValue:motionValue(transformer(inputValue)));// Setting value from prop change\nuseEffect(()=>{if(!isMotionValue(inputValue)&&didInitialMount.current){var ref,ref1;const newValue=transformer(inputValue);(ref=animation.current)===null||ref===void 0?void 0:ref.stop();// Call change callback\nif(onChange)onChange(newValue,value1);// Trigger animation to new value\nif(((ref1=optionsRef.current)===null||ref1===void 0?void 0:ref1.animate)&&!isOnCanvas){var ref2;// @ts-ignore\nanimation.current=animate(value1,newValue,(ref2=optionsRef.current)===null||ref2===void 0?void 0:ref2.transition);}else{value1.set(newValue);}}didInitialMount.current=true;},[inputValue,...onChangeDeps]);return value1;}\nexport const __FramerMetadata__ = {\"exports\":{\"useAutoMotionValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useAutoMotionValue.map", "import{MotionValue}from\"framer\";// Basic MotionValue check\nexport const isMotionValue=v=>v instanceof MotionValue;\nexport const __FramerMetadata__ = {\"exports\":{\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./isMotionValue.map", "export { default } from \"/npm:lottie-web@5.7.8!cjs\";\n", "var _global = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : global;\n\nvar exports = {};\ntypeof navigator !== \"undefined\" && function (root, factory) {\n  if (exports) {\n    exports = factory(root);\n  } else {\n    root.lottie = factory(root);\n    root.bodymovin = root.lottie;\n  }\n}(window || {}, function (window) {\n  /* global locationHref:writable, animationManager, subframeEnabled:writable, defaultCurveSegments:writable, roundValues,\r\n  expressionsPlugin:writable, PropertyFactory, ShapePropertyFactory, Matrix */\n\n  /* exported locationHref, subframeEnabled, expressionsPlugin */\n  'use strict';\n  /* exported svgNS, locationHref, initialDefaultFrame */\n\n  var svgNS = \"http://www.w3.org/2000/svg\";\n  var locationHref = \"\";\n  var initialDefaultFrame = -999999;\n  /* global createSizedArray */\n\n  /* exported subframeEnabled, expressionsPlugin, isSafari, cachedColors, bmPow, bmSqrt, bmFloor, bmMax, bmMin, ProjectInterface,\r\n  defaultCurveSegments, degToRads, roundCorner, bmRnd, styleDiv, BMEnterFrameEvent, BMCompleteEvent, BMCompleteLoopEvent,\r\n  BMSegmentStartEvent, BMDestroyEvent, BMRenderFrameErrorEvent, BMConfigErrorEvent, BMAnimationConfigErrorEvent, createElementID,\r\n  addSaturationToRGB, addBrightnessToRGB, addHueToRGB, rgbToHex */\n\n  var subframeEnabled = true;\n  var expressionsPlugin;\n  var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n  var cachedColors = {};\n  var bmRnd;\n  var bmPow = Math.pow;\n  var bmSqrt = Math.sqrt;\n  var bmFloor = Math.floor;\n  var bmMax = Math.max;\n  var bmMin = Math.min;\n  var BMMath = {};\n\n  (function () {\n    var propertyNames = [\"abs\", \"acos\", \"acosh\", \"asin\", \"asinh\", \"atan\", \"atanh\", \"atan2\", \"ceil\", \"cbrt\", \"expm1\", \"clz32\", \"cos\", \"cosh\", \"exp\", \"floor\", \"fround\", \"hypot\", \"imul\", \"log\", \"log1p\", \"log2\", \"log10\", \"max\", \"min\", \"pow\", \"random\", \"round\", \"sign\", \"sin\", \"sinh\", \"sqrt\", \"tan\", \"tanh\", \"trunc\", \"E\", \"LN10\", \"LN2\", \"LOG10E\", \"LOG2E\", \"PI\", \"SQRT1_2\", \"SQRT2\"];\n    var i;\n    var len = propertyNames.length;\n\n    for (i = 0; i < len; i += 1) {\n      BMMath[propertyNames[i]] = Math[propertyNames[i]];\n    }\n  })();\n\n  function ProjectInterface() {\n    return {};\n  }\n\n  BMMath.random = Math.random;\n\n  BMMath.abs = function (val) {\n    var tOfVal = typeof val;\n\n    if (tOfVal === \"object\" && val.length) {\n      var absArr = createSizedArray(val.length);\n      var i;\n      var len = val.length;\n\n      for (i = 0; i < len; i += 1) {\n        absArr[i] = Math.abs(val[i]);\n      }\n\n      return absArr;\n    }\n\n    return Math.abs(val);\n  };\n\n  var defaultCurveSegments = 150;\n  var degToRads = Math.PI / 180;\n  var roundCorner = 0.5519;\n\n  function roundValues(flag) {\n    if (flag) {\n      bmRnd = Math.round;\n    } else {\n      bmRnd = function (val) {\n        return val;\n      };\n    }\n  }\n\n  roundValues(false);\n\n  function styleDiv(element) {\n    element.style.position = \"absolute\";\n    element.style.top = 0;\n    element.style.left = 0;\n    element.style.display = \"block\";\n    element.style.transformOrigin = \"0 0\";\n    element.style.webkitTransformOrigin = \"0 0\";\n    element.style.backfaceVisibility = \"visible\";\n    element.style.webkitBackfaceVisibility = \"visible\";\n    element.style.transformStyle = \"preserve-3d\";\n    element.style.webkitTransformStyle = \"preserve-3d\";\n    element.style.mozTransformStyle = \"preserve-3d\";\n  }\n\n  function BMEnterFrameEvent(type, currentTime, totalTime, frameMultiplier) {\n    (this || _global).type = type;\n    (this || _global).currentTime = currentTime;\n    (this || _global).totalTime = totalTime;\n    (this || _global).direction = frameMultiplier < 0 ? -1 : 1;\n  }\n\n  function BMCompleteEvent(type, frameMultiplier) {\n    (this || _global).type = type;\n    (this || _global).direction = frameMultiplier < 0 ? -1 : 1;\n  }\n\n  function BMCompleteLoopEvent(type, totalLoops, currentLoop, frameMultiplier) {\n    (this || _global).type = type;\n    (this || _global).currentLoop = currentLoop;\n    (this || _global).totalLoops = totalLoops;\n    (this || _global).direction = frameMultiplier < 0 ? -1 : 1;\n  }\n\n  function BMSegmentStartEvent(type, firstFrame, totalFrames) {\n    (this || _global).type = type;\n    (this || _global).firstFrame = firstFrame;\n    (this || _global).totalFrames = totalFrames;\n  }\n\n  function BMDestroyEvent(type, target) {\n    (this || _global).type = type;\n    (this || _global).target = target;\n  }\n\n  function BMRenderFrameErrorEvent(nativeError, currentTime) {\n    (this || _global).type = \"renderFrameError\";\n    (this || _global).nativeError = nativeError;\n    (this || _global).currentTime = currentTime;\n  }\n\n  function BMConfigErrorEvent(nativeError) {\n    (this || _global).type = \"configError\";\n    (this || _global).nativeError = nativeError;\n  }\n\n  function BMAnimationConfigErrorEvent(type, nativeError) {\n    (this || _global).type = type;\n    (this || _global).nativeError = nativeError;\n  }\n\n  var createElementID = function () {\n    var _count = 0;\n    return function createID() {\n      _count += 1;\n      return \"__lottie_element_\" + _count;\n    };\n  }();\n\n  function HSVtoRGB(h, s, v) {\n    var r;\n    var g;\n    var b;\n    var i;\n    var f;\n    var p;\n    var q;\n    var t;\n    i = Math.floor(h * 6);\n    f = h * 6 - i;\n    p = v * (1 - s);\n    q = v * (1 - f * s);\n    t = v * (1 - (1 - f) * s);\n\n    switch (i % 6) {\n      case 0:\n        r = v;\n        g = t;\n        b = p;\n        break;\n\n      case 1:\n        r = q;\n        g = v;\n        b = p;\n        break;\n\n      case 2:\n        r = p;\n        g = v;\n        b = t;\n        break;\n\n      case 3:\n        r = p;\n        g = q;\n        b = v;\n        break;\n\n      case 4:\n        r = t;\n        g = p;\n        b = v;\n        break;\n\n      case 5:\n        r = v;\n        g = p;\n        b = q;\n        break;\n\n      default:\n        break;\n    }\n\n    return [r, g, b];\n  }\n\n  function RGBtoHSV(r, g, b) {\n    var max = Math.max(r, g, b);\n    var min = Math.min(r, g, b);\n    var d = max - min;\n    var h;\n    var s = max === 0 ? 0 : d / max;\n    var v = max / 255;\n\n    switch (max) {\n      case min:\n        h = 0;\n        break;\n\n      case r:\n        h = g - b + d * (g < b ? 6 : 0);\n        h /= 6 * d;\n        break;\n\n      case g:\n        h = b - r + d * 2;\n        h /= 6 * d;\n        break;\n\n      case b:\n        h = r - g + d * 4;\n        h /= 6 * d;\n        break;\n\n      default:\n        break;\n    }\n\n    return [h, s, v];\n  }\n\n  function addSaturationToRGB(color, offset) {\n    var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n    hsv[1] += offset;\n\n    if (hsv[1] > 1) {\n      hsv[1] = 1;\n    } else if (hsv[1] <= 0) {\n      hsv[1] = 0;\n    }\n\n    return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n  }\n\n  function addBrightnessToRGB(color, offset) {\n    var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n    hsv[2] += offset;\n\n    if (hsv[2] > 1) {\n      hsv[2] = 1;\n    } else if (hsv[2] < 0) {\n      hsv[2] = 0;\n    }\n\n    return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n  }\n\n  function addHueToRGB(color, offset) {\n    var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n    hsv[0] += offset / 360;\n\n    if (hsv[0] > 1) {\n      hsv[0] -= 1;\n    } else if (hsv[0] < 0) {\n      hsv[0] += 1;\n    }\n\n    return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n  }\n\n  var rgbToHex = function () {\n    var colorMap = [];\n    var i;\n    var hex;\n\n    for (i = 0; i < 256; i += 1) {\n      hex = i.toString(16);\n      colorMap[i] = hex.length === 1 ? \"0\" + hex : hex;\n    }\n\n    return function (r, g, b) {\n      if (r < 0) {\n        r = 0;\n      }\n\n      if (g < 0) {\n        g = 0;\n      }\n\n      if (b < 0) {\n        b = 0;\n      }\n\n      return \"#\" + colorMap[r] + colorMap[g] + colorMap[b];\n    };\n  }();\n\n  function BaseEvent() {}\n\n  BaseEvent.prototype = {\n    triggerEvent: function (eventName, args) {\n      if ((this || _global)._cbs[eventName]) {\n        var len = (this || _global)._cbs[eventName].length;\n\n        for (var i = 0; i < len; i += 1) {\n          (this || _global)._cbs[eventName][i](args);\n        }\n      }\n    },\n    addEventListener: function (eventName, callback) {\n      if (!(this || _global)._cbs[eventName]) {\n        (this || _global)._cbs[eventName] = [];\n      }\n\n      (this || _global)._cbs[eventName].push(callback);\n\n      return function () {\n        this.removeEventListener(eventName, callback);\n      }.bind(this || _global);\n    },\n    removeEventListener: function (eventName, callback) {\n      if (!callback) {\n        (this || _global)._cbs[eventName] = null;\n      } else if ((this || _global)._cbs[eventName]) {\n        var i = 0;\n        var len = (this || _global)._cbs[eventName].length;\n\n        while (i < len) {\n          if ((this || _global)._cbs[eventName][i] === callback) {\n            (this || _global)._cbs[eventName].splice(i, 1);\n\n            i -= 1;\n            len -= 1;\n          }\n\n          i += 1;\n        }\n\n        if (!(this || _global)._cbs[eventName].length) {\n          (this || _global)._cbs[eventName] = null;\n        }\n      }\n    }\n  };\n  /* exported createTypedArray, createSizedArray */\n\n  var createTypedArray = function () {\n    function createRegularArray(type, len) {\n      var i = 0;\n      var arr = [];\n      var value;\n\n      switch (type) {\n        case \"int16\":\n        case \"uint8c\":\n          value = 1;\n          break;\n\n        default:\n          value = 1.1;\n          break;\n      }\n\n      for (i = 0; i < len; i += 1) {\n        arr.push(value);\n      }\n\n      return arr;\n    }\n\n    function createTypedArrayFactory(type, len) {\n      if (type === \"float32\") {\n        return new Float32Array(len);\n      }\n\n      if (type === \"int16\") {\n        return new Int16Array(len);\n      }\n\n      if (type === \"uint8c\") {\n        return new Uint8ClampedArray(len);\n      }\n\n      return createRegularArray(type, len);\n    }\n\n    if (typeof Uint8ClampedArray === \"function\" && typeof Float32Array === \"function\") {\n      return createTypedArrayFactory;\n    }\n\n    return createRegularArray;\n  }();\n\n  function createSizedArray(len) {\n    return Array.apply(null, {\n      length: len\n    });\n  }\n  /* global svgNS */\n\n  /* exported createNS */\n\n\n  function createNS(type) {\n    // return {appendChild:function(){},setAttribute:function(){},style:{}}\n    return document.createElementNS(svgNS, type);\n  }\n  /* exported createTag */\n\n\n  function createTag(type) {\n    // return {appendChild:function(){},setAttribute:function(){},style:{}}\n    return document.createElement(type);\n  }\n\n  function DynamicPropertyContainer() {}\n\n  DynamicPropertyContainer.prototype = {\n    addDynamicProperty: function (prop) {\n      if ((this || _global).dynamicProperties.indexOf(prop) === -1) {\n        (this || _global).dynamicProperties.push(prop);\n\n        (this || _global).container.addDynamicProperty(this || _global);\n\n        (this || _global)._isAnimated = true;\n      }\n    },\n    iterateDynamicProperties: function () {\n      (this || _global)._mdf = false;\n      var i;\n      var len = (this || _global).dynamicProperties.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).dynamicProperties[i].getValue();\n\n        if ((this || _global).dynamicProperties[i]._mdf) {\n          (this || _global)._mdf = true;\n        }\n      }\n    },\n    initDynamicPropertyContainer: function (container) {\n      (this || _global).container = container;\n      (this || _global).dynamicProperties = [];\n      (this || _global)._mdf = false;\n      (this || _global)._isAnimated = false;\n    }\n  };\n  /* exported getBlendMode */\n\n  var getBlendMode = function () {\n    var blendModeEnums = {\n      0: \"source-over\",\n      1: \"multiply\",\n      2: \"screen\",\n      3: \"overlay\",\n      4: \"darken\",\n      5: \"lighten\",\n      6: \"color-dodge\",\n      7: \"color-burn\",\n      8: \"hard-light\",\n      9: \"soft-light\",\n      10: \"difference\",\n      11: \"exclusion\",\n      12: \"hue\",\n      13: \"saturation\",\n      14: \"color\",\n      15: \"luminosity\"\n    };\n    return function (mode) {\n      return blendModeEnums[mode] || \"\";\n    };\n  }();\n  /* global createTypedArray */\n\n  /*!\r\n   Transformation Matrix v2.0\r\n   (c) Epistemex 2014-2015\r\n   www.epistemex.com\r\n   By Ken Fyrstenberg\r\n   Contributions by leeoniya.\r\n   License: MIT, header required.\r\n   */\n\n  /**\r\n   * 2D transformation matrix object initialized with identity matrix.\r\n   *\r\n   * The matrix can synchronize a canvas context by supplying the context\r\n   * as an argument, or later apply current absolute transform to an\r\n   * existing context.\r\n   *\r\n   * All values are handled as floating point values.\r\n   *\r\n   * @param {CanvasRenderingContext2D} [context] - Optional context to sync with Matrix\r\n   * @prop {number} a - scale x\r\n   * @prop {number} b - shear y\r\n   * @prop {number} c - shear x\r\n   * @prop {number} d - scale y\r\n   * @prop {number} e - translate x\r\n   * @prop {number} f - translate y\r\n   * @prop {CanvasRenderingContext2D|null} [context=null] - set or get current canvas context\r\n   * @constructor\r\n   */\n\n\n  var Matrix = function () {\n    var _cos = Math.cos;\n    var _sin = Math.sin;\n    var _tan = Math.tan;\n    var _rnd = Math.round;\n\n    function reset() {\n      (this || _global).props[0] = 1;\n      (this || _global).props[1] = 0;\n      (this || _global).props[2] = 0;\n      (this || _global).props[3] = 0;\n      (this || _global).props[4] = 0;\n      (this || _global).props[5] = 1;\n      (this || _global).props[6] = 0;\n      (this || _global).props[7] = 0;\n      (this || _global).props[8] = 0;\n      (this || _global).props[9] = 0;\n      (this || _global).props[10] = 1;\n      (this || _global).props[11] = 0;\n      (this || _global).props[12] = 0;\n      (this || _global).props[13] = 0;\n      (this || _global).props[14] = 0;\n      (this || _global).props[15] = 1;\n      return this || _global;\n    }\n\n    function rotate(angle) {\n      if (angle === 0) {\n        return this || _global;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n    }\n\n    function rotateX(angle) {\n      if (angle === 0) {\n        return this || _global;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(1, 0, 0, 0, 0, mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1);\n    }\n\n    function rotateY(angle) {\n      if (angle === 0) {\n        return this || _global;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, 0, mSin, 0, 0, 1, 0, 0, -mSin, 0, mCos, 0, 0, 0, 0, 1);\n    }\n\n    function rotateZ(angle) {\n      if (angle === 0) {\n        return this || _global;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n    }\n\n    function shear(sx, sy) {\n      return this._t(1, sy, sx, 1, 0, 0);\n    }\n\n    function skew(ax, ay) {\n      return this.shear(_tan(ax), _tan(ay));\n    }\n\n    function skewFromAxis(ax, angle) {\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, mSin, 0, 0, -mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(1, 0, 0, 0, _tan(ax), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); // return this._t(mCos, mSin, -mSin, mCos, 0, 0)._t(1, 0, _tan(ax), 1, 0, 0)._t(mCos, -mSin, mSin, mCos, 0, 0);\n    }\n\n    function scale(sx, sy, sz) {\n      if (!sz && sz !== 0) {\n        sz = 1;\n      }\n\n      if (sx === 1 && sy === 1 && sz === 1) {\n        return this || _global;\n      }\n\n      return this._t(sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1);\n    }\n\n    function setTransform(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) {\n      (this || _global).props[0] = a;\n      (this || _global).props[1] = b;\n      (this || _global).props[2] = c;\n      (this || _global).props[3] = d;\n      (this || _global).props[4] = e;\n      (this || _global).props[5] = f;\n      (this || _global).props[6] = g;\n      (this || _global).props[7] = h;\n      (this || _global).props[8] = i;\n      (this || _global).props[9] = j;\n      (this || _global).props[10] = k;\n      (this || _global).props[11] = l;\n      (this || _global).props[12] = m;\n      (this || _global).props[13] = n;\n      (this || _global).props[14] = o;\n      (this || _global).props[15] = p;\n      return this || _global;\n    }\n\n    function translate(tx, ty, tz) {\n      tz = tz || 0;\n\n      if (tx !== 0 || ty !== 0 || tz !== 0) {\n        return this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, tx, ty, tz, 1);\n      }\n\n      return this || _global;\n    }\n\n    function transform(a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2, n2, o2, p2) {\n      var _p = (this || _global).props;\n\n      if (a2 === 1 && b2 === 0 && c2 === 0 && d2 === 0 && e2 === 0 && f2 === 1 && g2 === 0 && h2 === 0 && i2 === 0 && j2 === 0 && k2 === 1 && l2 === 0) {\n        // NOTE: commenting this condition because TurboFan deoptimizes code when present\n        // if(m2 !== 0 || n2 !== 0 || o2 !== 0){\n        _p[12] = _p[12] * a2 + _p[15] * m2;\n        _p[13] = _p[13] * f2 + _p[15] * n2;\n        _p[14] = _p[14] * k2 + _p[15] * o2;\n        _p[15] *= p2; // }\n\n        (this || _global)._identityCalculated = false;\n        return this || _global;\n      }\n\n      var a1 = _p[0];\n      var b1 = _p[1];\n      var c1 = _p[2];\n      var d1 = _p[3];\n      var e1 = _p[4];\n      var f1 = _p[5];\n      var g1 = _p[6];\n      var h1 = _p[7];\n      var i1 = _p[8];\n      var j1 = _p[9];\n      var k1 = _p[10];\n      var l1 = _p[11];\n      var m1 = _p[12];\n      var n1 = _p[13];\n      var o1 = _p[14];\n      var p1 = _p[15];\n      /* matrix order (canvas compatible):\r\n           * ace\r\n           * bdf\r\n           * 001\r\n           */\n\n      _p[0] = a1 * a2 + b1 * e2 + c1 * i2 + d1 * m2;\n      _p[1] = a1 * b2 + b1 * f2 + c1 * j2 + d1 * n2;\n      _p[2] = a1 * c2 + b1 * g2 + c1 * k2 + d1 * o2;\n      _p[3] = a1 * d2 + b1 * h2 + c1 * l2 + d1 * p2;\n      _p[4] = e1 * a2 + f1 * e2 + g1 * i2 + h1 * m2;\n      _p[5] = e1 * b2 + f1 * f2 + g1 * j2 + h1 * n2;\n      _p[6] = e1 * c2 + f1 * g2 + g1 * k2 + h1 * o2;\n      _p[7] = e1 * d2 + f1 * h2 + g1 * l2 + h1 * p2;\n      _p[8] = i1 * a2 + j1 * e2 + k1 * i2 + l1 * m2;\n      _p[9] = i1 * b2 + j1 * f2 + k1 * j2 + l1 * n2;\n      _p[10] = i1 * c2 + j1 * g2 + k1 * k2 + l1 * o2;\n      _p[11] = i1 * d2 + j1 * h2 + k1 * l2 + l1 * p2;\n      _p[12] = m1 * a2 + n1 * e2 + o1 * i2 + p1 * m2;\n      _p[13] = m1 * b2 + n1 * f2 + o1 * j2 + p1 * n2;\n      _p[14] = m1 * c2 + n1 * g2 + o1 * k2 + p1 * o2;\n      _p[15] = m1 * d2 + n1 * h2 + o1 * l2 + p1 * p2;\n      (this || _global)._identityCalculated = false;\n      return this || _global;\n    }\n\n    function isIdentity() {\n      if (!(this || _global)._identityCalculated) {\n        (this || _global)._identity = !((this || _global).props[0] !== 1 || (this || _global).props[1] !== 0 || (this || _global).props[2] !== 0 || (this || _global).props[3] !== 0 || (this || _global).props[4] !== 0 || (this || _global).props[5] !== 1 || (this || _global).props[6] !== 0 || (this || _global).props[7] !== 0 || (this || _global).props[8] !== 0 || (this || _global).props[9] !== 0 || (this || _global).props[10] !== 1 || (this || _global).props[11] !== 0 || (this || _global).props[12] !== 0 || (this || _global).props[13] !== 0 || (this || _global).props[14] !== 0 || (this || _global).props[15] !== 1);\n        (this || _global)._identityCalculated = true;\n      }\n\n      return (this || _global)._identity;\n    }\n\n    function equals(matr) {\n      var i = 0;\n\n      while (i < 16) {\n        if (matr.props[i] !== (this || _global).props[i]) {\n          return false;\n        }\n\n        i += 1;\n      }\n\n      return true;\n    }\n\n    function clone(matr) {\n      var i;\n\n      for (i = 0; i < 16; i += 1) {\n        matr.props[i] = (this || _global).props[i];\n      }\n\n      return matr;\n    }\n\n    function cloneFromProps(props) {\n      var i;\n\n      for (i = 0; i < 16; i += 1) {\n        (this || _global).props[i] = props[i];\n      }\n    }\n\n    function applyToPoint(x, y, z) {\n      return {\n        x: x * (this || _global).props[0] + y * (this || _global).props[4] + z * (this || _global).props[8] + (this || _global).props[12],\n        y: x * (this || _global).props[1] + y * (this || _global).props[5] + z * (this || _global).props[9] + (this || _global).props[13],\n        z: x * (this || _global).props[2] + y * (this || _global).props[6] + z * (this || _global).props[10] + (this || _global).props[14]\n      };\n      /* return {\r\n           x: x * me.a + y * me.c + me.e,\r\n           y: x * me.b + y * me.d + me.f\r\n           }; */\n    }\n\n    function applyToX(x, y, z) {\n      return x * (this || _global).props[0] + y * (this || _global).props[4] + z * (this || _global).props[8] + (this || _global).props[12];\n    }\n\n    function applyToY(x, y, z) {\n      return x * (this || _global).props[1] + y * (this || _global).props[5] + z * (this || _global).props[9] + (this || _global).props[13];\n    }\n\n    function applyToZ(x, y, z) {\n      return x * (this || _global).props[2] + y * (this || _global).props[6] + z * (this || _global).props[10] + (this || _global).props[14];\n    }\n\n    function getInverseMatrix() {\n      var determinant = (this || _global).props[0] * (this || _global).props[5] - (this || _global).props[1] * (this || _global).props[4];\n      var a = (this || _global).props[5] / determinant;\n      var b = -(this || _global).props[1] / determinant;\n      var c = -(this || _global).props[4] / determinant;\n      var d = (this || _global).props[0] / determinant;\n      var e = ((this || _global).props[4] * (this || _global).props[13] - (this || _global).props[5] * (this || _global).props[12]) / determinant;\n      var f = -((this || _global).props[0] * (this || _global).props[13] - (this || _global).props[1] * (this || _global).props[12]) / determinant;\n      var inverseMatrix = new Matrix();\n      inverseMatrix.props[0] = a;\n      inverseMatrix.props[1] = b;\n      inverseMatrix.props[4] = c;\n      inverseMatrix.props[5] = d;\n      inverseMatrix.props[12] = e;\n      inverseMatrix.props[13] = f;\n      return inverseMatrix;\n    }\n\n    function inversePoint(pt) {\n      var inverseMatrix = this.getInverseMatrix();\n      return inverseMatrix.applyToPointArray(pt[0], pt[1], pt[2] || 0);\n    }\n\n    function inversePoints(pts) {\n      var i;\n      var len = pts.length;\n      var retPts = [];\n\n      for (i = 0; i < len; i += 1) {\n        retPts[i] = inversePoint(pts[i]);\n      }\n\n      return retPts;\n    }\n\n    function applyToTriplePoints(pt1, pt2, pt3) {\n      var arr = createTypedArray(\"float32\", 6);\n\n      if (this.isIdentity()) {\n        arr[0] = pt1[0];\n        arr[1] = pt1[1];\n        arr[2] = pt2[0];\n        arr[3] = pt2[1];\n        arr[4] = pt3[0];\n        arr[5] = pt3[1];\n      } else {\n        var p0 = (this || _global).props[0];\n        var p1 = (this || _global).props[1];\n        var p4 = (this || _global).props[4];\n        var p5 = (this || _global).props[5];\n        var p12 = (this || _global).props[12];\n        var p13 = (this || _global).props[13];\n        arr[0] = pt1[0] * p0 + pt1[1] * p4 + p12;\n        arr[1] = pt1[0] * p1 + pt1[1] * p5 + p13;\n        arr[2] = pt2[0] * p0 + pt2[1] * p4 + p12;\n        arr[3] = pt2[0] * p1 + pt2[1] * p5 + p13;\n        arr[4] = pt3[0] * p0 + pt3[1] * p4 + p12;\n        arr[5] = pt3[0] * p1 + pt3[1] * p5 + p13;\n      }\n\n      return arr;\n    }\n\n    function applyToPointArray(x, y, z) {\n      var arr;\n\n      if (this.isIdentity()) {\n        arr = [x, y, z];\n      } else {\n        arr = [x * (this || _global).props[0] + y * (this || _global).props[4] + z * (this || _global).props[8] + (this || _global).props[12], x * (this || _global).props[1] + y * (this || _global).props[5] + z * (this || _global).props[9] + (this || _global).props[13], x * (this || _global).props[2] + y * (this || _global).props[6] + z * (this || _global).props[10] + (this || _global).props[14]];\n      }\n\n      return arr;\n    }\n\n    function applyToPointStringified(x, y) {\n      if (this.isIdentity()) {\n        return x + \",\" + y;\n      }\n\n      var _p = (this || _global).props;\n      return Math.round((x * _p[0] + y * _p[4] + _p[12]) * 100) / 100 + \",\" + Math.round((x * _p[1] + y * _p[5] + _p[13]) * 100) / 100;\n    }\n\n    function toCSS() {\n      // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n      /* if(this.isIdentity()) {\r\n              return '';\r\n          } */\n      var i = 0;\n      var props = (this || _global).props;\n      var cssValue = \"matrix3d(\";\n      var v = 10000;\n\n      while (i < 16) {\n        cssValue += _rnd(props[i] * v) / v;\n        cssValue += i === 15 ? \")\" : \",\";\n        i += 1;\n      }\n\n      return cssValue;\n    }\n\n    function roundMatrixProperty(val) {\n      var v = 10000;\n\n      if (val < 0.000001 && val > 0 || val > -0.000001 && val < 0) {\n        return _rnd(val * v) / v;\n      }\n\n      return val;\n    }\n\n    function to2dCSS() {\n      // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n      /* if(this.isIdentity()) {\r\n              return '';\r\n          } */\n      var props = (this || _global).props;\n\n      var _a = roundMatrixProperty(props[0]);\n\n      var _b = roundMatrixProperty(props[1]);\n\n      var _c = roundMatrixProperty(props[4]);\n\n      var _d = roundMatrixProperty(props[5]);\n\n      var _e = roundMatrixProperty(props[12]);\n\n      var _f = roundMatrixProperty(props[13]);\n\n      return \"matrix(\" + _a + \",\" + _b + \",\" + _c + \",\" + _d + \",\" + _e + \",\" + _f + \")\";\n    }\n\n    return function () {\n      (this || _global).reset = reset;\n      (this || _global).rotate = rotate;\n      (this || _global).rotateX = rotateX;\n      (this || _global).rotateY = rotateY;\n      (this || _global).rotateZ = rotateZ;\n      (this || _global).skew = skew;\n      (this || _global).skewFromAxis = skewFromAxis;\n      (this || _global).shear = shear;\n      (this || _global).scale = scale;\n      (this || _global).setTransform = setTransform;\n      (this || _global).translate = translate;\n      (this || _global).transform = transform;\n      (this || _global).applyToPoint = applyToPoint;\n      (this || _global).applyToX = applyToX;\n      (this || _global).applyToY = applyToY;\n      (this || _global).applyToZ = applyToZ;\n      (this || _global).applyToPointArray = applyToPointArray;\n      (this || _global).applyToTriplePoints = applyToTriplePoints;\n      (this || _global).applyToPointStringified = applyToPointStringified;\n      (this || _global).toCSS = toCSS;\n      (this || _global).to2dCSS = to2dCSS;\n      (this || _global).clone = clone;\n      (this || _global).cloneFromProps = cloneFromProps;\n      (this || _global).equals = equals;\n      (this || _global).inversePoints = inversePoints;\n      (this || _global).inversePoint = inversePoint;\n      (this || _global).getInverseMatrix = getInverseMatrix;\n      (this || _global)._t = (this || _global).transform;\n      (this || _global).isIdentity = isIdentity;\n      (this || _global)._identity = true;\n      (this || _global)._identityCalculated = false;\n      (this || _global).props = createTypedArray(\"float32\", 16);\n      this.reset();\n    };\n  }();\n  /* eslint-disable */\n\n  /*\r\n   Copyright 2014 David Bau.\r\n  \r\n   Permission is hereby granted, free of charge, to any person obtaining\r\n   a copy of this software and associated documentation files (the\r\n   \"Software\"), to deal in the Software without restriction, including\r\n   without limitation the rights to use, copy, modify, merge, publish,\r\n   distribute, sublicense, and/or sell copies of the Software, and to\r\n   permit persons to whom the Software is furnished to do so, subject to\r\n   the following conditions:\r\n  \r\n   The above copyright notice and this permission notice shall be\r\n   included in all copies or substantial portions of the Software.\r\n  \r\n   THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\r\n   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\n   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\r\n   IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\r\n   CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\r\n   TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\r\n   SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n  \r\n   */\n\n\n  (function (pool, math) {\n    //\n    // The following constants are related to IEEE 754 limits.\n    //\n    var global = this || _global,\n        width = 256,\n        // each RC4 output is 0 <= x < 256\n    chunks = 6,\n        // at least six RC4 outputs for each double\n    digits = 52,\n        // there are 52 significant digits in a double\n    rngname = \"random\",\n        // rngname: name for Math.random and Math.seedrandom\n    startdenom = math.pow(width, chunks),\n        significance = math.pow(2, digits),\n        overflow = significance * 2,\n        mask = width - 1,\n        nodecrypto; // node.js crypto module, initialized at the bottom.\n    //\n    // seedrandom()\n    // This is the seedrandom function described above.\n    //\n\n    function seedrandom(seed, options, callback) {\n      var key = [];\n      options = options === true ? {\n        entropy: true\n      } : options || {}; // Flatten the seed string or build one from local entropy if needed.\n\n      var shortseed = mixkey(flatten(options.entropy ? [seed, tostring(pool)] : seed === null ? autoseed() : seed, 3), key); // Use the seed to initialize an ARC4 generator.\n\n      var arc4 = new ARC4(key); // This function returns a random double in [0, 1) that contains\n      // randomness in every bit of the mantissa of the IEEE 754 value.\n\n      var prng = function () {\n        var n = arc4.g(chunks),\n            // Start with a numerator n < 2 ^ 48\n        d = startdenom,\n            //   and denominator d = 2 ^ 48.\n        x = 0; //   and no 'extra last byte'.\n\n        while (n < significance) {\n          // Fill up all significant digits by\n          n = (n + x) * width; //   shifting numerator and\n\n          d *= width; //   denominator and generating a\n\n          x = arc4.g(1); //   new least-significant-byte.\n        }\n\n        while (n >= overflow) {\n          // To avoid rounding up, before adding\n          n /= 2; //   last byte, shift everything\n\n          d /= 2; //   right using integer math until\n\n          x >>>= 1; //   we have exactly the desired bits.\n        }\n\n        return (n + x) / d; // Form the number within [0, 1).\n      };\n\n      prng.int32 = function () {\n        return arc4.g(4) | 0;\n      };\n\n      prng.quick = function () {\n        return arc4.g(4) / 4294967296;\n      };\n\n      prng.double = prng; // Mix the randomness into accumulated entropy.\n\n      mixkey(tostring(arc4.S), pool); // Calling convention: what to return as a function of prng, seed, is_math.\n\n      return (options.pass || callback || function (prng, seed, is_math_call, state) {\n        if (state) {\n          // Load the arc4 state from the given state if it has an S array.\n          if (state.S) {\n            copy(state, arc4);\n          } // Only provide the .state method if requested via options.state.\n\n\n          prng.state = function () {\n            return copy(arc4, {});\n          };\n        } // If called as a method of Math (Math.seedrandom()), mutate\n        // Math.random because that is how seedrandom.js has worked since v1.0.\n\n\n        if (is_math_call) {\n          math[rngname] = prng;\n          return seed;\n        } // Otherwise, it is a newer calling convention, so return the\n        // prng directly.\n        else return prng;\n      })(prng, shortseed, \"global\" in options ? options.global : (this || _global) == math, options.state);\n    }\n\n    math[\"seed\" + rngname] = seedrandom; //\n    // ARC4\n    //\n    // An ARC4 implementation.  The constructor takes a key in the form of\n    // an array of at most (width) integers that should be 0 <= x < (width).\n    //\n    // The g(count) method returns a pseudorandom integer that concatenates\n    // the next (count) outputs from ARC4.  Its return value is a number x\n    // that is in the range 0 <= x < (width ^ count).\n    //\n\n    function ARC4(key) {\n      var t,\n          keylen = key.length,\n          me = this || _global,\n          i = 0,\n          j = me.i = me.j = 0,\n          s = me.S = []; // The empty key [] is treated as [0].\n\n      if (!keylen) {\n        key = [keylen++];\n      } // Set up S using the standard key scheduling algorithm.\n\n\n      while (i < width) {\n        s[i] = i++;\n      }\n\n      for (i = 0; i < width; i++) {\n        s[i] = s[j = mask & j + key[i % keylen] + (t = s[i])];\n        s[j] = t;\n      } // The \"g\" method returns the next (count) outputs as one number.\n\n\n      me.g = function (count) {\n        // Using instance members instead of closure state nearly doubles speed.\n        var t,\n            r = 0,\n            i = me.i,\n            j = me.j,\n            s = me.S;\n\n        while (count--) {\n          t = s[i = mask & i + 1];\n          r = r * width + s[mask & (s[i] = s[j = mask & j + t]) + (s[j] = t)];\n        }\n\n        me.i = i;\n        me.j = j;\n        return r; // For robust unpredictability, the function call below automatically\n        // discards an initial batch of values.  This is called RC4-drop[256].\n        // See http://google.com/search?q=rsa+fluhrer+response&btnI\n      };\n    } //\n    // copy()\n    // Copies internal state of ARC4 to or from a plain object.\n    //\n\n\n    function copy(f, t) {\n      t.i = f.i;\n      t.j = f.j;\n      t.S = f.S.slice();\n      return t;\n    } //\n    // flatten()\n    // Converts an object tree to nested arrays of strings.\n    //\n\n\n    function flatten(obj, depth) {\n      var result = [],\n          typ = typeof obj,\n          prop;\n\n      if (depth && typ == \"object\") {\n        for (prop in obj) {\n          try {\n            result.push(flatten(obj[prop], depth - 1));\n          } catch (e) {}\n        }\n      }\n\n      return result.length ? result : typ == \"string\" ? obj : obj + \"\\0\";\n    } //\n    // mixkey()\n    // Mixes a string seed into a key that is an array of integers, and\n    // returns a shortened string seed that is equivalent to the result key.\n    //\n\n\n    function mixkey(seed, key) {\n      var stringseed = seed + \"\",\n          smear,\n          j = 0;\n\n      while (j < stringseed.length) {\n        key[mask & j] = mask & (smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++);\n      }\n\n      return tostring(key);\n    } //\n    // autoseed()\n    // Returns an object for autoseeding, using window.crypto and Node crypto\n    // module if available.\n    //\n\n\n    function autoseed() {\n      try {\n        if (nodecrypto) {\n          return tostring(nodecrypto.randomBytes(width));\n        }\n\n        var out = new Uint8Array(width);\n        (global.crypto || global.msCrypto).getRandomValues(out);\n        return tostring(out);\n      } catch (e) {\n        var browser = global.navigator,\n            plugins = browser && browser.plugins;\n        return [+new Date(), global, plugins, global.screen, tostring(pool)];\n      }\n    } //\n    // tostring()\n    // Converts an array of charcodes to a string\n    //\n\n\n    function tostring(a) {\n      return String.fromCharCode.apply(0, a);\n    } //\n    // When seedrandom.js is loaded, we immediately mix a few bits\n    // from the built-in RNG into the entropy pool.  Because we do\n    // not want to interfere with deterministic PRNG state later,\n    // seedrandom will not call math.random on its own again after\n    // initialization.\n    //\n\n\n    mixkey(math.random(), pool); //\n    // Nodejs and AMD support: export the implementation as a module using\n    // either convention.\n    //\n    // End anonymous scope, and pass initial values.\n  })([], // pool: entropy pool starts empty\n  BMMath // math: package containing random, pow, and seedrandom\n  );\n  /* eslint-disable */\n\n\n  var BezierFactory = function () {\n    /**\r\n       * BezierEasing - use bezier curve for transition easing function\r\n       * by Ga\u00EBtan Renaudeau 2014 - 2015 \u2013 MIT License\r\n       *\r\n       * Credits: is based on Firefox's nsSMILKeySpline.cpp\r\n       * Usage:\r\n       * var spline = BezierEasing([ 0.25, 0.1, 0.25, 1.0 ])\r\n       * spline.get(x) => returns the easing value | x must be in [0, 1] range\r\n       *\r\n       */\n    var ob = {};\n    ob.getBezierEasing = getBezierEasing;\n    var beziers = {};\n\n    function getBezierEasing(a, b, c, d, nm) {\n      var str = nm || (\"bez_\" + a + \"_\" + b + \"_\" + c + \"_\" + d).replace(/\\./g, \"p\");\n\n      if (beziers[str]) {\n        return beziers[str];\n      }\n\n      var bezEasing = new BezierEasing([a, b, c, d]);\n      beziers[str] = bezEasing;\n      return bezEasing;\n    } // These values are established by empiricism with tests (tradeoff: performance VS precision)\n\n\n    var NEWTON_ITERATIONS = 4;\n    var NEWTON_MIN_SLOPE = 0.001;\n    var SUBDIVISION_PRECISION = 1e-7;\n    var SUBDIVISION_MAX_ITERATIONS = 10;\n    var kSplineTableSize = 11;\n    var kSampleStepSize = 1 / (kSplineTableSize - 1);\n    var float32ArraySupported = typeof Float32Array === \"function\";\n\n    function A(aA1, aA2) {\n      return 1 - 3 * aA2 + 3 * aA1;\n    }\n\n    function B(aA1, aA2) {\n      return 3 * aA2 - 6 * aA1;\n    }\n\n    function C(aA1) {\n      return 3 * aA1;\n    } // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\n\n\n    function calcBezier(aT, aA1, aA2) {\n      return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n    } // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\n\n\n    function getSlope(aT, aA1, aA2) {\n      return 3 * A(aA1, aA2) * aT * aT + 2 * B(aA1, aA2) * aT + C(aA1);\n    }\n\n    function binarySubdivide(aX, aA, aB, mX1, mX2) {\n      var currentX,\n          currentT,\n          i = 0;\n\n      do {\n        currentT = aA + (aB - aA) / 2;\n        currentX = calcBezier(currentT, mX1, mX2) - aX;\n\n        if (currentX > 0) {\n          aB = currentT;\n        } else {\n          aA = currentT;\n        }\n      } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\n\n      return currentT;\n    }\n\n    function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n      for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\n        var currentSlope = getSlope(aGuessT, mX1, mX2);\n        if (currentSlope === 0) return aGuessT;\n        var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n        aGuessT -= currentX / currentSlope;\n      }\n\n      return aGuessT;\n    }\n    /**\r\n       * points is an array of [ mX1, mY1, mX2, mY2 ]\r\n       */\n\n\n    function BezierEasing(points) {\n      (this || _global)._p = points;\n      (this || _global)._mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n      (this || _global)._precomputed = false;\n      (this || _global).get = (this || _global).get.bind(this || _global);\n    }\n\n    BezierEasing.prototype = {\n      get: function (x) {\n        var mX1 = (this || _global)._p[0],\n            mY1 = (this || _global)._p[1],\n            mX2 = (this || _global)._p[2],\n            mY2 = (this || _global)._p[3];\n        if (!(this || _global)._precomputed) this._precompute();\n        if (mX1 === mY1 && mX2 === mY2) return x; // linear\n        // Because JavaScript number are imprecise, we should guarantee the extremes are right.\n\n        if (x === 0) return 0;\n        if (x === 1) return 1;\n        return calcBezier(this._getTForX(x), mY1, mY2);\n      },\n      // Private part\n      _precompute: function () {\n        var mX1 = (this || _global)._p[0],\n            mY1 = (this || _global)._p[1],\n            mX2 = (this || _global)._p[2],\n            mY2 = (this || _global)._p[3];\n        (this || _global)._precomputed = true;\n\n        if (mX1 !== mY1 || mX2 !== mY2) {\n          this._calcSampleValues();\n        }\n      },\n      _calcSampleValues: function () {\n        var mX1 = (this || _global)._p[0],\n            mX2 = (this || _global)._p[2];\n\n        for (var i = 0; i < kSplineTableSize; ++i) {\n          (this || _global)._mSampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n        }\n      },\n\n      /**\r\n           * getTForX chose the fastest heuristic to determine the percentage value precisely from a given X projection.\r\n           */\n      _getTForX: function (aX) {\n        var mX1 = (this || _global)._p[0],\n            mX2 = (this || _global)._p[2],\n            mSampleValues = (this || _global)._mSampleValues;\n        var intervalStart = 0;\n        var currentSample = 1;\n        var lastSample = kSplineTableSize - 1;\n\n        for (; currentSample !== lastSample && mSampleValues[currentSample] <= aX; ++currentSample) {\n          intervalStart += kSampleStepSize;\n        }\n\n        --currentSample; // Interpolate to provide an initial guess for t\n\n        var dist = (aX - mSampleValues[currentSample]) / (mSampleValues[currentSample + 1] - mSampleValues[currentSample]);\n        var guessForT = intervalStart + dist * kSampleStepSize;\n        var initialSlope = getSlope(guessForT, mX1, mX2);\n\n        if (initialSlope >= NEWTON_MIN_SLOPE) {\n          return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n        }\n\n        if (initialSlope === 0) {\n          return guessForT;\n        }\n\n        return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n      }\n    };\n    return ob;\n  }();\n\n  (function () {\n    var lastTime = 0;\n    var vendors = [\"ms\", \"moz\", \"webkit\", \"o\"];\n\n    for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {\n      // eslint-disable-line no-plusplus\n      window.requestAnimationFrame = window[vendors[x] + \"RequestAnimationFrame\"];\n      window.cancelAnimationFrame = window[vendors[x] + \"CancelAnimationFrame\"] || window[vendors[x] + \"CancelRequestAnimationFrame\"];\n    }\n\n    if (!window.requestAnimationFrame) {\n      window.requestAnimationFrame = function (callback) {\n        var currTime = new Date().getTime();\n        var timeToCall = Math.max(0, 16 - (currTime - lastTime));\n        var id = setTimeout(function () {\n          callback(currTime + timeToCall);\n        }, timeToCall);\n        lastTime = currTime + timeToCall;\n        return id;\n      };\n    }\n\n    if (!window.cancelAnimationFrame) {\n      window.cancelAnimationFrame = function (id) {\n        clearTimeout(id);\n      };\n    }\n  })();\n  /* exported extendPrototype, getDescriptor, createProxyFunction */\n\n\n  function extendPrototype(sources, destination) {\n    var i;\n    var len = sources.length;\n    var sourcePrototype;\n\n    for (i = 0; i < len; i += 1) {\n      sourcePrototype = sources[i].prototype;\n\n      for (var attr in sourcePrototype) {\n        if (Object.prototype.hasOwnProperty.call(sourcePrototype, attr)) destination.prototype[attr] = sourcePrototype[attr];\n      }\n    }\n  }\n\n  function getDescriptor(object, prop) {\n    return Object.getOwnPropertyDescriptor(object, prop);\n  }\n\n  function createProxyFunction(prototype) {\n    function ProxyFunction() {}\n\n    ProxyFunction.prototype = prototype;\n    return ProxyFunction;\n  }\n  /* global segmentsLengthPool, defaultCurveSegments, createSizedArray, bmPow, bmSqrt, bmFloor, createTypedArray, bezierLengthPool */\n\n  /* exported bez */\n\n\n  function bezFunction() {\n    var math = Math;\n\n    function pointOnLine2D(x1, y1, x2, y2, x3, y3) {\n      var det1 = x1 * y2 + y1 * x3 + x2 * y3 - x3 * y2 - y3 * x1 - x2 * y1;\n      return det1 > -0.001 && det1 < 0.001;\n    }\n\n    function pointOnLine3D(x1, y1, z1, x2, y2, z2, x3, y3, z3) {\n      if (z1 === 0 && z2 === 0 && z3 === 0) {\n        return pointOnLine2D(x1, y1, x2, y2, x3, y3);\n      }\n\n      var dist1 = math.sqrt(math.pow(x2 - x1, 2) + math.pow(y2 - y1, 2) + math.pow(z2 - z1, 2));\n      var dist2 = math.sqrt(math.pow(x3 - x1, 2) + math.pow(y3 - y1, 2) + math.pow(z3 - z1, 2));\n      var dist3 = math.sqrt(math.pow(x3 - x2, 2) + math.pow(y3 - y2, 2) + math.pow(z3 - z2, 2));\n      var diffDist;\n\n      if (dist1 > dist2) {\n        if (dist1 > dist3) {\n          diffDist = dist1 - dist2 - dist3;\n        } else {\n          diffDist = dist3 - dist2 - dist1;\n        }\n      } else if (dist3 > dist2) {\n        diffDist = dist3 - dist2 - dist1;\n      } else {\n        diffDist = dist2 - dist1 - dist3;\n      }\n\n      return diffDist > -0.0001 && diffDist < 0.0001;\n    }\n\n    var getBezierLength = function () {\n      return function (pt1, pt2, pt3, pt4) {\n        var curveSegments = defaultCurveSegments;\n        var k;\n        var i;\n        var len;\n        var ptCoord;\n        var perc;\n        var addedLength = 0;\n        var ptDistance;\n        var point = [];\n        var lastPoint = [];\n        var lengthData = bezierLengthPool.newElement();\n        len = pt3.length;\n\n        for (k = 0; k < curveSegments; k += 1) {\n          perc = k / (curveSegments - 1);\n          ptDistance = 0;\n\n          for (i = 0; i < len; i += 1) {\n            ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * pt3[i] + 3 * (1 - perc) * bmPow(perc, 2) * pt4[i] + bmPow(perc, 3) * pt2[i];\n            point[i] = ptCoord;\n\n            if (lastPoint[i] !== null) {\n              ptDistance += bmPow(point[i] - lastPoint[i], 2);\n            }\n\n            lastPoint[i] = point[i];\n          }\n\n          if (ptDistance) {\n            ptDistance = bmSqrt(ptDistance);\n            addedLength += ptDistance;\n          }\n\n          lengthData.percents[k] = perc;\n          lengthData.lengths[k] = addedLength;\n        }\n\n        lengthData.addedLength = addedLength;\n        return lengthData;\n      };\n    }();\n\n    function getSegmentsLength(shapeData) {\n      var segmentsLength = segmentsLengthPool.newElement();\n      var closed = shapeData.c;\n      var pathV = shapeData.v;\n      var pathO = shapeData.o;\n      var pathI = shapeData.i;\n      var i;\n      var len = shapeData._length;\n      var lengths = segmentsLength.lengths;\n      var totalLength = 0;\n\n      for (i = 0; i < len - 1; i += 1) {\n        lengths[i] = getBezierLength(pathV[i], pathV[i + 1], pathO[i], pathI[i + 1]);\n        totalLength += lengths[i].addedLength;\n      }\n\n      if (closed && len) {\n        lengths[i] = getBezierLength(pathV[i], pathV[0], pathO[i], pathI[0]);\n        totalLength += lengths[i].addedLength;\n      }\n\n      segmentsLength.totalLength = totalLength;\n      return segmentsLength;\n    }\n\n    function BezierData(length) {\n      (this || _global).segmentLength = 0;\n      (this || _global).points = new Array(length);\n    }\n\n    function PointData(partial, point) {\n      (this || _global).partialLength = partial;\n      (this || _global).point = point;\n    }\n\n    var buildBezierData = function () {\n      var storedData = {};\n      return function (pt1, pt2, pt3, pt4) {\n        var bezierName = (pt1[0] + \"_\" + pt1[1] + \"_\" + pt2[0] + \"_\" + pt2[1] + \"_\" + pt3[0] + \"_\" + pt3[1] + \"_\" + pt4[0] + \"_\" + pt4[1]).replace(/\\./g, \"p\");\n\n        if (!storedData[bezierName]) {\n          var curveSegments = defaultCurveSegments;\n          var k;\n          var i;\n          var len;\n          var ptCoord;\n          var perc;\n          var addedLength = 0;\n          var ptDistance;\n          var point;\n          var lastPoint = null;\n\n          if (pt1.length === 2 && (pt1[0] !== pt2[0] || pt1[1] !== pt2[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt1[0] + pt3[0], pt1[1] + pt3[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt2[0] + pt4[0], pt2[1] + pt4[1])) {\n            curveSegments = 2;\n          }\n\n          var bezierData = new BezierData(curveSegments);\n          len = pt3.length;\n\n          for (k = 0; k < curveSegments; k += 1) {\n            point = createSizedArray(len);\n            perc = k / (curveSegments - 1);\n            ptDistance = 0;\n\n            for (i = 0; i < len; i += 1) {\n              ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * (pt1[i] + pt3[i]) + 3 * (1 - perc) * bmPow(perc, 2) * (pt2[i] + pt4[i]) + bmPow(perc, 3) * pt2[i];\n              point[i] = ptCoord;\n\n              if (lastPoint !== null) {\n                ptDistance += bmPow(point[i] - lastPoint[i], 2);\n              }\n            }\n\n            ptDistance = bmSqrt(ptDistance);\n            addedLength += ptDistance;\n            bezierData.points[k] = new PointData(ptDistance, point);\n            lastPoint = point;\n          }\n\n          bezierData.segmentLength = addedLength;\n          storedData[bezierName] = bezierData;\n        }\n\n        return storedData[bezierName];\n      };\n    }();\n\n    function getDistancePerc(perc, bezierData) {\n      var percents = bezierData.percents;\n      var lengths = bezierData.lengths;\n      var len = percents.length;\n      var initPos = bmFloor((len - 1) * perc);\n      var lengthPos = perc * bezierData.addedLength;\n      var lPerc = 0;\n\n      if (initPos === len - 1 || initPos === 0 || lengthPos === lengths[initPos]) {\n        return percents[initPos];\n      }\n\n      var dir = lengths[initPos] > lengthPos ? -1 : 1;\n      var flag = true;\n\n      while (flag) {\n        if (lengths[initPos] <= lengthPos && lengths[initPos + 1] > lengthPos) {\n          lPerc = (lengthPos - lengths[initPos]) / (lengths[initPos + 1] - lengths[initPos]);\n          flag = false;\n        } else {\n          initPos += dir;\n        }\n\n        if (initPos < 0 || initPos >= len - 1) {\n          // FIX for TypedArrays that don't store floating point values with enough accuracy\n          if (initPos === len - 1) {\n            return percents[initPos];\n          }\n\n          flag = false;\n        }\n      }\n\n      return percents[initPos] + (percents[initPos + 1] - percents[initPos]) * lPerc;\n    }\n\n    function getPointInSegment(pt1, pt2, pt3, pt4, percent, bezierData) {\n      var t1 = getDistancePerc(percent, bezierData);\n      var u1 = 1 - t1;\n      var ptX = math.round((u1 * u1 * u1 * pt1[0] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[0] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[0] + t1 * t1 * t1 * pt2[0]) * 1000) / 1000;\n      var ptY = math.round((u1 * u1 * u1 * pt1[1] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[1] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[1] + t1 * t1 * t1 * pt2[1]) * 1000) / 1000;\n      return [ptX, ptY];\n    }\n\n    var bezierSegmentPoints = createTypedArray(\"float32\", 8);\n\n    function getNewSegment(pt1, pt2, pt3, pt4, startPerc, endPerc, bezierData) {\n      if (startPerc < 0) {\n        startPerc = 0;\n      } else if (startPerc > 1) {\n        startPerc = 1;\n      }\n\n      var t0 = getDistancePerc(startPerc, bezierData);\n      endPerc = endPerc > 1 ? 1 : endPerc;\n      var t1 = getDistancePerc(endPerc, bezierData);\n      var i;\n      var len = pt1.length;\n      var u0 = 1 - t0;\n      var u1 = 1 - t1;\n      var u0u0u0 = u0 * u0 * u0;\n      var t0u0u0_3 = t0 * u0 * u0 * 3; // eslint-disable-line camelcase\n\n      var t0t0u0_3 = t0 * t0 * u0 * 3; // eslint-disable-line camelcase\n\n      var t0t0t0 = t0 * t0 * t0; //\n\n      var u0u0u1 = u0 * u0 * u1;\n      var t0u0u1_3 = t0 * u0 * u1 + u0 * t0 * u1 + u0 * u0 * t1; // eslint-disable-line camelcase\n\n      var t0t0u1_3 = t0 * t0 * u1 + u0 * t0 * t1 + t0 * u0 * t1; // eslint-disable-line camelcase\n\n      var t0t0t1 = t0 * t0 * t1; //\n\n      var u0u1u1 = u0 * u1 * u1;\n      var t0u1u1_3 = t0 * u1 * u1 + u0 * t1 * u1 + u0 * u1 * t1; // eslint-disable-line camelcase\n\n      var t0t1u1_3 = t0 * t1 * u1 + u0 * t1 * t1 + t0 * u1 * t1; // eslint-disable-line camelcase\n\n      var t0t1t1 = t0 * t1 * t1; //\n\n      var u1u1u1 = u1 * u1 * u1;\n      var t1u1u1_3 = t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1; // eslint-disable-line camelcase\n\n      var t1t1u1_3 = t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1; // eslint-disable-line camelcase\n\n      var t1t1t1 = t1 * t1 * t1;\n\n      for (i = 0; i < len; i += 1) {\n        bezierSegmentPoints[i * 4] = math.round((u0u0u0 * pt1[i] + t0u0u0_3 * pt3[i] + t0t0u0_3 * pt4[i] + t0t0t0 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n        bezierSegmentPoints[i * 4 + 1] = math.round((u0u0u1 * pt1[i] + t0u0u1_3 * pt3[i] + t0t0u1_3 * pt4[i] + t0t0t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n        bezierSegmentPoints[i * 4 + 2] = math.round((u0u1u1 * pt1[i] + t0u1u1_3 * pt3[i] + t0t1u1_3 * pt4[i] + t0t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n        bezierSegmentPoints[i * 4 + 3] = math.round((u1u1u1 * pt1[i] + t1u1u1_3 * pt3[i] + t1t1u1_3 * pt4[i] + t1t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n      }\n\n      return bezierSegmentPoints;\n    }\n\n    return {\n      getSegmentsLength: getSegmentsLength,\n      getNewSegment: getNewSegment,\n      getPointInSegment: getPointInSegment,\n      buildBezierData: buildBezierData,\n      pointOnLine2D: pointOnLine2D,\n      pointOnLine3D: pointOnLine3D\n    };\n  }\n\n  var bez = bezFunction();\n  /* exported dataManager */\n\n  function dataFunctionManager() {\n    // var tCanvasHelper = createTag('canvas').getContext('2d');\n    function completeLayers(layers, comps, fontManager) {\n      var layerData;\n      var i;\n      var len = layers.length;\n      var j;\n      var jLen;\n      var k;\n      var kLen;\n\n      for (i = 0; i < len; i += 1) {\n        layerData = layers[i];\n\n        if (\"ks\" in layerData && !layerData.completed) {\n          layerData.completed = true;\n\n          if (layerData.tt) {\n            layers[i - 1].td = layerData.tt;\n          }\n\n          if (layerData.hasMask) {\n            var maskProps = layerData.masksProperties;\n            jLen = maskProps.length;\n\n            for (j = 0; j < jLen; j += 1) {\n              if (maskProps[j].pt.k.i) {\n                convertPathsToAbsoluteValues(maskProps[j].pt.k);\n              } else {\n                kLen = maskProps[j].pt.k.length;\n\n                for (k = 0; k < kLen; k += 1) {\n                  if (maskProps[j].pt.k[k].s) {\n                    convertPathsToAbsoluteValues(maskProps[j].pt.k[k].s[0]);\n                  }\n\n                  if (maskProps[j].pt.k[k].e) {\n                    convertPathsToAbsoluteValues(maskProps[j].pt.k[k].e[0]);\n                  }\n                }\n              }\n            }\n          }\n\n          if (layerData.ty === 0) {\n            layerData.layers = findCompLayers(layerData.refId, comps);\n            completeLayers(layerData.layers, comps, fontManager);\n          } else if (layerData.ty === 4) {\n            completeShapes(layerData.shapes);\n          } else if (layerData.ty === 5) {\n            completeText(layerData, fontManager);\n          }\n        }\n      }\n    }\n\n    function findCompLayers(id, comps) {\n      var i = 0;\n      var len = comps.length;\n\n      while (i < len) {\n        if (comps[i].id === id) {\n          if (!comps[i].layers.__used) {\n            comps[i].layers.__used = true;\n            return comps[i].layers;\n          }\n\n          return JSON.parse(JSON.stringify(comps[i].layers));\n        }\n\n        i += 1;\n      }\n\n      return null;\n    }\n\n    function completeShapes(arr) {\n      var i;\n      var len = arr.length;\n      var j;\n      var jLen;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        if (arr[i].ty === \"sh\") {\n          if (arr[i].ks.k.i) {\n            convertPathsToAbsoluteValues(arr[i].ks.k);\n          } else {\n            jLen = arr[i].ks.k.length;\n\n            for (j = 0; j < jLen; j += 1) {\n              if (arr[i].ks.k[j].s) {\n                convertPathsToAbsoluteValues(arr[i].ks.k[j].s[0]);\n              }\n\n              if (arr[i].ks.k[j].e) {\n                convertPathsToAbsoluteValues(arr[i].ks.k[j].e[0]);\n              }\n            }\n          }\n        } else if (arr[i].ty === \"gr\") {\n          completeShapes(arr[i].it);\n        }\n      }\n    }\n\n    function convertPathsToAbsoluteValues(path) {\n      var i;\n      var len = path.i.length;\n\n      for (i = 0; i < len; i += 1) {\n        path.i[i][0] += path.v[i][0];\n        path.i[i][1] += path.v[i][1];\n        path.o[i][0] += path.v[i][0];\n        path.o[i][1] += path.v[i][1];\n      }\n    }\n\n    function checkVersion(minimum, animVersionString) {\n      var animVersion = animVersionString ? animVersionString.split(\".\") : [100, 100, 100];\n\n      if (minimum[0] > animVersion[0]) {\n        return true;\n      }\n\n      if (animVersion[0] > minimum[0]) {\n        return false;\n      }\n\n      if (minimum[1] > animVersion[1]) {\n        return true;\n      }\n\n      if (animVersion[1] > minimum[1]) {\n        return false;\n      }\n\n      if (minimum[2] > animVersion[2]) {\n        return true;\n      }\n\n      if (animVersion[2] > minimum[2]) {\n        return false;\n      }\n\n      return null;\n    }\n\n    var checkText = function () {\n      var minimumVersion = [4, 4, 14];\n\n      function updateTextLayer(textLayer) {\n        var documentData = textLayer.t.d;\n        textLayer.t.d = {\n          k: [{\n            s: documentData,\n            t: 0\n          }]\n        };\n      }\n\n      function iterateLayers(layers) {\n        var i;\n        var len = layers.length;\n\n        for (i = 0; i < len; i += 1) {\n          if (layers[i].ty === 5) {\n            updateTextLayer(layers[i]);\n          }\n        }\n      }\n\n      return function (animationData) {\n        if (checkVersion(minimumVersion, animationData.v)) {\n          iterateLayers(animationData.layers);\n\n          if (animationData.assets) {\n            var i;\n            var len = animationData.assets.length;\n\n            for (i = 0; i < len; i += 1) {\n              if (animationData.assets[i].layers) {\n                iterateLayers(animationData.assets[i].layers);\n              }\n            }\n          }\n        }\n      };\n    }();\n\n    var checkChars = function () {\n      var minimumVersion = [4, 7, 99];\n      return function (animationData) {\n        if (animationData.chars && !checkVersion(minimumVersion, animationData.v)) {\n          var i;\n          var len = animationData.chars.length;\n          var j;\n          var jLen;\n          var pathData;\n          var paths;\n\n          for (i = 0; i < len; i += 1) {\n            if (animationData.chars[i].data && animationData.chars[i].data.shapes) {\n              paths = animationData.chars[i].data.shapes[0].it;\n              jLen = paths.length;\n\n              for (j = 0; j < jLen; j += 1) {\n                pathData = paths[j].ks.k;\n\n                if (!pathData.__converted) {\n                  convertPathsToAbsoluteValues(paths[j].ks.k);\n                  pathData.__converted = true;\n                }\n              }\n            }\n          }\n        }\n      };\n    }();\n\n    var checkColors = function () {\n      var minimumVersion = [4, 1, 9];\n\n      function iterateShapes(shapes) {\n        var i;\n        var len = shapes.length;\n        var j;\n        var jLen;\n\n        for (i = 0; i < len; i += 1) {\n          if (shapes[i].ty === \"gr\") {\n            iterateShapes(shapes[i].it);\n          } else if (shapes[i].ty === \"fl\" || shapes[i].ty === \"st\") {\n            if (shapes[i].c.k && shapes[i].c.k[0].i) {\n              jLen = shapes[i].c.k.length;\n\n              for (j = 0; j < jLen; j += 1) {\n                if (shapes[i].c.k[j].s) {\n                  shapes[i].c.k[j].s[0] /= 255;\n                  shapes[i].c.k[j].s[1] /= 255;\n                  shapes[i].c.k[j].s[2] /= 255;\n                  shapes[i].c.k[j].s[3] /= 255;\n                }\n\n                if (shapes[i].c.k[j].e) {\n                  shapes[i].c.k[j].e[0] /= 255;\n                  shapes[i].c.k[j].e[1] /= 255;\n                  shapes[i].c.k[j].e[2] /= 255;\n                  shapes[i].c.k[j].e[3] /= 255;\n                }\n              }\n            } else {\n              shapes[i].c.k[0] /= 255;\n              shapes[i].c.k[1] /= 255;\n              shapes[i].c.k[2] /= 255;\n              shapes[i].c.k[3] /= 255;\n            }\n          }\n        }\n      }\n\n      function iterateLayers(layers) {\n        var i;\n        var len = layers.length;\n\n        for (i = 0; i < len; i += 1) {\n          if (layers[i].ty === 4) {\n            iterateShapes(layers[i].shapes);\n          }\n        }\n      }\n\n      return function (animationData) {\n        if (checkVersion(minimumVersion, animationData.v)) {\n          iterateLayers(animationData.layers);\n\n          if (animationData.assets) {\n            var i;\n            var len = animationData.assets.length;\n\n            for (i = 0; i < len; i += 1) {\n              if (animationData.assets[i].layers) {\n                iterateLayers(animationData.assets[i].layers);\n              }\n            }\n          }\n        }\n      };\n    }();\n\n    var checkShapes = function () {\n      var minimumVersion = [4, 4, 18];\n\n      function completeClosingShapes(arr) {\n        var i;\n        var len = arr.length;\n        var j;\n        var jLen;\n\n        for (i = len - 1; i >= 0; i -= 1) {\n          if (arr[i].ty === \"sh\") {\n            if (arr[i].ks.k.i) {\n              arr[i].ks.k.c = arr[i].closed;\n            } else {\n              jLen = arr[i].ks.k.length;\n\n              for (j = 0; j < jLen; j += 1) {\n                if (arr[i].ks.k[j].s) {\n                  arr[i].ks.k[j].s[0].c = arr[i].closed;\n                }\n\n                if (arr[i].ks.k[j].e) {\n                  arr[i].ks.k[j].e[0].c = arr[i].closed;\n                }\n              }\n            }\n          } else if (arr[i].ty === \"gr\") {\n            completeClosingShapes(arr[i].it);\n          }\n        }\n      }\n\n      function iterateLayers(layers) {\n        var layerData;\n        var i;\n        var len = layers.length;\n        var j;\n        var jLen;\n        var k;\n        var kLen;\n\n        for (i = 0; i < len; i += 1) {\n          layerData = layers[i];\n\n          if (layerData.hasMask) {\n            var maskProps = layerData.masksProperties;\n            jLen = maskProps.length;\n\n            for (j = 0; j < jLen; j += 1) {\n              if (maskProps[j].pt.k.i) {\n                maskProps[j].pt.k.c = maskProps[j].cl;\n              } else {\n                kLen = maskProps[j].pt.k.length;\n\n                for (k = 0; k < kLen; k += 1) {\n                  if (maskProps[j].pt.k[k].s) {\n                    maskProps[j].pt.k[k].s[0].c = maskProps[j].cl;\n                  }\n\n                  if (maskProps[j].pt.k[k].e) {\n                    maskProps[j].pt.k[k].e[0].c = maskProps[j].cl;\n                  }\n                }\n              }\n            }\n          }\n\n          if (layerData.ty === 4) {\n            completeClosingShapes(layerData.shapes);\n          }\n        }\n      }\n\n      return function (animationData) {\n        if (checkVersion(minimumVersion, animationData.v)) {\n          iterateLayers(animationData.layers);\n\n          if (animationData.assets) {\n            var i;\n            var len = animationData.assets.length;\n\n            for (i = 0; i < len; i += 1) {\n              if (animationData.assets[i].layers) {\n                iterateLayers(animationData.assets[i].layers);\n              }\n            }\n          }\n        }\n      };\n    }();\n\n    function completeData(animationData, fontManager) {\n      if (animationData.__complete) {\n        return;\n      }\n\n      checkColors(animationData);\n      checkText(animationData);\n      checkChars(animationData);\n      checkShapes(animationData);\n      completeLayers(animationData.layers, animationData.assets, fontManager);\n      animationData.__complete = true;\n    }\n\n    function completeText(data) {\n      if (data.t.a.length === 0 && !(\"m\" in data.t.p)) {\n        data.singleShape = true;\n      }\n    }\n\n    var moduleOb = {};\n    moduleOb.completeData = completeData;\n    moduleOb.checkColors = checkColors;\n    moduleOb.checkChars = checkChars;\n    moduleOb.checkShapes = checkShapes;\n    moduleOb.completeLayers = completeLayers;\n    return moduleOb;\n  }\n\n  var dataManager = dataFunctionManager();\n  /* exported getFontProperties */\n\n  function getFontProperties(fontData) {\n    var styles = fontData.fStyle ? fontData.fStyle.split(\" \") : [];\n    var fWeight = \"normal\";\n    var fStyle = \"normal\";\n    var len = styles.length;\n    var styleName;\n\n    for (var i = 0; i < len; i += 1) {\n      styleName = styles[i].toLowerCase();\n\n      switch (styleName) {\n        case \"italic\":\n          fStyle = \"italic\";\n          break;\n\n        case \"bold\":\n          fWeight = \"700\";\n          break;\n\n        case \"black\":\n          fWeight = \"900\";\n          break;\n\n        case \"medium\":\n          fWeight = \"500\";\n          break;\n\n        case \"regular\":\n        case \"normal\":\n          fWeight = \"400\";\n          break;\n\n        case \"light\":\n        case \"thin\":\n          fWeight = \"200\";\n          break;\n\n        default:\n          break;\n      }\n    }\n\n    return {\n      style: fStyle,\n      weight: fontData.fWeight || fWeight\n    };\n  }\n  /* global createNS, createTag, getFontProperties */\n\n  /* exported FontManager */\n\n\n  var FontManager = function () {\n    var maxWaitingTime = 5000;\n    var emptyChar = {\n      w: 0,\n      size: 0,\n      shapes: []\n    };\n    var combinedCharacters = []; // Hindi characters\n\n    combinedCharacters = combinedCharacters.concat([2304, 2305, 2306, 2307, 2362, 2363, 2364, 2364, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2387, 2388, 2389, 2390, 2391, 2402, 2403]);\n\n    function trimFontOptions(font) {\n      var familyArray = font.split(\",\");\n      var i;\n      var len = familyArray.length;\n      var enabledFamilies = [];\n\n      for (i = 0; i < len; i += 1) {\n        if (familyArray[i] !== \"sans-serif\" && familyArray[i] !== \"monospace\") {\n          enabledFamilies.push(familyArray[i]);\n        }\n      }\n\n      return enabledFamilies.join(\",\");\n    }\n\n    function setUpNode(font, family) {\n      var parentNode = createTag(\"span\"); // Node is invisible to screen readers.\n\n      parentNode.setAttribute(\"aria-hidden\", true);\n      parentNode.style.fontFamily = family;\n      var node = createTag(\"span\"); // Characters that vary significantly among different fonts\n\n      node.innerText = \"giItT1WQy@!-/#\"; // Visible - so we can measure it - but not on the screen\n\n      parentNode.style.position = \"absolute\";\n      parentNode.style.left = \"-10000px\";\n      parentNode.style.top = \"-10000px\"; // Large font size makes even subtle changes obvious\n\n      parentNode.style.fontSize = \"300px\"; // Reset any font properties\n\n      parentNode.style.fontVariant = \"normal\";\n      parentNode.style.fontStyle = \"normal\";\n      parentNode.style.fontWeight = \"normal\";\n      parentNode.style.letterSpacing = \"0\";\n      parentNode.appendChild(node);\n      document.body.appendChild(parentNode); // Remember width with no applied web font\n\n      var width = node.offsetWidth;\n      node.style.fontFamily = trimFontOptions(font) + \", \" + family;\n      return {\n        node: node,\n        w: width,\n        parent: parentNode\n      };\n    }\n\n    function checkLoadedFonts() {\n      var i;\n      var len = (this || _global).fonts.length;\n      var node;\n      var w;\n      var loadedCount = len;\n\n      for (i = 0; i < len; i += 1) {\n        if ((this || _global).fonts[i].loaded) {\n          loadedCount -= 1;\n        } else if ((this || _global).fonts[i].fOrigin === \"n\" || (this || _global).fonts[i].origin === 0) {\n          (this || _global).fonts[i].loaded = true;\n        } else {\n          node = (this || _global).fonts[i].monoCase.node;\n          w = (this || _global).fonts[i].monoCase.w;\n\n          if (node.offsetWidth !== w) {\n            loadedCount -= 1;\n            (this || _global).fonts[i].loaded = true;\n          } else {\n            node = (this || _global).fonts[i].sansCase.node;\n            w = (this || _global).fonts[i].sansCase.w;\n\n            if (node.offsetWidth !== w) {\n              loadedCount -= 1;\n              (this || _global).fonts[i].loaded = true;\n            }\n          }\n\n          if ((this || _global).fonts[i].loaded) {\n            (this || _global).fonts[i].sansCase.parent.parentNode.removeChild((this || _global).fonts[i].sansCase.parent);\n\n            (this || _global).fonts[i].monoCase.parent.parentNode.removeChild((this || _global).fonts[i].monoCase.parent);\n          }\n        }\n      }\n\n      if (loadedCount !== 0 && Date.now() - (this || _global).initTime < maxWaitingTime) {\n        setTimeout((this || _global).checkLoadedFontsBinded, 20);\n      } else {\n        setTimeout((this || _global).setIsLoadedBinded, 10);\n      }\n    }\n\n    function createHelper(def, fontData) {\n      var tHelper = createNS(\"text\");\n      tHelper.style.fontSize = \"100px\"; // tHelper.style.fontFamily = fontData.fFamily;\n\n      var fontProps = getFontProperties(fontData);\n      tHelper.setAttribute(\"font-family\", fontData.fFamily);\n      tHelper.setAttribute(\"font-style\", fontProps.style);\n      tHelper.setAttribute(\"font-weight\", fontProps.weight);\n      tHelper.textContent = \"1\";\n\n      if (fontData.fClass) {\n        tHelper.style.fontFamily = \"inherit\";\n        tHelper.setAttribute(\"class\", fontData.fClass);\n      } else {\n        tHelper.style.fontFamily = fontData.fFamily;\n      }\n\n      def.appendChild(tHelper);\n      var tCanvasHelper = createTag(\"canvas\").getContext(\"2d\");\n      tCanvasHelper.font = fontData.fWeight + \" \" + fontData.fStyle + \" 100px \" + fontData.fFamily; // tCanvasHelper.font = ' 100px '+ fontData.fFamily;\n\n      return tHelper;\n    }\n\n    function addFonts(fontData, defs) {\n      if (!fontData) {\n        (this || _global).isLoaded = true;\n        return;\n      }\n\n      if ((this || _global).chars) {\n        (this || _global).isLoaded = true;\n        (this || _global).fonts = fontData.list;\n        return;\n      }\n\n      var fontArr = fontData.list;\n      var i;\n      var len = fontArr.length;\n      var _pendingFonts = len;\n\n      for (i = 0; i < len; i += 1) {\n        var shouldLoadFont = true;\n        var loadedSelector;\n        var j;\n        fontArr[i].loaded = false;\n        fontArr[i].monoCase = setUpNode(fontArr[i].fFamily, \"monospace\");\n        fontArr[i].sansCase = setUpNode(fontArr[i].fFamily, \"sans-serif\");\n\n        if (!fontArr[i].fPath) {\n          fontArr[i].loaded = true;\n          _pendingFonts -= 1;\n        } else if (fontArr[i].fOrigin === \"p\" || fontArr[i].origin === 3) {\n          loadedSelector = document.querySelectorAll(\"style[f-forigin=\\\"p\\\"][f-family=\\\"\" + fontArr[i].fFamily + \"\\\"], style[f-origin=\\\"3\\\"][f-family=\\\"\" + fontArr[i].fFamily + \"\\\"]\");\n\n          if (loadedSelector.length > 0) {\n            shouldLoadFont = false;\n          }\n\n          if (shouldLoadFont) {\n            var s = createTag(\"style\");\n            s.setAttribute(\"f-forigin\", fontArr[i].fOrigin);\n            s.setAttribute(\"f-origin\", fontArr[i].origin);\n            s.setAttribute(\"f-family\", fontArr[i].fFamily);\n            s.type = \"text/css\";\n            s.innerText = \"@font-face {font-family: \" + fontArr[i].fFamily + \"; font-style: normal; src: url('\" + fontArr[i].fPath + \"');}\";\n            defs.appendChild(s);\n          }\n        } else if (fontArr[i].fOrigin === \"g\" || fontArr[i].origin === 1) {\n          loadedSelector = document.querySelectorAll(\"link[f-forigin=\\\"g\\\"], link[f-origin=\\\"1\\\"]\");\n\n          for (j = 0; j < loadedSelector.length; j += 1) {\n            if (loadedSelector[j].href.indexOf(fontArr[i].fPath) !== -1) {\n              // Font is already loaded\n              shouldLoadFont = false;\n            }\n          }\n\n          if (shouldLoadFont) {\n            var l = createTag(\"link\");\n            l.setAttribute(\"f-forigin\", fontArr[i].fOrigin);\n            l.setAttribute(\"f-origin\", fontArr[i].origin);\n            l.type = \"text/css\";\n            l.rel = \"stylesheet\";\n            l.href = fontArr[i].fPath;\n            document.body.appendChild(l);\n          }\n        } else if (fontArr[i].fOrigin === \"t\" || fontArr[i].origin === 2) {\n          loadedSelector = document.querySelectorAll(\"script[f-forigin=\\\"t\\\"], script[f-origin=\\\"2\\\"]\");\n\n          for (j = 0; j < loadedSelector.length; j += 1) {\n            if (fontArr[i].fPath === loadedSelector[j].src) {\n              // Font is already loaded\n              shouldLoadFont = false;\n            }\n          }\n\n          if (shouldLoadFont) {\n            var sc = createTag(\"link\");\n            sc.setAttribute(\"f-forigin\", fontArr[i].fOrigin);\n            sc.setAttribute(\"f-origin\", fontArr[i].origin);\n            sc.setAttribute(\"rel\", \"stylesheet\");\n            sc.setAttribute(\"href\", fontArr[i].fPath);\n            defs.appendChild(sc);\n          }\n        }\n\n        fontArr[i].helper = createHelper(defs, fontArr[i]);\n        fontArr[i].cache = {};\n\n        (this || _global).fonts.push(fontArr[i]);\n      }\n\n      if (_pendingFonts === 0) {\n        (this || _global).isLoaded = true;\n      } else {\n        // On some cases even if the font is loaded, it won't load correctly when measuring text on canvas.\n        // Adding this timeout seems to fix it\n        setTimeout((this || _global).checkLoadedFonts.bind(this || _global), 100);\n      }\n    }\n\n    function addChars(chars) {\n      if (!chars) {\n        return;\n      }\n\n      if (!(this || _global).chars) {\n        (this || _global).chars = [];\n      }\n\n      var i;\n      var len = chars.length;\n      var j;\n      var jLen = (this || _global).chars.length;\n      var found;\n\n      for (i = 0; i < len; i += 1) {\n        j = 0;\n        found = false;\n\n        while (j < jLen) {\n          if ((this || _global).chars[j].style === chars[i].style && (this || _global).chars[j].fFamily === chars[i].fFamily && (this || _global).chars[j].ch === chars[i].ch) {\n            found = true;\n          }\n\n          j += 1;\n        }\n\n        if (!found) {\n          (this || _global).chars.push(chars[i]);\n\n          jLen += 1;\n        }\n      }\n    }\n\n    function getCharData(char, style, font) {\n      var i = 0;\n      var len = (this || _global).chars.length;\n\n      while (i < len) {\n        if ((this || _global).chars[i].ch === char && (this || _global).chars[i].style === style && (this || _global).chars[i].fFamily === font) {\n          return (this || _global).chars[i];\n        }\n\n        i += 1;\n      }\n\n      if ((typeof char === \"string\" && char.charCodeAt(0) !== 13 || !char) && console && console.warn // eslint-disable-line no-console\n      && !(this || _global)._warned) {\n        (this || _global)._warned = true;\n        console.warn(\"Missing character from exported characters list: \", char, style, font); // eslint-disable-line no-console\n      }\n\n      return emptyChar;\n    }\n\n    function measureText(char, fontName, size) {\n      var fontData = this.getFontByName(fontName);\n      var index = char.charCodeAt(0);\n\n      if (!fontData.cache[index + 1]) {\n        var tHelper = fontData.helper; // Canvas version\n        // fontData.cache[index] = tHelper.measureText(char).width / 100;\n        // SVG version\n        // console.log(tHelper.getBBox().width)\n\n        if (char === \" \") {\n          tHelper.textContent = \"|\" + char + \"|\";\n          var doubleSize = tHelper.getComputedTextLength();\n          tHelper.textContent = \"||\";\n          var singleSize = tHelper.getComputedTextLength();\n          fontData.cache[index + 1] = (doubleSize - singleSize) / 100;\n        } else {\n          tHelper.textContent = char;\n          fontData.cache[index + 1] = tHelper.getComputedTextLength() / 100;\n        }\n      }\n\n      return fontData.cache[index + 1] * size;\n    }\n\n    function getFontByName(name) {\n      var i = 0;\n      var len = (this || _global).fonts.length;\n\n      while (i < len) {\n        if ((this || _global).fonts[i].fName === name) {\n          return (this || _global).fonts[i];\n        }\n\n        i += 1;\n      }\n\n      return (this || _global).fonts[0];\n    }\n\n    function getCombinedCharacterCodes() {\n      return combinedCharacters;\n    }\n\n    function setIsLoaded() {\n      (this || _global).isLoaded = true;\n    }\n\n    var Font = function () {\n      (this || _global).fonts = [];\n      (this || _global).chars = null;\n      (this || _global).typekitLoaded = 0;\n      (this || _global).isLoaded = false;\n      (this || _global)._warned = false;\n      (this || _global).initTime = Date.now();\n      (this || _global).setIsLoadedBinded = (this || _global).setIsLoaded.bind(this || _global);\n      (this || _global).checkLoadedFontsBinded = (this || _global).checkLoadedFonts.bind(this || _global);\n    }; // TODO: for now I'm adding these methods to the Class and not the prototype. Think of a better way to implement it.\n\n\n    Font.getCombinedCharacterCodes = getCombinedCharacterCodes;\n    var fontPrototype = {\n      addChars: addChars,\n      addFonts: addFonts,\n      getCharData: getCharData,\n      getFontByName: getFontByName,\n      measureText: measureText,\n      checkLoadedFonts: checkLoadedFonts,\n      setIsLoaded: setIsLoaded\n    };\n    Font.prototype = fontPrototype;\n    return Font;\n  }();\n  /* global initialDefaultFrame, BezierFactory, degToRads, bez, createTypedArray */\n\n  /* exported PropertyFactory */\n\n\n  var PropertyFactory = function () {\n    var initFrame = initialDefaultFrame;\n    var mathAbs = Math.abs;\n\n    function interpolateValue(frameNum, caching) {\n      var offsetTime = (this || _global).offsetTime;\n      var newValue;\n\n      if ((this || _global).propType === \"multidimensional\") {\n        newValue = createTypedArray(\"float32\", (this || _global).pv.length);\n      }\n\n      var iterationIndex = caching.lastIndex;\n      var i = iterationIndex;\n      var len = (this || _global).keyframes.length - 1;\n      var flag = true;\n      var keyData;\n      var nextKeyData;\n\n      while (flag) {\n        keyData = (this || _global).keyframes[i];\n        nextKeyData = (this || _global).keyframes[i + 1];\n\n        if (i === len - 1 && frameNum >= nextKeyData.t - offsetTime) {\n          if (keyData.h) {\n            keyData = nextKeyData;\n          }\n\n          iterationIndex = 0;\n          break;\n        }\n\n        if (nextKeyData.t - offsetTime > frameNum) {\n          iterationIndex = i;\n          break;\n        }\n\n        if (i < len - 1) {\n          i += 1;\n        } else {\n          iterationIndex = 0;\n          flag = false;\n        }\n      }\n\n      var k;\n      var kLen;\n      var perc;\n      var jLen;\n      var j;\n      var fnc;\n      var nextKeyTime = nextKeyData.t - offsetTime;\n      var keyTime = keyData.t - offsetTime;\n      var endValue;\n\n      if (keyData.to) {\n        if (!keyData.bezierData) {\n          keyData.bezierData = bez.buildBezierData(keyData.s, nextKeyData.s || keyData.e, keyData.to, keyData.ti);\n        }\n\n        var bezierData = keyData.bezierData;\n\n        if (frameNum >= nextKeyTime || frameNum < keyTime) {\n          var ind = frameNum >= nextKeyTime ? bezierData.points.length - 1 : 0;\n          kLen = bezierData.points[ind].point.length;\n\n          for (k = 0; k < kLen; k += 1) {\n            newValue[k] = bezierData.points[ind].point[k];\n          } // caching._lastKeyframeIndex = -1;\n\n        } else {\n          if (keyData.__fnct) {\n            fnc = keyData.__fnct;\n          } else {\n            fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y, keyData.n).get;\n            keyData.__fnct = fnc;\n          }\n\n          perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n          var distanceInLine = bezierData.segmentLength * perc;\n          var segmentPerc;\n          var addedLength = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastAddedLength : 0;\n          j = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastPoint : 0;\n          flag = true;\n          jLen = bezierData.points.length;\n\n          while (flag) {\n            addedLength += bezierData.points[j].partialLength;\n\n            if (distanceInLine === 0 || perc === 0 || j === bezierData.points.length - 1) {\n              kLen = bezierData.points[j].point.length;\n\n              for (k = 0; k < kLen; k += 1) {\n                newValue[k] = bezierData.points[j].point[k];\n              }\n\n              break;\n            } else if (distanceInLine >= addedLength && distanceInLine < addedLength + bezierData.points[j + 1].partialLength) {\n              segmentPerc = (distanceInLine - addedLength) / bezierData.points[j + 1].partialLength;\n              kLen = bezierData.points[j].point.length;\n\n              for (k = 0; k < kLen; k += 1) {\n                newValue[k] = bezierData.points[j].point[k] + (bezierData.points[j + 1].point[k] - bezierData.points[j].point[k]) * segmentPerc;\n              }\n\n              break;\n            }\n\n            if (j < jLen - 1) {\n              j += 1;\n            } else {\n              flag = false;\n            }\n          }\n\n          caching._lastPoint = j;\n          caching._lastAddedLength = addedLength - bezierData.points[j].partialLength;\n          caching._lastKeyframeIndex = i;\n        }\n      } else {\n        var outX;\n        var outY;\n        var inX;\n        var inY;\n        var keyValue;\n        len = keyData.s.length;\n        endValue = nextKeyData.s || keyData.e;\n\n        if ((this || _global).sh && keyData.h !== 1) {\n          if (frameNum >= nextKeyTime) {\n            newValue[0] = endValue[0];\n            newValue[1] = endValue[1];\n            newValue[2] = endValue[2];\n          } else if (frameNum <= keyTime) {\n            newValue[0] = keyData.s[0];\n            newValue[1] = keyData.s[1];\n            newValue[2] = keyData.s[2];\n          } else {\n            var quatStart = createQuaternion(keyData.s);\n            var quatEnd = createQuaternion(endValue);\n            var time = (frameNum - keyTime) / (nextKeyTime - keyTime);\n            quaternionToEuler(newValue, slerp(quatStart, quatEnd, time));\n          }\n        } else {\n          for (i = 0; i < len; i += 1) {\n            if (keyData.h !== 1) {\n              if (frameNum >= nextKeyTime) {\n                perc = 1;\n              } else if (frameNum < keyTime) {\n                perc = 0;\n              } else {\n                if (keyData.o.x.constructor === Array) {\n                  if (!keyData.__fnct) {\n                    keyData.__fnct = [];\n                  }\n\n                  if (!keyData.__fnct[i]) {\n                    outX = typeof keyData.o.x[i] === \"undefined\" ? keyData.o.x[0] : keyData.o.x[i];\n                    outY = typeof keyData.o.y[i] === \"undefined\" ? keyData.o.y[0] : keyData.o.y[i];\n                    inX = typeof keyData.i.x[i] === \"undefined\" ? keyData.i.x[0] : keyData.i.x[i];\n                    inY = typeof keyData.i.y[i] === \"undefined\" ? keyData.i.y[0] : keyData.i.y[i];\n                    fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n                    keyData.__fnct[i] = fnc;\n                  } else {\n                    fnc = keyData.__fnct[i];\n                  }\n                } else if (!keyData.__fnct) {\n                  outX = keyData.o.x;\n                  outY = keyData.o.y;\n                  inX = keyData.i.x;\n                  inY = keyData.i.y;\n                  fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n                  keyData.__fnct = fnc;\n                } else {\n                  fnc = keyData.__fnct;\n                }\n\n                perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n              }\n            }\n\n            endValue = nextKeyData.s || keyData.e;\n            keyValue = keyData.h === 1 ? keyData.s[i] : keyData.s[i] + (endValue[i] - keyData.s[i]) * perc;\n\n            if ((this || _global).propType === \"multidimensional\") {\n              newValue[i] = keyValue;\n            } else {\n              newValue = keyValue;\n            }\n          }\n        }\n      }\n\n      caching.lastIndex = iterationIndex;\n      return newValue;\n    } // based on @Toji's https://github.com/toji/gl-matrix/\n\n\n    function slerp(a, b, t) {\n      var out = [];\n      var ax = a[0];\n      var ay = a[1];\n      var az = a[2];\n      var aw = a[3];\n      var bx = b[0];\n      var by = b[1];\n      var bz = b[2];\n      var bw = b[3];\n      var omega;\n      var cosom;\n      var sinom;\n      var scale0;\n      var scale1;\n      cosom = ax * bx + ay * by + az * bz + aw * bw;\n\n      if (cosom < 0) {\n        cosom = -cosom;\n        bx = -bx;\n        by = -by;\n        bz = -bz;\n        bw = -bw;\n      }\n\n      if (1 - cosom > 0.000001) {\n        omega = Math.acos(cosom);\n        sinom = Math.sin(omega);\n        scale0 = Math.sin((1 - t) * omega) / sinom;\n        scale1 = Math.sin(t * omega) / sinom;\n      } else {\n        scale0 = 1 - t;\n        scale1 = t;\n      }\n\n      out[0] = scale0 * ax + scale1 * bx;\n      out[1] = scale0 * ay + scale1 * by;\n      out[2] = scale0 * az + scale1 * bz;\n      out[3] = scale0 * aw + scale1 * bw;\n      return out;\n    }\n\n    function quaternionToEuler(out, quat) {\n      var qx = quat[0];\n      var qy = quat[1];\n      var qz = quat[2];\n      var qw = quat[3];\n      var heading = Math.atan2(2 * qy * qw - 2 * qx * qz, 1 - 2 * qy * qy - 2 * qz * qz);\n      var attitude = Math.asin(2 * qx * qy + 2 * qz * qw);\n      var bank = Math.atan2(2 * qx * qw - 2 * qy * qz, 1 - 2 * qx * qx - 2 * qz * qz);\n      out[0] = heading / degToRads;\n      out[1] = attitude / degToRads;\n      out[2] = bank / degToRads;\n    }\n\n    function createQuaternion(values) {\n      var heading = values[0] * degToRads;\n      var attitude = values[1] * degToRads;\n      var bank = values[2] * degToRads;\n      var c1 = Math.cos(heading / 2);\n      var c2 = Math.cos(attitude / 2);\n      var c3 = Math.cos(bank / 2);\n      var s1 = Math.sin(heading / 2);\n      var s2 = Math.sin(attitude / 2);\n      var s3 = Math.sin(bank / 2);\n      var w = c1 * c2 * c3 - s1 * s2 * s3;\n      var x = s1 * s2 * c3 + c1 * c2 * s3;\n      var y = s1 * c2 * c3 + c1 * s2 * s3;\n      var z = c1 * s2 * c3 - s1 * c2 * s3;\n      return [x, y, z, w];\n    }\n\n    function getValueAtCurrentTime() {\n      var frameNum = (this || _global).comp.renderedFrame - (this || _global).offsetTime;\n      var initTime = (this || _global).keyframes[0].t - (this || _global).offsetTime;\n      var endTime = (this || _global).keyframes[(this || _global).keyframes.length - 1].t - (this || _global).offsetTime;\n\n      if (!(frameNum === (this || _global)._caching.lastFrame || (this || _global)._caching.lastFrame !== initFrame && ((this || _global)._caching.lastFrame >= endTime && frameNum >= endTime || (this || _global)._caching.lastFrame < initTime && frameNum < initTime))) {\n        if ((this || _global)._caching.lastFrame >= frameNum) {\n          (this || _global)._caching._lastKeyframeIndex = -1;\n          (this || _global)._caching.lastIndex = 0;\n        }\n\n        var renderResult = this.interpolateValue(frameNum, (this || _global)._caching);\n        (this || _global).pv = renderResult;\n      }\n\n      (this || _global)._caching.lastFrame = frameNum;\n      return (this || _global).pv;\n    }\n\n    function setVValue(val) {\n      var multipliedValue;\n\n      if ((this || _global).propType === \"unidimensional\") {\n        multipliedValue = val * (this || _global).mult;\n\n        if (mathAbs((this || _global).v - multipliedValue) > 0.00001) {\n          (this || _global).v = multipliedValue;\n          (this || _global)._mdf = true;\n        }\n      } else {\n        var i = 0;\n        var len = (this || _global).v.length;\n\n        while (i < len) {\n          multipliedValue = val[i] * (this || _global).mult;\n\n          if (mathAbs((this || _global).v[i] - multipliedValue) > 0.00001) {\n            (this || _global).v[i] = multipliedValue;\n            (this || _global)._mdf = true;\n          }\n\n          i += 1;\n        }\n      }\n    }\n\n    function processEffectsSequence() {\n      if ((this || _global).elem.globalData.frameId === (this || _global).frameId || !(this || _global).effectsSequence.length) {\n        return;\n      }\n\n      if ((this || _global).lock) {\n        this.setVValue((this || _global).pv);\n        return;\n      }\n\n      (this || _global).lock = true;\n      (this || _global)._mdf = (this || _global)._isFirstFrame;\n      var i;\n      var len = (this || _global).effectsSequence.length;\n      var finalValue = (this || _global).kf ? (this || _global).pv : (this || _global).data.k;\n\n      for (i = 0; i < len; i += 1) {\n        finalValue = (this || _global).effectsSequence[i](finalValue);\n      }\n\n      this.setVValue(finalValue);\n      (this || _global)._isFirstFrame = false;\n      (this || _global).lock = false;\n      (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    }\n\n    function addEffect(effectFunction) {\n      (this || _global).effectsSequence.push(effectFunction);\n\n      (this || _global).container.addDynamicProperty(this || _global);\n    }\n\n    function ValueProperty(elem, data, mult, container) {\n      (this || _global).propType = \"unidimensional\";\n      (this || _global).mult = mult || 1;\n      (this || _global).data = data;\n      (this || _global).v = mult ? data.k * mult : data.k;\n      (this || _global).pv = data.k;\n      (this || _global)._mdf = false;\n      (this || _global).elem = elem;\n      (this || _global).container = container;\n      (this || _global).comp = elem.comp;\n      (this || _global).k = false;\n      (this || _global).kf = false;\n      (this || _global).vel = 0;\n      (this || _global).effectsSequence = [];\n      (this || _global)._isFirstFrame = true;\n      (this || _global).getValue = processEffectsSequence;\n      (this || _global).setVValue = setVValue;\n      (this || _global).addEffect = addEffect;\n    }\n\n    function MultiDimensionalProperty(elem, data, mult, container) {\n      (this || _global).propType = \"multidimensional\";\n      (this || _global).mult = mult || 1;\n      (this || _global).data = data;\n      (this || _global)._mdf = false;\n      (this || _global).elem = elem;\n      (this || _global).container = container;\n      (this || _global).comp = elem.comp;\n      (this || _global).k = false;\n      (this || _global).kf = false;\n      (this || _global).frameId = -1;\n      var i;\n      var len = data.k.length;\n      (this || _global).v = createTypedArray(\"float32\", len);\n      (this || _global).pv = createTypedArray(\"float32\", len);\n      (this || _global).vel = createTypedArray(\"float32\", len);\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).v[i] = data.k[i] * (this || _global).mult;\n        (this || _global).pv[i] = data.k[i];\n      }\n\n      (this || _global)._isFirstFrame = true;\n      (this || _global).effectsSequence = [];\n      (this || _global).getValue = processEffectsSequence;\n      (this || _global).setVValue = setVValue;\n      (this || _global).addEffect = addEffect;\n    }\n\n    function KeyframedValueProperty(elem, data, mult, container) {\n      (this || _global).propType = \"unidimensional\";\n      (this || _global).keyframes = data.k;\n      (this || _global).offsetTime = elem.data.st;\n      (this || _global).frameId = -1;\n      (this || _global)._caching = {\n        lastFrame: initFrame,\n        lastIndex: 0,\n        value: 0,\n        _lastKeyframeIndex: -1\n      };\n      (this || _global).k = true;\n      (this || _global).kf = true;\n      (this || _global).data = data;\n      (this || _global).mult = mult || 1;\n      (this || _global).elem = elem;\n      (this || _global).container = container;\n      (this || _global).comp = elem.comp;\n      (this || _global).v = initFrame;\n      (this || _global).pv = initFrame;\n      (this || _global)._isFirstFrame = true;\n      (this || _global).getValue = processEffectsSequence;\n      (this || _global).setVValue = setVValue;\n      (this || _global).interpolateValue = interpolateValue;\n      (this || _global).effectsSequence = [getValueAtCurrentTime.bind(this || _global)];\n      (this || _global).addEffect = addEffect;\n    }\n\n    function KeyframedMultidimensionalProperty(elem, data, mult, container) {\n      (this || _global).propType = \"multidimensional\";\n      var i;\n      var len = data.k.length;\n      var s;\n      var e;\n      var to;\n      var ti;\n\n      for (i = 0; i < len - 1; i += 1) {\n        if (data.k[i].to && data.k[i].s && data.k[i + 1] && data.k[i + 1].s) {\n          s = data.k[i].s;\n          e = data.k[i + 1].s;\n          to = data.k[i].to;\n          ti = data.k[i].ti;\n\n          if (s.length === 2 && !(s[0] === e[0] && s[1] === e[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], s[0] + to[0], s[1] + to[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], e[0] + ti[0], e[1] + ti[1]) || s.length === 3 && !(s[0] === e[0] && s[1] === e[1] && s[2] === e[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], s[0] + to[0], s[1] + to[1], s[2] + to[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], e[0] + ti[0], e[1] + ti[1], e[2] + ti[2])) {\n            data.k[i].to = null;\n            data.k[i].ti = null;\n          }\n\n          if (s[0] === e[0] && s[1] === e[1] && to[0] === 0 && to[1] === 0 && ti[0] === 0 && ti[1] === 0) {\n            if (s.length === 2 || s[2] === e[2] && to[2] === 0 && ti[2] === 0) {\n              data.k[i].to = null;\n              data.k[i].ti = null;\n            }\n          }\n        }\n      }\n\n      (this || _global).effectsSequence = [getValueAtCurrentTime.bind(this || _global)];\n      (this || _global).data = data;\n      (this || _global).keyframes = data.k;\n      (this || _global).offsetTime = elem.data.st;\n      (this || _global).k = true;\n      (this || _global).kf = true;\n      (this || _global)._isFirstFrame = true;\n      (this || _global).mult = mult || 1;\n      (this || _global).elem = elem;\n      (this || _global).container = container;\n      (this || _global).comp = elem.comp;\n      (this || _global).getValue = processEffectsSequence;\n      (this || _global).setVValue = setVValue;\n      (this || _global).interpolateValue = interpolateValue;\n      (this || _global).frameId = -1;\n      var arrLen = data.k[0].s.length;\n      (this || _global).v = createTypedArray(\"float32\", arrLen);\n      (this || _global).pv = createTypedArray(\"float32\", arrLen);\n\n      for (i = 0; i < arrLen; i += 1) {\n        (this || _global).v[i] = initFrame;\n        (this || _global).pv[i] = initFrame;\n      }\n\n      (this || _global)._caching = {\n        lastFrame: initFrame,\n        lastIndex: 0,\n        value: createTypedArray(\"float32\", arrLen)\n      };\n      (this || _global).addEffect = addEffect;\n    }\n\n    function getProp(elem, data, type, mult, container) {\n      var p;\n\n      if (!data.k.length) {\n        p = new ValueProperty(elem, data, mult, container);\n      } else if (typeof data.k[0] === \"number\") {\n        p = new MultiDimensionalProperty(elem, data, mult, container);\n      } else {\n        switch (type) {\n          case 0:\n            p = new KeyframedValueProperty(elem, data, mult, container);\n            break;\n\n          case 1:\n            p = new KeyframedMultidimensionalProperty(elem, data, mult, container);\n            break;\n\n          default:\n            break;\n        }\n      }\n\n      if (p.effectsSequence.length) {\n        container.addDynamicProperty(p);\n      }\n\n      return p;\n    }\n\n    var ob = {\n      getProp: getProp\n    };\n    return ob;\n  }();\n  /* global Matrix, degToRads, PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n  /* exported TransformPropertyFactory */\n\n\n  var TransformPropertyFactory = function () {\n    var defaultVector = [0, 0];\n\n    function applyToMatrix(mat) {\n      var _mdf = (this || _global)._mdf;\n      this.iterateDynamicProperties();\n      (this || _global)._mdf = (this || _global)._mdf || _mdf;\n\n      if ((this || _global).a) {\n        mat.translate(-(this || _global).a.v[0], -(this || _global).a.v[1], (this || _global).a.v[2]);\n      }\n\n      if ((this || _global).s) {\n        mat.scale((this || _global).s.v[0], (this || _global).s.v[1], (this || _global).s.v[2]);\n      }\n\n      if ((this || _global).sk) {\n        mat.skewFromAxis(-(this || _global).sk.v, (this || _global).sa.v);\n      }\n\n      if ((this || _global).r) {\n        mat.rotate(-(this || _global).r.v);\n      } else {\n        mat.rotateZ(-(this || _global).rz.v).rotateY((this || _global).ry.v).rotateX((this || _global).rx.v).rotateZ(-(this || _global).or.v[2]).rotateY((this || _global).or.v[1]).rotateX((this || _global).or.v[0]);\n      }\n\n      if ((this || _global).data.p.s) {\n        if ((this || _global).data.p.z) {\n          mat.translate((this || _global).px.v, (this || _global).py.v, -(this || _global).pz.v);\n        } else {\n          mat.translate((this || _global).px.v, (this || _global).py.v, 0);\n        }\n      } else {\n        mat.translate((this || _global).p.v[0], (this || _global).p.v[1], -(this || _global).p.v[2]);\n      }\n    }\n\n    function processKeys(forceRender) {\n      if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n        return;\n      }\n\n      if ((this || _global)._isDirty) {\n        this.precalculateMatrix();\n        (this || _global)._isDirty = false;\n      }\n\n      this.iterateDynamicProperties();\n\n      if ((this || _global)._mdf || forceRender) {\n        var frameRate;\n\n        (this || _global).v.cloneFromProps((this || _global).pre.props);\n\n        if ((this || _global).appliedTransformations < 1) {\n          (this || _global).v.translate(-(this || _global).a.v[0], -(this || _global).a.v[1], (this || _global).a.v[2]);\n        }\n\n        if ((this || _global).appliedTransformations < 2) {\n          (this || _global).v.scale((this || _global).s.v[0], (this || _global).s.v[1], (this || _global).s.v[2]);\n        }\n\n        if ((this || _global).sk && (this || _global).appliedTransformations < 3) {\n          (this || _global).v.skewFromAxis(-(this || _global).sk.v, (this || _global).sa.v);\n        }\n\n        if ((this || _global).r && (this || _global).appliedTransformations < 4) {\n          (this || _global).v.rotate(-(this || _global).r.v);\n        } else if (!(this || _global).r && (this || _global).appliedTransformations < 4) {\n          (this || _global).v.rotateZ(-(this || _global).rz.v).rotateY((this || _global).ry.v).rotateX((this || _global).rx.v).rotateZ(-(this || _global).or.v[2]).rotateY((this || _global).or.v[1]).rotateX((this || _global).or.v[0]);\n        }\n\n        if ((this || _global).autoOriented) {\n          var v1;\n          var v2;\n          frameRate = (this || _global).elem.globalData.frameRate;\n\n          if ((this || _global).p && (this || _global).p.keyframes && (this || _global).p.getValueAtTime) {\n            if ((this || _global).p._caching.lastFrame + (this || _global).p.offsetTime <= (this || _global).p.keyframes[0].t) {\n              v1 = (this || _global).p.getValueAtTime(((this || _global).p.keyframes[0].t + 0.01) / frameRate, 0);\n              v2 = (this || _global).p.getValueAtTime((this || _global).p.keyframes[0].t / frameRate, 0);\n            } else if ((this || _global).p._caching.lastFrame + (this || _global).p.offsetTime >= (this || _global).p.keyframes[(this || _global).p.keyframes.length - 1].t) {\n              v1 = (this || _global).p.getValueAtTime((this || _global).p.keyframes[(this || _global).p.keyframes.length - 1].t / frameRate, 0);\n              v2 = (this || _global).p.getValueAtTime(((this || _global).p.keyframes[(this || _global).p.keyframes.length - 1].t - 0.05) / frameRate, 0);\n            } else {\n              v1 = (this || _global).p.pv;\n              v2 = (this || _global).p.getValueAtTime(((this || _global).p._caching.lastFrame + (this || _global).p.offsetTime - 0.01) / frameRate, (this || _global).p.offsetTime);\n            }\n          } else if ((this || _global).px && (this || _global).px.keyframes && (this || _global).py.keyframes && (this || _global).px.getValueAtTime && (this || _global).py.getValueAtTime) {\n            v1 = [];\n            v2 = [];\n            var px = (this || _global).px;\n            var py = (this || _global).py;\n\n            if (px._caching.lastFrame + px.offsetTime <= px.keyframes[0].t) {\n              v1[0] = px.getValueAtTime((px.keyframes[0].t + 0.01) / frameRate, 0);\n              v1[1] = py.getValueAtTime((py.keyframes[0].t + 0.01) / frameRate, 0);\n              v2[0] = px.getValueAtTime(px.keyframes[0].t / frameRate, 0);\n              v2[1] = py.getValueAtTime(py.keyframes[0].t / frameRate, 0);\n            } else if (px._caching.lastFrame + px.offsetTime >= px.keyframes[px.keyframes.length - 1].t) {\n              v1[0] = px.getValueAtTime(px.keyframes[px.keyframes.length - 1].t / frameRate, 0);\n              v1[1] = py.getValueAtTime(py.keyframes[py.keyframes.length - 1].t / frameRate, 0);\n              v2[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t - 0.01) / frameRate, 0);\n              v2[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t - 0.01) / frameRate, 0);\n            } else {\n              v1 = [px.pv, py.pv];\n              v2[0] = px.getValueAtTime((px._caching.lastFrame + px.offsetTime - 0.01) / frameRate, px.offsetTime);\n              v2[1] = py.getValueAtTime((py._caching.lastFrame + py.offsetTime - 0.01) / frameRate, py.offsetTime);\n            }\n          } else {\n            v2 = defaultVector;\n            v1 = v2;\n          }\n\n          (this || _global).v.rotate(-Math.atan2(v1[1] - v2[1], v1[0] - v2[0]));\n        }\n\n        if ((this || _global).data.p && (this || _global).data.p.s) {\n          if ((this || _global).data.p.z) {\n            (this || _global).v.translate((this || _global).px.v, (this || _global).py.v, -(this || _global).pz.v);\n          } else {\n            (this || _global).v.translate((this || _global).px.v, (this || _global).py.v, 0);\n          }\n        } else {\n          (this || _global).v.translate((this || _global).p.v[0], (this || _global).p.v[1], -(this || _global).p.v[2]);\n        }\n      }\n\n      (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    }\n\n    function precalculateMatrix() {\n      if (!(this || _global).a.k) {\n        (this || _global).pre.translate(-(this || _global).a.v[0], -(this || _global).a.v[1], (this || _global).a.v[2]);\n\n        (this || _global).appliedTransformations = 1;\n      } else {\n        return;\n      }\n\n      if (!(this || _global).s.effectsSequence.length) {\n        (this || _global).pre.scale((this || _global).s.v[0], (this || _global).s.v[1], (this || _global).s.v[2]);\n\n        (this || _global).appliedTransformations = 2;\n      } else {\n        return;\n      }\n\n      if ((this || _global).sk) {\n        if (!(this || _global).sk.effectsSequence.length && !(this || _global).sa.effectsSequence.length) {\n          (this || _global).pre.skewFromAxis(-(this || _global).sk.v, (this || _global).sa.v);\n\n          (this || _global).appliedTransformations = 3;\n        } else {\n          return;\n        }\n      }\n\n      if ((this || _global).r) {\n        if (!(this || _global).r.effectsSequence.length) {\n          (this || _global).pre.rotate(-(this || _global).r.v);\n\n          (this || _global).appliedTransformations = 4;\n        }\n      } else if (!(this || _global).rz.effectsSequence.length && !(this || _global).ry.effectsSequence.length && !(this || _global).rx.effectsSequence.length && !(this || _global).or.effectsSequence.length) {\n        (this || _global).pre.rotateZ(-(this || _global).rz.v).rotateY((this || _global).ry.v).rotateX((this || _global).rx.v).rotateZ(-(this || _global).or.v[2]).rotateY((this || _global).or.v[1]).rotateX((this || _global).or.v[0]);\n\n        (this || _global).appliedTransformations = 4;\n      }\n    }\n\n    function autoOrient() {//\n      // var prevP = this.getValueAtTime();\n    }\n\n    function addDynamicProperty(prop) {\n      this._addDynamicProperty(prop);\n\n      (this || _global).elem.addDynamicProperty(prop);\n\n      (this || _global)._isDirty = true;\n    }\n\n    function TransformProperty(elem, data, container) {\n      (this || _global).elem = elem;\n      (this || _global).frameId = -1;\n      (this || _global).propType = \"transform\";\n      (this || _global).data = data;\n      (this || _global).v = new Matrix(); // Precalculated matrix with non animated properties\n\n      (this || _global).pre = new Matrix();\n      (this || _global).appliedTransformations = 0;\n      this.initDynamicPropertyContainer(container || elem);\n\n      if (data.p && data.p.s) {\n        (this || _global).px = PropertyFactory.getProp(elem, data.p.x, 0, 0, this || _global);\n        (this || _global).py = PropertyFactory.getProp(elem, data.p.y, 0, 0, this || _global);\n\n        if (data.p.z) {\n          (this || _global).pz = PropertyFactory.getProp(elem, data.p.z, 0, 0, this || _global);\n        }\n      } else {\n        (this || _global).p = PropertyFactory.getProp(elem, data.p || {\n          k: [0, 0, 0]\n        }, 1, 0, this || _global);\n      }\n\n      if (data.rx) {\n        (this || _global).rx = PropertyFactory.getProp(elem, data.rx, 0, degToRads, this || _global);\n        (this || _global).ry = PropertyFactory.getProp(elem, data.ry, 0, degToRads, this || _global);\n        (this || _global).rz = PropertyFactory.getProp(elem, data.rz, 0, degToRads, this || _global);\n\n        if (data.or.k[0].ti) {\n          var i;\n          var len = data.or.k.length;\n\n          for (i = 0; i < len; i += 1) {\n            data.or.k[i].to = null;\n            data.or.k[i].ti = null;\n          }\n        }\n\n        (this || _global).or = PropertyFactory.getProp(elem, data.or, 1, degToRads, this || _global); // sh Indicates it needs to be capped between -180 and 180\n\n        (this || _global).or.sh = true;\n      } else {\n        (this || _global).r = PropertyFactory.getProp(elem, data.r || {\n          k: 0\n        }, 0, degToRads, this || _global);\n      }\n\n      if (data.sk) {\n        (this || _global).sk = PropertyFactory.getProp(elem, data.sk, 0, degToRads, this || _global);\n        (this || _global).sa = PropertyFactory.getProp(elem, data.sa, 0, degToRads, this || _global);\n      }\n\n      (this || _global).a = PropertyFactory.getProp(elem, data.a || {\n        k: [0, 0, 0]\n      }, 1, 0, this || _global);\n      (this || _global).s = PropertyFactory.getProp(elem, data.s || {\n        k: [100, 100, 100]\n      }, 1, 0.01, this || _global); // Opacity is not part of the transform properties, that's why it won't use this.dynamicProperties. That way transforms won't get updated if opacity changes.\n\n      if (data.o) {\n        (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0.01, elem);\n      } else {\n        (this || _global).o = {\n          _mdf: false,\n          v: 1\n        };\n      }\n\n      (this || _global)._isDirty = true;\n\n      if (!(this || _global).dynamicProperties.length) {\n        this.getValue(true);\n      }\n    }\n\n    TransformProperty.prototype = {\n      applyToMatrix: applyToMatrix,\n      getValue: processKeys,\n      precalculateMatrix: precalculateMatrix,\n      autoOrient: autoOrient\n    };\n    extendPrototype([DynamicPropertyContainer], TransformProperty);\n    TransformProperty.prototype.addDynamicProperty = addDynamicProperty;\n    TransformProperty.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty;\n\n    function getTransformProperty(elem, data, container) {\n      return new TransformProperty(elem, data, container);\n    }\n\n    return {\n      getTransformProperty: getTransformProperty\n    };\n  }();\n  /* global createSizedArray, createSizedArray, pointPool */\n\n\n  function ShapePath() {\n    (this || _global).c = false;\n    (this || _global)._length = 0;\n    (this || _global)._maxLength = 8;\n    (this || _global).v = createSizedArray((this || _global)._maxLength);\n    (this || _global).o = createSizedArray((this || _global)._maxLength);\n    (this || _global).i = createSizedArray((this || _global)._maxLength);\n  }\n\n  ShapePath.prototype.setPathData = function (closed, len) {\n    (this || _global).c = closed;\n    this.setLength(len);\n    var i = 0;\n\n    while (i < len) {\n      (this || _global).v[i] = pointPool.newElement();\n      (this || _global).o[i] = pointPool.newElement();\n      (this || _global).i[i] = pointPool.newElement();\n      i += 1;\n    }\n  };\n\n  ShapePath.prototype.setLength = function (len) {\n    while ((this || _global)._maxLength < len) {\n      this.doubleArrayLength();\n    }\n\n    (this || _global)._length = len;\n  };\n\n  ShapePath.prototype.doubleArrayLength = function () {\n    (this || _global).v = (this || _global).v.concat(createSizedArray((this || _global)._maxLength));\n    (this || _global).i = (this || _global).i.concat(createSizedArray((this || _global)._maxLength));\n    (this || _global).o = (this || _global).o.concat(createSizedArray((this || _global)._maxLength));\n    (this || _global)._maxLength *= 2;\n  };\n\n  ShapePath.prototype.setXYAt = function (x, y, type, pos, replace) {\n    var arr;\n    (this || _global)._length = Math.max((this || _global)._length, pos + 1);\n\n    if ((this || _global)._length >= (this || _global)._maxLength) {\n      this.doubleArrayLength();\n    }\n\n    switch (type) {\n      case \"v\":\n        arr = (this || _global).v;\n        break;\n\n      case \"i\":\n        arr = (this || _global).i;\n        break;\n\n      case \"o\":\n        arr = (this || _global).o;\n        break;\n\n      default:\n        arr = [];\n        break;\n    }\n\n    if (!arr[pos] || arr[pos] && !replace) {\n      arr[pos] = pointPool.newElement();\n    }\n\n    arr[pos][0] = x;\n    arr[pos][1] = y;\n  };\n\n  ShapePath.prototype.setTripleAt = function (vX, vY, oX, oY, iX, iY, pos, replace) {\n    this.setXYAt(vX, vY, \"v\", pos, replace);\n    this.setXYAt(oX, oY, \"o\", pos, replace);\n    this.setXYAt(iX, iY, \"i\", pos, replace);\n  };\n\n  ShapePath.prototype.reverse = function () {\n    var newPath = new ShapePath();\n    newPath.setPathData((this || _global).c, (this || _global)._length);\n    var vertices = (this || _global).v;\n    var outPoints = (this || _global).o;\n    var inPoints = (this || _global).i;\n    var init = 0;\n\n    if ((this || _global).c) {\n      newPath.setTripleAt(vertices[0][0], vertices[0][1], inPoints[0][0], inPoints[0][1], outPoints[0][0], outPoints[0][1], 0, false);\n      init = 1;\n    }\n\n    var cnt = (this || _global)._length - 1;\n    var len = (this || _global)._length;\n    var i;\n\n    for (i = init; i < len; i += 1) {\n      newPath.setTripleAt(vertices[cnt][0], vertices[cnt][1], inPoints[cnt][0], inPoints[cnt][1], outPoints[cnt][0], outPoints[cnt][1], i, false);\n      cnt -= 1;\n    }\n\n    return newPath;\n  };\n  /* global extendPrototype, roundCorner, BezierFactory, shapePool, degToRads,\r\n    shapeCollectionPool, PropertyFactory, bmMin, DynamicPropertyContainer */\n\n  /* exported ShapePropertyFactory */\n\n\n  var ShapePropertyFactory = function () {\n    var initFrame = -999999;\n\n    function interpolateShape(frameNum, previousValue, caching) {\n      var iterationIndex = caching.lastIndex;\n      var keyPropS;\n      var keyPropE;\n      var isHold;\n      var j;\n      var k;\n      var jLen;\n      var kLen;\n      var perc;\n      var vertexValue;\n      var kf = (this || _global).keyframes;\n\n      if (frameNum < kf[0].t - (this || _global).offsetTime) {\n        keyPropS = kf[0].s[0];\n        isHold = true;\n        iterationIndex = 0;\n      } else if (frameNum >= kf[kf.length - 1].t - (this || _global).offsetTime) {\n        keyPropS = kf[kf.length - 1].s ? kf[kf.length - 1].s[0] : kf[kf.length - 2].e[0];\n        /* if(kf[kf.length - 1].s){\r\n                  keyPropS = kf[kf.length - 1].s[0];\r\n              }else{\r\n                  keyPropS = kf[kf.length - 2].e[0];\r\n              } */\n\n        isHold = true;\n      } else {\n        var i = iterationIndex;\n        var len = kf.length - 1;\n        var flag = true;\n        var keyData;\n        var nextKeyData;\n\n        while (flag) {\n          keyData = kf[i];\n          nextKeyData = kf[i + 1];\n\n          if (nextKeyData.t - (this || _global).offsetTime > frameNum) {\n            break;\n          }\n\n          if (i < len - 1) {\n            i += 1;\n          } else {\n            flag = false;\n          }\n        }\n\n        isHold = keyData.h === 1;\n        iterationIndex = i;\n\n        if (!isHold) {\n          if (frameNum >= nextKeyData.t - (this || _global).offsetTime) {\n            perc = 1;\n          } else if (frameNum < keyData.t - (this || _global).offsetTime) {\n            perc = 0;\n          } else {\n            var fnc;\n\n            if (keyData.__fnct) {\n              fnc = keyData.__fnct;\n            } else {\n              fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y).get;\n              keyData.__fnct = fnc;\n            }\n\n            perc = fnc((frameNum - (keyData.t - (this || _global).offsetTime)) / (nextKeyData.t - (this || _global).offsetTime - (keyData.t - (this || _global).offsetTime)));\n          }\n\n          keyPropE = nextKeyData.s ? nextKeyData.s[0] : keyData.e[0];\n        }\n\n        keyPropS = keyData.s[0];\n      }\n\n      jLen = previousValue._length;\n      kLen = keyPropS.i[0].length;\n      caching.lastIndex = iterationIndex;\n\n      for (j = 0; j < jLen; j += 1) {\n        for (k = 0; k < kLen; k += 1) {\n          vertexValue = isHold ? keyPropS.i[j][k] : keyPropS.i[j][k] + (keyPropE.i[j][k] - keyPropS.i[j][k]) * perc;\n          previousValue.i[j][k] = vertexValue;\n          vertexValue = isHold ? keyPropS.o[j][k] : keyPropS.o[j][k] + (keyPropE.o[j][k] - keyPropS.o[j][k]) * perc;\n          previousValue.o[j][k] = vertexValue;\n          vertexValue = isHold ? keyPropS.v[j][k] : keyPropS.v[j][k] + (keyPropE.v[j][k] - keyPropS.v[j][k]) * perc;\n          previousValue.v[j][k] = vertexValue;\n        }\n      }\n    }\n\n    function interpolateShapeCurrentTime() {\n      var frameNum = (this || _global).comp.renderedFrame - (this || _global).offsetTime;\n      var initTime = (this || _global).keyframes[0].t - (this || _global).offsetTime;\n      var endTime = (this || _global).keyframes[(this || _global).keyframes.length - 1].t - (this || _global).offsetTime;\n      var lastFrame = (this || _global)._caching.lastFrame;\n\n      if (!(lastFrame !== initFrame && (lastFrame < initTime && frameNum < initTime || lastFrame > endTime && frameNum > endTime))) {\n        /// /\n        (this || _global)._caching.lastIndex = lastFrame < frameNum ? (this || _global)._caching.lastIndex : 0;\n        this.interpolateShape(frameNum, (this || _global).pv, (this || _global)._caching); /// /\n      }\n\n      (this || _global)._caching.lastFrame = frameNum;\n      return (this || _global).pv;\n    }\n\n    function resetShape() {\n      (this || _global).paths = (this || _global).localShapeCollection;\n    }\n\n    function shapesEqual(shape1, shape2) {\n      if (shape1._length !== shape2._length || shape1.c !== shape2.c) {\n        return false;\n      }\n\n      var i;\n      var len = shape1._length;\n\n      for (i = 0; i < len; i += 1) {\n        if (shape1.v[i][0] !== shape2.v[i][0] || shape1.v[i][1] !== shape2.v[i][1] || shape1.o[i][0] !== shape2.o[i][0] || shape1.o[i][1] !== shape2.o[i][1] || shape1.i[i][0] !== shape2.i[i][0] || shape1.i[i][1] !== shape2.i[i][1]) {\n          return false;\n        }\n      }\n\n      return true;\n    }\n\n    function setVValue(newPath) {\n      if (!shapesEqual((this || _global).v, newPath)) {\n        (this || _global).v = shapePool.clone(newPath);\n\n        (this || _global).localShapeCollection.releaseShapes();\n\n        (this || _global).localShapeCollection.addShape((this || _global).v);\n\n        (this || _global)._mdf = true;\n        (this || _global).paths = (this || _global).localShapeCollection;\n      }\n    }\n\n    function processEffectsSequence() {\n      if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n        return;\n      }\n\n      if (!(this || _global).effectsSequence.length) {\n        (this || _global)._mdf = false;\n        return;\n      }\n\n      if ((this || _global).lock) {\n        this.setVValue((this || _global).pv);\n        return;\n      }\n\n      (this || _global).lock = true;\n      (this || _global)._mdf = false;\n      var finalValue;\n\n      if ((this || _global).kf) {\n        finalValue = (this || _global).pv;\n      } else if ((this || _global).data.ks) {\n        finalValue = (this || _global).data.ks.k;\n      } else {\n        finalValue = (this || _global).data.pt.k;\n      }\n\n      var i;\n      var len = (this || _global).effectsSequence.length;\n\n      for (i = 0; i < len; i += 1) {\n        finalValue = (this || _global).effectsSequence[i](finalValue);\n      }\n\n      this.setVValue(finalValue);\n      (this || _global).lock = false;\n      (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    }\n\n    function ShapeProperty(elem, data, type) {\n      (this || _global).propType = \"shape\";\n      (this || _global).comp = elem.comp;\n      (this || _global).container = elem;\n      (this || _global).elem = elem;\n      (this || _global).data = data;\n      (this || _global).k = false;\n      (this || _global).kf = false;\n      (this || _global)._mdf = false;\n      var pathData = type === 3 ? data.pt.k : data.ks.k;\n      (this || _global).v = shapePool.clone(pathData);\n      (this || _global).pv = shapePool.clone((this || _global).v);\n      (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n      (this || _global).paths = (this || _global).localShapeCollection;\n\n      (this || _global).paths.addShape((this || _global).v);\n\n      (this || _global).reset = resetShape;\n      (this || _global).effectsSequence = [];\n    }\n\n    function addEffect(effectFunction) {\n      (this || _global).effectsSequence.push(effectFunction);\n\n      (this || _global).container.addDynamicProperty(this || _global);\n    }\n\n    ShapeProperty.prototype.interpolateShape = interpolateShape;\n    ShapeProperty.prototype.getValue = processEffectsSequence;\n    ShapeProperty.prototype.setVValue = setVValue;\n    ShapeProperty.prototype.addEffect = addEffect;\n\n    function KeyframedShapeProperty(elem, data, type) {\n      (this || _global).propType = \"shape\";\n      (this || _global).comp = elem.comp;\n      (this || _global).elem = elem;\n      (this || _global).container = elem;\n      (this || _global).offsetTime = elem.data.st;\n      (this || _global).keyframes = type === 3 ? data.pt.k : data.ks.k;\n      (this || _global).k = true;\n      (this || _global).kf = true;\n      var len = (this || _global).keyframes[0].s[0].i.length;\n      (this || _global).v = shapePool.newElement();\n\n      (this || _global).v.setPathData((this || _global).keyframes[0].s[0].c, len);\n\n      (this || _global).pv = shapePool.clone((this || _global).v);\n      (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n      (this || _global).paths = (this || _global).localShapeCollection;\n\n      (this || _global).paths.addShape((this || _global).v);\n\n      (this || _global).lastFrame = initFrame;\n      (this || _global).reset = resetShape;\n      (this || _global)._caching = {\n        lastFrame: initFrame,\n        lastIndex: 0\n      };\n      (this || _global).effectsSequence = [interpolateShapeCurrentTime.bind(this || _global)];\n    }\n\n    KeyframedShapeProperty.prototype.getValue = processEffectsSequence;\n    KeyframedShapeProperty.prototype.interpolateShape = interpolateShape;\n    KeyframedShapeProperty.prototype.setVValue = setVValue;\n    KeyframedShapeProperty.prototype.addEffect = addEffect;\n\n    var EllShapeProperty = function () {\n      var cPoint = roundCorner;\n\n      function EllShapePropertyFactory(elem, data) {\n        /* this.v = {\r\n                  v: createSizedArray(4),\r\n                  i: createSizedArray(4),\r\n                  o: createSizedArray(4),\r\n                  c: true\r\n              }; */\n        (this || _global).v = shapePool.newElement();\n\n        (this || _global).v.setPathData(true, 4);\n\n        (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n        (this || _global).paths = (this || _global).localShapeCollection;\n\n        (this || _global).localShapeCollection.addShape((this || _global).v);\n\n        (this || _global).d = data.d;\n        (this || _global).elem = elem;\n        (this || _global).comp = elem.comp;\n        (this || _global).frameId = -1;\n        this.initDynamicPropertyContainer(elem);\n        (this || _global).p = PropertyFactory.getProp(elem, data.p, 1, 0, this || _global);\n        (this || _global).s = PropertyFactory.getProp(elem, data.s, 1, 0, this || _global);\n\n        if ((this || _global).dynamicProperties.length) {\n          (this || _global).k = true;\n        } else {\n          (this || _global).k = false;\n          this.convertEllToPath();\n        }\n      }\n\n      EllShapePropertyFactory.prototype = {\n        reset: resetShape,\n        getValue: function () {\n          if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n            return;\n          }\n\n          (this || _global).frameId = (this || _global).elem.globalData.frameId;\n          this.iterateDynamicProperties();\n\n          if ((this || _global)._mdf) {\n            this.convertEllToPath();\n          }\n        },\n        convertEllToPath: function () {\n          var p0 = (this || _global).p.v[0];\n          var p1 = (this || _global).p.v[1];\n          var s0 = (this || _global).s.v[0] / 2;\n          var s1 = (this || _global).s.v[1] / 2;\n\n          var _cw = (this || _global).d !== 3;\n\n          var _v = (this || _global).v;\n          _v.v[0][0] = p0;\n          _v.v[0][1] = p1 - s1;\n          _v.v[1][0] = _cw ? p0 + s0 : p0 - s0;\n          _v.v[1][1] = p1;\n          _v.v[2][0] = p0;\n          _v.v[2][1] = p1 + s1;\n          _v.v[3][0] = _cw ? p0 - s0 : p0 + s0;\n          _v.v[3][1] = p1;\n          _v.i[0][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n          _v.i[0][1] = p1 - s1;\n          _v.i[1][0] = _cw ? p0 + s0 : p0 - s0;\n          _v.i[1][1] = p1 - s1 * cPoint;\n          _v.i[2][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n          _v.i[2][1] = p1 + s1;\n          _v.i[3][0] = _cw ? p0 - s0 : p0 + s0;\n          _v.i[3][1] = p1 + s1 * cPoint;\n          _v.o[0][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n          _v.o[0][1] = p1 - s1;\n          _v.o[1][0] = _cw ? p0 + s0 : p0 - s0;\n          _v.o[1][1] = p1 + s1 * cPoint;\n          _v.o[2][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n          _v.o[2][1] = p1 + s1;\n          _v.o[3][0] = _cw ? p0 - s0 : p0 + s0;\n          _v.o[3][1] = p1 - s1 * cPoint;\n        }\n      };\n      extendPrototype([DynamicPropertyContainer], EllShapePropertyFactory);\n      return EllShapePropertyFactory;\n    }();\n\n    var StarShapeProperty = function () {\n      function StarShapePropertyFactory(elem, data) {\n        (this || _global).v = shapePool.newElement();\n\n        (this || _global).v.setPathData(true, 0);\n\n        (this || _global).elem = elem;\n        (this || _global).comp = elem.comp;\n        (this || _global).data = data;\n        (this || _global).frameId = -1;\n        (this || _global).d = data.d;\n        this.initDynamicPropertyContainer(elem);\n\n        if (data.sy === 1) {\n          (this || _global).ir = PropertyFactory.getProp(elem, data.ir, 0, 0, this || _global);\n          (this || _global).is = PropertyFactory.getProp(elem, data.is, 0, 0.01, this || _global);\n          (this || _global).convertToPath = (this || _global).convertStarToPath;\n        } else {\n          (this || _global).convertToPath = (this || _global).convertPolygonToPath;\n        }\n\n        (this || _global).pt = PropertyFactory.getProp(elem, data.pt, 0, 0, this || _global);\n        (this || _global).p = PropertyFactory.getProp(elem, data.p, 1, 0, this || _global);\n        (this || _global).r = PropertyFactory.getProp(elem, data.r, 0, degToRads, this || _global);\n        (this || _global).or = PropertyFactory.getProp(elem, data.or, 0, 0, this || _global);\n        (this || _global).os = PropertyFactory.getProp(elem, data.os, 0, 0.01, this || _global);\n        (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n\n        (this || _global).localShapeCollection.addShape((this || _global).v);\n\n        (this || _global).paths = (this || _global).localShapeCollection;\n\n        if ((this || _global).dynamicProperties.length) {\n          (this || _global).k = true;\n        } else {\n          (this || _global).k = false;\n          this.convertToPath();\n        }\n      }\n\n      StarShapePropertyFactory.prototype = {\n        reset: resetShape,\n        getValue: function () {\n          if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n            return;\n          }\n\n          (this || _global).frameId = (this || _global).elem.globalData.frameId;\n          this.iterateDynamicProperties();\n\n          if ((this || _global)._mdf) {\n            this.convertToPath();\n          }\n        },\n        convertStarToPath: function () {\n          var numPts = Math.floor((this || _global).pt.v) * 2;\n          var angle = Math.PI * 2 / numPts;\n          /* this.v.v.length = numPts;\r\n                  this.v.i.length = numPts;\r\n                  this.v.o.length = numPts; */\n\n          var longFlag = true;\n          var longRad = (this || _global).or.v;\n          var shortRad = (this || _global).ir.v;\n          var longRound = (this || _global).os.v;\n          var shortRound = (this || _global).is.v;\n          var longPerimSegment = 2 * Math.PI * longRad / (numPts * 2);\n          var shortPerimSegment = 2 * Math.PI * shortRad / (numPts * 2);\n          var i;\n          var rad;\n          var roundness;\n          var perimSegment;\n          var currentAng = -Math.PI / 2;\n          currentAng += (this || _global).r.v;\n          var dir = (this || _global).data.d === 3 ? -1 : 1;\n          (this || _global).v._length = 0;\n\n          for (i = 0; i < numPts; i += 1) {\n            rad = longFlag ? longRad : shortRad;\n            roundness = longFlag ? longRound : shortRound;\n            perimSegment = longFlag ? longPerimSegment : shortPerimSegment;\n            var x = rad * Math.cos(currentAng);\n            var y = rad * Math.sin(currentAng);\n            var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n            var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n            x += +(this || _global).p.v[0];\n            y += +(this || _global).p.v[1];\n\n            (this || _global).v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n            /* this.v.v[i] = [x,y];\r\n                      this.v.i[i] = [x+ox*perimSegment*roundness*dir,y+oy*perimSegment*roundness*dir];\r\n                      this.v.o[i] = [x-ox*perimSegment*roundness*dir,y-oy*perimSegment*roundness*dir];\r\n                      this.v._length = numPts; */\n\n\n            longFlag = !longFlag;\n            currentAng += angle * dir;\n          }\n        },\n        convertPolygonToPath: function () {\n          var numPts = Math.floor((this || _global).pt.v);\n          var angle = Math.PI * 2 / numPts;\n          var rad = (this || _global).or.v;\n          var roundness = (this || _global).os.v;\n          var perimSegment = 2 * Math.PI * rad / (numPts * 4);\n          var i;\n          var currentAng = -Math.PI * 0.5;\n          var dir = (this || _global).data.d === 3 ? -1 : 1;\n          currentAng += (this || _global).r.v;\n          (this || _global).v._length = 0;\n\n          for (i = 0; i < numPts; i += 1) {\n            var x = rad * Math.cos(currentAng);\n            var y = rad * Math.sin(currentAng);\n            var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n            var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n            x += +(this || _global).p.v[0];\n            y += +(this || _global).p.v[1];\n\n            (this || _global).v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n\n            currentAng += angle * dir;\n          }\n\n          (this || _global).paths.length = 0;\n          (this || _global).paths[0] = (this || _global).v;\n        }\n      };\n      extendPrototype([DynamicPropertyContainer], StarShapePropertyFactory);\n      return StarShapePropertyFactory;\n    }();\n\n    var RectShapeProperty = function () {\n      function RectShapePropertyFactory(elem, data) {\n        (this || _global).v = shapePool.newElement();\n        (this || _global).v.c = true;\n        (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n\n        (this || _global).localShapeCollection.addShape((this || _global).v);\n\n        (this || _global).paths = (this || _global).localShapeCollection;\n        (this || _global).elem = elem;\n        (this || _global).comp = elem.comp;\n        (this || _global).frameId = -1;\n        (this || _global).d = data.d;\n        this.initDynamicPropertyContainer(elem);\n        (this || _global).p = PropertyFactory.getProp(elem, data.p, 1, 0, this || _global);\n        (this || _global).s = PropertyFactory.getProp(elem, data.s, 1, 0, this || _global);\n        (this || _global).r = PropertyFactory.getProp(elem, data.r, 0, 0, this || _global);\n\n        if ((this || _global).dynamicProperties.length) {\n          (this || _global).k = true;\n        } else {\n          (this || _global).k = false;\n          this.convertRectToPath();\n        }\n      }\n\n      RectShapePropertyFactory.prototype = {\n        convertRectToPath: function () {\n          var p0 = (this || _global).p.v[0];\n          var p1 = (this || _global).p.v[1];\n          var v0 = (this || _global).s.v[0] / 2;\n          var v1 = (this || _global).s.v[1] / 2;\n          var round = bmMin(v0, v1, (this || _global).r.v);\n          var cPoint = round * (1 - roundCorner);\n          (this || _global).v._length = 0;\n\n          if ((this || _global).d === 2 || (this || _global).d === 1) {\n            (this || _global).v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, 0, true);\n\n            (this || _global).v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, p0 + v0, p1 + v1 - round, 1, true);\n\n            if (round !== 0) {\n              (this || _global).v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, 2, true);\n\n              (this || _global).v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0 + round, p1 + v1, 3, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, 4, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1 + round, 5, true);\n\n              (this || _global).v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, 6, true);\n\n              (this || _global).v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, p0 + v0 - round, p1 - v1, 7, true);\n            } else {\n              (this || _global).v.setTripleAt(p0 - v0, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0, p1 + v1, 2);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 - v1, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1, 3);\n            }\n          } else {\n            (this || _global).v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, p0 + v0, p1 - v1 + round, 0, true);\n\n            if (round !== 0) {\n              (this || _global).v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, 1, true);\n\n              (this || _global).v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0 + round, p1 - v1, 2, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, 3, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1 - round, 4, true);\n\n              (this || _global).v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, 5, true);\n\n              (this || _global).v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0 - round, p1 + v1, 6, true);\n\n              (this || _global).v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, 7, true);\n            } else {\n              (this || _global).v.setTripleAt(p0 - v0, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0, p1 - v1, 1, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 + v1, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1, 2, true);\n\n              (this || _global).v.setTripleAt(p0 + v0, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0, p1 + v1, 3, true);\n            }\n          }\n        },\n        getValue: function () {\n          if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n            return;\n          }\n\n          (this || _global).frameId = (this || _global).elem.globalData.frameId;\n          this.iterateDynamicProperties();\n\n          if ((this || _global)._mdf) {\n            this.convertRectToPath();\n          }\n        },\n        reset: resetShape\n      };\n      extendPrototype([DynamicPropertyContainer], RectShapePropertyFactory);\n      return RectShapePropertyFactory;\n    }();\n\n    function getShapeProp(elem, data, type) {\n      var prop;\n\n      if (type === 3 || type === 4) {\n        var dataProp = type === 3 ? data.pt : data.ks;\n        var keys = dataProp.k;\n\n        if (keys.length) {\n          prop = new KeyframedShapeProperty(elem, data, type);\n        } else {\n          prop = new ShapeProperty(elem, data, type);\n        }\n      } else if (type === 5) {\n        prop = new RectShapeProperty(elem, data);\n      } else if (type === 6) {\n        prop = new EllShapeProperty(elem, data);\n      } else if (type === 7) {\n        prop = new StarShapeProperty(elem, data);\n      }\n\n      if (prop.k) {\n        elem.addDynamicProperty(prop);\n      }\n\n      return prop;\n    }\n\n    function getConstructorFunction() {\n      return ShapeProperty;\n    }\n\n    function getKeyframedConstructorFunction() {\n      return KeyframedShapeProperty;\n    }\n\n    var ob = {};\n    ob.getShapeProp = getShapeProp;\n    ob.getConstructorFunction = getConstructorFunction;\n    ob.getKeyframedConstructorFunction = getKeyframedConstructorFunction;\n    return ob;\n  }();\n  /* global shapeCollectionPool, initialDefaultFrame, extendPrototype, DynamicPropertyContainer */\n\n  /* exported ShapeModifiers */\n\n\n  var ShapeModifiers = function () {\n    var ob = {};\n    var modifiers = {};\n    ob.registerModifier = registerModifier;\n    ob.getModifier = getModifier;\n\n    function registerModifier(nm, factory) {\n      if (!modifiers[nm]) {\n        modifiers[nm] = factory;\n      }\n    }\n\n    function getModifier(nm, elem, data) {\n      return new modifiers[nm](elem, data);\n    }\n\n    return ob;\n  }();\n\n  function ShapeModifier() {}\n\n  ShapeModifier.prototype.initModifierProperties = function () {};\n\n  ShapeModifier.prototype.addShapeToModifier = function () {};\n\n  ShapeModifier.prototype.addShape = function (data) {\n    if (!(this || _global).closed) {\n      // Adding shape to dynamic properties. It covers the case where a shape has no effects applied, to reset it's _mdf state on every tick.\n      data.sh.container.addDynamicProperty(data.sh);\n      var shapeData = {\n        shape: data.sh,\n        data: data,\n        localShapeCollection: shapeCollectionPool.newShapeCollection()\n      };\n\n      (this || _global).shapes.push(shapeData);\n\n      this.addShapeToModifier(shapeData);\n\n      if ((this || _global)._isAnimated) {\n        data.setAsAnimated();\n      }\n    }\n  };\n\n  ShapeModifier.prototype.init = function (elem, data) {\n    (this || _global).shapes = [];\n    (this || _global).elem = elem;\n    this.initDynamicPropertyContainer(elem);\n    this.initModifierProperties(elem, data);\n    (this || _global).frameId = initialDefaultFrame;\n    (this || _global).closed = false;\n    (this || _global).k = false;\n\n    if ((this || _global).dynamicProperties.length) {\n      (this || _global).k = true;\n    } else {\n      this.getValue(true);\n    }\n  };\n\n  ShapeModifier.prototype.processKeys = function () {\n    if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n      return;\n    }\n\n    (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    this.iterateDynamicProperties();\n  };\n\n  extendPrototype([DynamicPropertyContainer], ShapeModifier);\n  /* global extendPrototype, ShapeModifier, PropertyFactory, segmentsLengthPool, bez, shapePool, ShapeModifiers */\n\n  function TrimModifier() {}\n\n  extendPrototype([ShapeModifier], TrimModifier);\n\n  TrimModifier.prototype.initModifierProperties = function (elem, data) {\n    (this || _global).s = PropertyFactory.getProp(elem, data.s, 0, 0.01, this || _global);\n    (this || _global).e = PropertyFactory.getProp(elem, data.e, 0, 0.01, this || _global);\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0, this || _global);\n    (this || _global).sValue = 0;\n    (this || _global).eValue = 0;\n    (this || _global).getValue = (this || _global).processKeys;\n    (this || _global).m = data.m;\n    (this || _global)._isAnimated = !!(this || _global).s.effectsSequence.length || !!(this || _global).e.effectsSequence.length || !!(this || _global).o.effectsSequence.length;\n  };\n\n  TrimModifier.prototype.addShapeToModifier = function (shapeData) {\n    shapeData.pathsData = [];\n  };\n\n  TrimModifier.prototype.calculateShapeEdges = function (s, e, shapeLength, addedLength, totalModifierLength) {\n    var segments = [];\n\n    if (e <= 1) {\n      segments.push({\n        s: s,\n        e: e\n      });\n    } else if (s >= 1) {\n      segments.push({\n        s: s - 1,\n        e: e - 1\n      });\n    } else {\n      segments.push({\n        s: s,\n        e: 1\n      });\n      segments.push({\n        s: 0,\n        e: e - 1\n      });\n    }\n\n    var shapeSegments = [];\n    var i;\n    var len = segments.length;\n    var segmentOb;\n\n    for (i = 0; i < len; i += 1) {\n      segmentOb = segments[i];\n\n      if (!(segmentOb.e * totalModifierLength < addedLength || segmentOb.s * totalModifierLength > addedLength + shapeLength)) {\n        var shapeS;\n        var shapeE;\n\n        if (segmentOb.s * totalModifierLength <= addedLength) {\n          shapeS = 0;\n        } else {\n          shapeS = (segmentOb.s * totalModifierLength - addedLength) / shapeLength;\n        }\n\n        if (segmentOb.e * totalModifierLength >= addedLength + shapeLength) {\n          shapeE = 1;\n        } else {\n          shapeE = (segmentOb.e * totalModifierLength - addedLength) / shapeLength;\n        }\n\n        shapeSegments.push([shapeS, shapeE]);\n      }\n    }\n\n    if (!shapeSegments.length) {\n      shapeSegments.push([0, 0]);\n    }\n\n    return shapeSegments;\n  };\n\n  TrimModifier.prototype.releasePathsData = function (pathsData) {\n    var i;\n    var len = pathsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      segmentsLengthPool.release(pathsData[i]);\n    }\n\n    pathsData.length = 0;\n    return pathsData;\n  };\n\n  TrimModifier.prototype.processShapes = function (_isFirstFrame) {\n    var s;\n    var e;\n\n    if ((this || _global)._mdf || _isFirstFrame) {\n      var o = (this || _global).o.v % 360 / 360;\n\n      if (o < 0) {\n        o += 1;\n      }\n\n      if ((this || _global).s.v > 1) {\n        s = 1 + o;\n      } else if ((this || _global).s.v < 0) {\n        s = 0 + o;\n      } else {\n        s = (this || _global).s.v + o;\n      }\n\n      if ((this || _global).e.v > 1) {\n        e = 1 + o;\n      } else if ((this || _global).e.v < 0) {\n        e = 0 + o;\n      } else {\n        e = (this || _global).e.v + o;\n      }\n\n      if (s > e) {\n        var _s = s;\n        s = e;\n        e = _s;\n      }\n\n      s = Math.round(s * 10000) * 0.0001;\n      e = Math.round(e * 10000) * 0.0001;\n      (this || _global).sValue = s;\n      (this || _global).eValue = e;\n    } else {\n      s = (this || _global).sValue;\n      e = (this || _global).eValue;\n    }\n\n    var shapePaths;\n    var i;\n    var len = (this || _global).shapes.length;\n    var j;\n    var jLen;\n    var pathsData;\n    var pathData;\n    var totalShapeLength;\n    var totalModifierLength = 0;\n\n    if (e === s) {\n      for (i = 0; i < len; i += 1) {\n        (this || _global).shapes[i].localShapeCollection.releaseShapes();\n\n        (this || _global).shapes[i].shape._mdf = true;\n        (this || _global).shapes[i].shape.paths = (this || _global).shapes[i].localShapeCollection;\n\n        if ((this || _global)._mdf) {\n          (this || _global).shapes[i].pathsData.length = 0;\n        }\n      }\n    } else if (!(e === 1 && s === 0 || e === 0 && s === 1)) {\n      var segments = [];\n      var shapeData;\n      var localShapeCollection;\n\n      for (i = 0; i < len; i += 1) {\n        shapeData = (this || _global).shapes[i]; // if shape hasn't changed and trim properties haven't changed, cached previous path can be used\n\n        if (!shapeData.shape._mdf && !(this || _global)._mdf && !_isFirstFrame && (this || _global).m !== 2) {\n          shapeData.shape.paths = shapeData.localShapeCollection;\n        } else {\n          shapePaths = shapeData.shape.paths;\n          jLen = shapePaths._length;\n          totalShapeLength = 0;\n\n          if (!shapeData.shape._mdf && shapeData.pathsData.length) {\n            totalShapeLength = shapeData.totalShapeLength;\n          } else {\n            pathsData = this.releasePathsData(shapeData.pathsData);\n\n            for (j = 0; j < jLen; j += 1) {\n              pathData = bez.getSegmentsLength(shapePaths.shapes[j]);\n              pathsData.push(pathData);\n              totalShapeLength += pathData.totalLength;\n            }\n\n            shapeData.totalShapeLength = totalShapeLength;\n            shapeData.pathsData = pathsData;\n          }\n\n          totalModifierLength += totalShapeLength;\n          shapeData.shape._mdf = true;\n        }\n      }\n\n      var shapeS = s;\n      var shapeE = e;\n      var addedLength = 0;\n      var edges;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        shapeData = (this || _global).shapes[i];\n\n        if (shapeData.shape._mdf) {\n          localShapeCollection = shapeData.localShapeCollection;\n          localShapeCollection.releaseShapes(); // if m === 2 means paths are trimmed individually so edges need to be found for this specific shape relative to whoel group\n\n          if ((this || _global).m === 2 && len > 1) {\n            edges = this.calculateShapeEdges(s, e, shapeData.totalShapeLength, addedLength, totalModifierLength);\n            addedLength += shapeData.totalShapeLength;\n          } else {\n            edges = [[shapeS, shapeE]];\n          }\n\n          jLen = edges.length;\n\n          for (j = 0; j < jLen; j += 1) {\n            shapeS = edges[j][0];\n            shapeE = edges[j][1];\n            segments.length = 0;\n\n            if (shapeE <= 1) {\n              segments.push({\n                s: shapeData.totalShapeLength * shapeS,\n                e: shapeData.totalShapeLength * shapeE\n              });\n            } else if (shapeS >= 1) {\n              segments.push({\n                s: shapeData.totalShapeLength * (shapeS - 1),\n                e: shapeData.totalShapeLength * (shapeE - 1)\n              });\n            } else {\n              segments.push({\n                s: shapeData.totalShapeLength * shapeS,\n                e: shapeData.totalShapeLength\n              });\n              segments.push({\n                s: 0,\n                e: shapeData.totalShapeLength * (shapeE - 1)\n              });\n            }\n\n            var newShapesData = this.addShapes(shapeData, segments[0]);\n\n            if (segments[0].s !== segments[0].e) {\n              if (segments.length > 1) {\n                var lastShapeInCollection = shapeData.shape.paths.shapes[shapeData.shape.paths._length - 1];\n\n                if (lastShapeInCollection.c) {\n                  var lastShape = newShapesData.pop();\n                  this.addPaths(newShapesData, localShapeCollection);\n                  newShapesData = this.addShapes(shapeData, segments[1], lastShape);\n                } else {\n                  this.addPaths(newShapesData, localShapeCollection);\n                  newShapesData = this.addShapes(shapeData, segments[1]);\n                }\n              }\n\n              this.addPaths(newShapesData, localShapeCollection);\n            }\n          }\n\n          shapeData.shape.paths = localShapeCollection;\n        }\n      }\n    } else if ((this || _global)._mdf) {\n      for (i = 0; i < len; i += 1) {\n        // Releasign Trim Cached paths data when no trim applied in case shapes are modified inbetween.\n        // Don't remove this even if it's losing cached info.\n        (this || _global).shapes[i].pathsData.length = 0;\n        (this || _global).shapes[i].shape._mdf = true;\n      }\n    }\n  };\n\n  TrimModifier.prototype.addPaths = function (newPaths, localShapeCollection) {\n    var i;\n    var len = newPaths.length;\n\n    for (i = 0; i < len; i += 1) {\n      localShapeCollection.addShape(newPaths[i]);\n    }\n  };\n\n  TrimModifier.prototype.addSegment = function (pt1, pt2, pt3, pt4, shapePath, pos, newShape) {\n    shapePath.setXYAt(pt2[0], pt2[1], \"o\", pos);\n    shapePath.setXYAt(pt3[0], pt3[1], \"i\", pos + 1);\n\n    if (newShape) {\n      shapePath.setXYAt(pt1[0], pt1[1], \"v\", pos);\n    }\n\n    shapePath.setXYAt(pt4[0], pt4[1], \"v\", pos + 1);\n  };\n\n  TrimModifier.prototype.addSegmentFromArray = function (points, shapePath, pos, newShape) {\n    shapePath.setXYAt(points[1], points[5], \"o\", pos);\n    shapePath.setXYAt(points[2], points[6], \"i\", pos + 1);\n\n    if (newShape) {\n      shapePath.setXYAt(points[0], points[4], \"v\", pos);\n    }\n\n    shapePath.setXYAt(points[3], points[7], \"v\", pos + 1);\n  };\n\n  TrimModifier.prototype.addShapes = function (shapeData, shapeSegment, shapePath) {\n    var pathsData = shapeData.pathsData;\n    var shapePaths = shapeData.shape.paths.shapes;\n    var i;\n    var len = shapeData.shape.paths._length;\n    var j;\n    var jLen;\n    var addedLength = 0;\n    var currentLengthData;\n    var segmentCount;\n    var lengths;\n    var segment;\n    var shapes = [];\n    var initPos;\n    var newShape = true;\n\n    if (!shapePath) {\n      shapePath = shapePool.newElement();\n      segmentCount = 0;\n      initPos = 0;\n    } else {\n      segmentCount = shapePath._length;\n      initPos = shapePath._length;\n    }\n\n    shapes.push(shapePath);\n\n    for (i = 0; i < len; i += 1) {\n      lengths = pathsData[i].lengths;\n      shapePath.c = shapePaths[i].c;\n      jLen = shapePaths[i].c ? lengths.length : lengths.length + 1;\n\n      for (j = 1; j < jLen; j += 1) {\n        currentLengthData = lengths[j - 1];\n\n        if (addedLength + currentLengthData.addedLength < shapeSegment.s) {\n          addedLength += currentLengthData.addedLength;\n          shapePath.c = false;\n        } else if (addedLength > shapeSegment.e) {\n          shapePath.c = false;\n          break;\n        } else {\n          if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + currentLengthData.addedLength) {\n            this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[j], shapePaths[i].v[j], shapePath, segmentCount, newShape);\n            newShape = false;\n          } else {\n            segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[j], shapePaths[i].o[j - 1], shapePaths[i].i[j], (shapeSegment.s - addedLength) / currentLengthData.addedLength, (shapeSegment.e - addedLength) / currentLengthData.addedLength, lengths[j - 1]);\n            this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n            newShape = false;\n            shapePath.c = false;\n          }\n\n          addedLength += currentLengthData.addedLength;\n          segmentCount += 1;\n        }\n      }\n\n      if (shapePaths[i].c && lengths.length) {\n        currentLengthData = lengths[j - 1];\n\n        if (addedLength <= shapeSegment.e) {\n          var segmentLength = lengths[j - 1].addedLength;\n\n          if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + segmentLength) {\n            this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[0], shapePaths[i].v[0], shapePath, segmentCount, newShape);\n            newShape = false;\n          } else {\n            segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[0], shapePaths[i].o[j - 1], shapePaths[i].i[0], (shapeSegment.s - addedLength) / segmentLength, (shapeSegment.e - addedLength) / segmentLength, lengths[j - 1]);\n            this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n            newShape = false;\n            shapePath.c = false;\n          }\n        } else {\n          shapePath.c = false;\n        }\n\n        addedLength += currentLengthData.addedLength;\n        segmentCount += 1;\n      }\n\n      if (shapePath._length) {\n        shapePath.setXYAt(shapePath.v[initPos][0], shapePath.v[initPos][1], \"i\", initPos);\n        shapePath.setXYAt(shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1], \"o\", shapePath._length - 1);\n      }\n\n      if (addedLength > shapeSegment.e) {\n        break;\n      }\n\n      if (i < len - 1) {\n        shapePath = shapePool.newElement();\n        newShape = true;\n        shapes.push(shapePath);\n        segmentCount = 0;\n      }\n    }\n\n    return shapes;\n  };\n\n  ShapeModifiers.registerModifier(\"tm\", TrimModifier);\n  /* global extendPrototype, ShapeModifier, PropertyFactory, shapePool, roundCorner, ShapeModifiers */\n\n  function RoundCornersModifier() {}\n\n  extendPrototype([ShapeModifier], RoundCornersModifier);\n\n  RoundCornersModifier.prototype.initModifierProperties = function (elem, data) {\n    (this || _global).getValue = (this || _global).processKeys;\n    (this || _global).rd = PropertyFactory.getProp(elem, data.r, 0, null, this || _global);\n    (this || _global)._isAnimated = !!(this || _global).rd.effectsSequence.length;\n  };\n\n  RoundCornersModifier.prototype.processPath = function (path, round) {\n    var clonedPath = shapePool.newElement();\n    clonedPath.c = path.c;\n    var i;\n    var len = path._length;\n    var currentV;\n    var currentI;\n    var currentO;\n    var closerV;\n    var distance;\n    var newPosPerc;\n    var index = 0;\n    var vX;\n    var vY;\n    var oX;\n    var oY;\n    var iX;\n    var iY;\n\n    for (i = 0; i < len; i += 1) {\n      currentV = path.v[i];\n      currentO = path.o[i];\n      currentI = path.i[i];\n\n      if (currentV[0] === currentO[0] && currentV[1] === currentO[1] && currentV[0] === currentI[0] && currentV[1] === currentI[1]) {\n        if ((i === 0 || i === len - 1) && !path.c) {\n          clonedPath.setTripleAt(currentV[0], currentV[1], currentO[0], currentO[1], currentI[0], currentI[1], index);\n          /* clonedPath.v[index] = currentV;\r\n                  clonedPath.o[index] = currentO;\r\n                  clonedPath.i[index] = currentI; */\n\n          index += 1;\n        } else {\n          if (i === 0) {\n            closerV = path.v[len - 1];\n          } else {\n            closerV = path.v[i - 1];\n          }\n\n          distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n          newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n          iX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n          vX = iX;\n          iY = currentV[1] - (currentV[1] - closerV[1]) * newPosPerc;\n          vY = iY;\n          oX = vX - (vX - currentV[0]) * roundCorner;\n          oY = vY - (vY - currentV[1]) * roundCorner;\n          clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n          index += 1;\n\n          if (i === len - 1) {\n            closerV = path.v[0];\n          } else {\n            closerV = path.v[i + 1];\n          }\n\n          distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n          newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n          oX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n          vX = oX;\n          oY = currentV[1] + (closerV[1] - currentV[1]) * newPosPerc;\n          vY = oY;\n          iX = vX - (vX - currentV[0]) * roundCorner;\n          iY = vY - (vY - currentV[1]) * roundCorner;\n          clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n          index += 1;\n        }\n      } else {\n        clonedPath.setTripleAt(path.v[i][0], path.v[i][1], path.o[i][0], path.o[i][1], path.i[i][0], path.i[i][1], index);\n        index += 1;\n      }\n    }\n\n    return clonedPath;\n  };\n\n  RoundCornersModifier.prototype.processShapes = function (_isFirstFrame) {\n    var shapePaths;\n    var i;\n    var len = (this || _global).shapes.length;\n    var j;\n    var jLen;\n    var rd = (this || _global).rd.v;\n\n    if (rd !== 0) {\n      var shapeData;\n      var localShapeCollection;\n\n      for (i = 0; i < len; i += 1) {\n        shapeData = (this || _global).shapes[i];\n        localShapeCollection = shapeData.localShapeCollection;\n\n        if (!(!shapeData.shape._mdf && !(this || _global)._mdf && !_isFirstFrame)) {\n          localShapeCollection.releaseShapes();\n          shapeData.shape._mdf = true;\n          shapePaths = shapeData.shape.paths.shapes;\n          jLen = shapeData.shape.paths._length;\n\n          for (j = 0; j < jLen; j += 1) {\n            localShapeCollection.addShape(this.processPath(shapePaths[j], rd));\n          }\n        }\n\n        shapeData.shape.paths = shapeData.localShapeCollection;\n      }\n    }\n\n    if (!(this || _global).dynamicProperties.length) {\n      (this || _global)._mdf = false;\n    }\n  };\n\n  ShapeModifiers.registerModifier(\"rd\", RoundCornersModifier);\n  /* global extendPrototype, ShapeModifier, PropertyFactory, shapePool, ShapeModifiers */\n\n  function PuckerAndBloatModifier() {}\n\n  extendPrototype([ShapeModifier], PuckerAndBloatModifier);\n\n  PuckerAndBloatModifier.prototype.initModifierProperties = function (elem, data) {\n    (this || _global).getValue = (this || _global).processKeys;\n    (this || _global).amount = PropertyFactory.getProp(elem, data.a, 0, null, this || _global);\n    (this || _global)._isAnimated = !!(this || _global).amount.effectsSequence.length;\n  };\n\n  PuckerAndBloatModifier.prototype.processPath = function (path, amount) {\n    var percent = amount / 100;\n    var centerPoint = [0, 0];\n    var pathLength = path._length;\n    var i = 0;\n\n    for (i = 0; i < pathLength; i += 1) {\n      centerPoint[0] += path.v[i][0];\n      centerPoint[1] += path.v[i][1];\n    }\n\n    centerPoint[0] /= pathLength;\n    centerPoint[1] /= pathLength;\n    var clonedPath = shapePool.newElement();\n    clonedPath.c = path.c;\n    var vX;\n    var vY;\n    var oX;\n    var oY;\n    var iX;\n    var iY;\n\n    for (i = 0; i < pathLength; i += 1) {\n      vX = path.v[i][0] + (centerPoint[0] - path.v[i][0]) * percent;\n      vY = path.v[i][1] + (centerPoint[1] - path.v[i][1]) * percent;\n      oX = path.o[i][0] + (centerPoint[0] - path.o[i][0]) * -percent;\n      oY = path.o[i][1] + (centerPoint[1] - path.o[i][1]) * -percent;\n      iX = path.i[i][0] + (centerPoint[0] - path.i[i][0]) * -percent;\n      iY = path.i[i][1] + (centerPoint[1] - path.i[i][1]) * -percent;\n      clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, i);\n    }\n\n    return clonedPath;\n  };\n\n  PuckerAndBloatModifier.prototype.processShapes = function (_isFirstFrame) {\n    var shapePaths;\n    var i;\n    var len = (this || _global).shapes.length;\n    var j;\n    var jLen;\n    var amount = (this || _global).amount.v;\n\n    if (amount !== 0) {\n      var shapeData;\n      var localShapeCollection;\n\n      for (i = 0; i < len; i += 1) {\n        shapeData = (this || _global).shapes[i];\n        localShapeCollection = shapeData.localShapeCollection;\n\n        if (!(!shapeData.shape._mdf && !(this || _global)._mdf && !_isFirstFrame)) {\n          localShapeCollection.releaseShapes();\n          shapeData.shape._mdf = true;\n          shapePaths = shapeData.shape.paths.shapes;\n          jLen = shapeData.shape.paths._length;\n\n          for (j = 0; j < jLen; j += 1) {\n            localShapeCollection.addShape(this.processPath(shapePaths[j], amount));\n          }\n        }\n\n        shapeData.shape.paths = shapeData.localShapeCollection;\n      }\n    }\n\n    if (!(this || _global).dynamicProperties.length) {\n      (this || _global)._mdf = false;\n    }\n  };\n\n  ShapeModifiers.registerModifier(\"pb\", PuckerAndBloatModifier);\n  /* global extendPrototype, ShapeModifier, TransformPropertyFactory, PropertyFactory, Matrix, ShapeModifiers */\n\n  function RepeaterModifier() {}\n\n  extendPrototype([ShapeModifier], RepeaterModifier);\n\n  RepeaterModifier.prototype.initModifierProperties = function (elem, data) {\n    (this || _global).getValue = (this || _global).processKeys;\n    (this || _global).c = PropertyFactory.getProp(elem, data.c, 0, null, this || _global);\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, null, this || _global);\n    (this || _global).tr = TransformPropertyFactory.getTransformProperty(elem, data.tr, this || _global);\n    (this || _global).so = PropertyFactory.getProp(elem, data.tr.so, 0, 0.01, this || _global);\n    (this || _global).eo = PropertyFactory.getProp(elem, data.tr.eo, 0, 0.01, this || _global);\n    (this || _global).data = data;\n\n    if (!(this || _global).dynamicProperties.length) {\n      this.getValue(true);\n    }\n\n    (this || _global)._isAnimated = !!(this || _global).dynamicProperties.length;\n    (this || _global).pMatrix = new Matrix();\n    (this || _global).rMatrix = new Matrix();\n    (this || _global).sMatrix = new Matrix();\n    (this || _global).tMatrix = new Matrix();\n    (this || _global).matrix = new Matrix();\n  };\n\n  RepeaterModifier.prototype.applyTransforms = function (pMatrix, rMatrix, sMatrix, transform, perc, inv) {\n    var dir = inv ? -1 : 1;\n    var scaleX = transform.s.v[0] + (1 - transform.s.v[0]) * (1 - perc);\n    var scaleY = transform.s.v[1] + (1 - transform.s.v[1]) * (1 - perc);\n    pMatrix.translate(transform.p.v[0] * dir * perc, transform.p.v[1] * dir * perc, transform.p.v[2]);\n    rMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n    rMatrix.rotate(-transform.r.v * dir * perc);\n    rMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n    sMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n    sMatrix.scale(inv ? 1 / scaleX : scaleX, inv ? 1 / scaleY : scaleY);\n    sMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n  };\n\n  RepeaterModifier.prototype.init = function (elem, arr, pos, elemsData) {\n    (this || _global).elem = elem;\n    (this || _global).arr = arr;\n    (this || _global).pos = pos;\n    (this || _global).elemsData = elemsData;\n    (this || _global)._currentCopies = 0;\n    (this || _global)._elements = [];\n    (this || _global)._groups = [];\n    (this || _global).frameId = -1;\n    this.initDynamicPropertyContainer(elem);\n    this.initModifierProperties(elem, arr[pos]);\n\n    while (pos > 0) {\n      pos -= 1; // this._elements.unshift(arr.splice(pos,1)[0]);\n\n      (this || _global)._elements.unshift(arr[pos]);\n    }\n\n    if ((this || _global).dynamicProperties.length) {\n      (this || _global).k = true;\n    } else {\n      this.getValue(true);\n    }\n  };\n\n  RepeaterModifier.prototype.resetElements = function (elements) {\n    var i;\n    var len = elements.length;\n\n    for (i = 0; i < len; i += 1) {\n      elements[i]._processed = false;\n\n      if (elements[i].ty === \"gr\") {\n        this.resetElements(elements[i].it);\n      }\n    }\n  };\n\n  RepeaterModifier.prototype.cloneElements = function (elements) {\n    var newElements = JSON.parse(JSON.stringify(elements));\n    this.resetElements(newElements);\n    return newElements;\n  };\n\n  RepeaterModifier.prototype.changeGroupRender = function (elements, renderFlag) {\n    var i;\n    var len = elements.length;\n\n    for (i = 0; i < len; i += 1) {\n      elements[i]._render = renderFlag;\n\n      if (elements[i].ty === \"gr\") {\n        this.changeGroupRender(elements[i].it, renderFlag);\n      }\n    }\n  };\n\n  RepeaterModifier.prototype.processShapes = function (_isFirstFrame) {\n    var items;\n    var itemsTransform;\n    var i;\n    var dir;\n    var cont;\n    var hasReloaded = false;\n\n    if ((this || _global)._mdf || _isFirstFrame) {\n      var copies = Math.ceil((this || _global).c.v);\n\n      if ((this || _global)._groups.length < copies) {\n        while ((this || _global)._groups.length < copies) {\n          var group = {\n            it: this.cloneElements((this || _global)._elements),\n            ty: \"gr\"\n          };\n          group.it.push({\n            a: {\n              a: 0,\n              ix: 1,\n              k: [0, 0]\n            },\n            nm: \"Transform\",\n            o: {\n              a: 0,\n              ix: 7,\n              k: 100\n            },\n            p: {\n              a: 0,\n              ix: 2,\n              k: [0, 0]\n            },\n            r: {\n              a: 1,\n              ix: 6,\n              k: [{\n                s: 0,\n                e: 0,\n                t: 0\n              }, {\n                s: 0,\n                e: 0,\n                t: 1\n              }]\n            },\n            s: {\n              a: 0,\n              ix: 3,\n              k: [100, 100]\n            },\n            sa: {\n              a: 0,\n              ix: 5,\n              k: 0\n            },\n            sk: {\n              a: 0,\n              ix: 4,\n              k: 0\n            },\n            ty: \"tr\"\n          });\n\n          (this || _global).arr.splice(0, 0, group);\n\n          (this || _global)._groups.splice(0, 0, group);\n\n          (this || _global)._currentCopies += 1;\n        }\n\n        (this || _global).elem.reloadShapes();\n\n        hasReloaded = true;\n      }\n\n      cont = 0;\n      var renderFlag;\n\n      for (i = 0; i <= (this || _global)._groups.length - 1; i += 1) {\n        renderFlag = cont < copies;\n        (this || _global)._groups[i]._render = renderFlag;\n        this.changeGroupRender((this || _global)._groups[i].it, renderFlag);\n\n        if (!renderFlag) {\n          var elems = (this || _global).elemsData[i].it;\n          var transformData = elems[elems.length - 1];\n\n          if (transformData.transform.op.v !== 0) {\n            transformData.transform.op._mdf = true;\n            transformData.transform.op.v = 0;\n          } else {\n            transformData.transform.op._mdf = false;\n          }\n        }\n\n        cont += 1;\n      }\n\n      (this || _global)._currentCopies = copies; /// /\n\n      var offset = (this || _global).o.v;\n      var offsetModulo = offset % 1;\n      var roundOffset = offset > 0 ? Math.floor(offset) : Math.ceil(offset);\n      var pProps = (this || _global).pMatrix.props;\n      var rProps = (this || _global).rMatrix.props;\n      var sProps = (this || _global).sMatrix.props;\n\n      (this || _global).pMatrix.reset();\n\n      (this || _global).rMatrix.reset();\n\n      (this || _global).sMatrix.reset();\n\n      (this || _global).tMatrix.reset();\n\n      (this || _global).matrix.reset();\n\n      var iteration = 0;\n\n      if (offset > 0) {\n        while (iteration < roundOffset) {\n          this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, 1, false);\n          iteration += 1;\n        }\n\n        if (offsetModulo) {\n          this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, offsetModulo, false);\n          iteration += offsetModulo;\n        }\n      } else if (offset < 0) {\n        while (iteration > roundOffset) {\n          this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, 1, true);\n          iteration -= 1;\n        }\n\n        if (offsetModulo) {\n          this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, -offsetModulo, true);\n          iteration -= offsetModulo;\n        }\n      }\n\n      i = (this || _global).data.m === 1 ? 0 : (this || _global)._currentCopies - 1;\n      dir = (this || _global).data.m === 1 ? 1 : -1;\n      cont = (this || _global)._currentCopies;\n      var j;\n      var jLen;\n\n      while (cont) {\n        items = (this || _global).elemsData[i].it;\n        itemsTransform = items[items.length - 1].transform.mProps.v.props;\n        jLen = itemsTransform.length;\n        items[items.length - 1].transform.mProps._mdf = true;\n        items[items.length - 1].transform.op._mdf = true;\n        items[items.length - 1].transform.op.v = (this || _global)._currentCopies === 1 ? (this || _global).so.v : (this || _global).so.v + ((this || _global).eo.v - (this || _global).so.v) * (i / ((this || _global)._currentCopies - 1));\n\n        if (iteration !== 0) {\n          if (i !== 0 && dir === 1 || i !== (this || _global)._currentCopies - 1 && dir === -1) {\n            this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, 1, false);\n          }\n\n          (this || _global).matrix.transform(rProps[0], rProps[1], rProps[2], rProps[3], rProps[4], rProps[5], rProps[6], rProps[7], rProps[8], rProps[9], rProps[10], rProps[11], rProps[12], rProps[13], rProps[14], rProps[15]);\n\n          (this || _global).matrix.transform(sProps[0], sProps[1], sProps[2], sProps[3], sProps[4], sProps[5], sProps[6], sProps[7], sProps[8], sProps[9], sProps[10], sProps[11], sProps[12], sProps[13], sProps[14], sProps[15]);\n\n          (this || _global).matrix.transform(pProps[0], pProps[1], pProps[2], pProps[3], pProps[4], pProps[5], pProps[6], pProps[7], pProps[8], pProps[9], pProps[10], pProps[11], pProps[12], pProps[13], pProps[14], pProps[15]);\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsTransform[j] = (this || _global).matrix.props[j];\n          }\n\n          (this || _global).matrix.reset();\n        } else {\n          (this || _global).matrix.reset();\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsTransform[j] = (this || _global).matrix.props[j];\n          }\n        }\n\n        iteration += 1;\n        cont -= 1;\n        i += dir;\n      }\n    } else {\n      cont = (this || _global)._currentCopies;\n      i = 0;\n      dir = 1;\n\n      while (cont) {\n        items = (this || _global).elemsData[i].it;\n        itemsTransform = items[items.length - 1].transform.mProps.v.props;\n        items[items.length - 1].transform.mProps._mdf = false;\n        items[items.length - 1].transform.op._mdf = false;\n        cont -= 1;\n        i += dir;\n      }\n    }\n\n    return hasReloaded;\n  };\n\n  RepeaterModifier.prototype.addShape = function () {};\n\n  ShapeModifiers.registerModifier(\"rp\", RepeaterModifier);\n  /* global createSizedArray, shapePool */\n\n  function ShapeCollection() {\n    (this || _global)._length = 0;\n    (this || _global)._maxLength = 4;\n    (this || _global).shapes = createSizedArray((this || _global)._maxLength);\n  }\n\n  ShapeCollection.prototype.addShape = function (shapeData) {\n    if ((this || _global)._length === (this || _global)._maxLength) {\n      (this || _global).shapes = (this || _global).shapes.concat(createSizedArray((this || _global)._maxLength));\n      (this || _global)._maxLength *= 2;\n    }\n\n    (this || _global).shapes[(this || _global)._length] = shapeData;\n    (this || _global)._length += 1;\n  };\n\n  ShapeCollection.prototype.releaseShapes = function () {\n    var i;\n\n    for (i = 0; i < (this || _global)._length; i += 1) {\n      shapePool.release((this || _global).shapes[i]);\n    }\n\n    (this || _global)._length = 0;\n  };\n  /* global createSizedArray, createTypedArray, PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n\n  function DashProperty(elem, data, renderer, container) {\n    (this || _global).elem = elem;\n    (this || _global).frameId = -1;\n    (this || _global).dataProps = createSizedArray(data.length);\n    (this || _global).renderer = renderer;\n    (this || _global).k = false;\n    (this || _global).dashStr = \"\";\n    (this || _global).dashArray = createTypedArray(\"float32\", data.length ? data.length - 1 : 0);\n    (this || _global).dashoffset = createTypedArray(\"float32\", 1);\n    this.initDynamicPropertyContainer(container);\n    var i;\n    var len = data.length || 0;\n    var prop;\n\n    for (i = 0; i < len; i += 1) {\n      prop = PropertyFactory.getProp(elem, data[i].v, 0, 0, this || _global);\n      (this || _global).k = prop.k || (this || _global).k;\n      (this || _global).dataProps[i] = {\n        n: data[i].n,\n        p: prop\n      };\n    }\n\n    if (!(this || _global).k) {\n      this.getValue(true);\n    }\n\n    (this || _global)._isAnimated = (this || _global).k;\n  }\n\n  DashProperty.prototype.getValue = function (forceRender) {\n    if ((this || _global).elem.globalData.frameId === (this || _global).frameId && !forceRender) {\n      return;\n    }\n\n    (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    this.iterateDynamicProperties();\n    (this || _global)._mdf = (this || _global)._mdf || forceRender;\n\n    if ((this || _global)._mdf) {\n      var i = 0;\n      var len = (this || _global).dataProps.length;\n\n      if ((this || _global).renderer === \"svg\") {\n        (this || _global).dashStr = \"\";\n      }\n\n      for (i = 0; i < len; i += 1) {\n        if ((this || _global).dataProps[i].n !== \"o\") {\n          if ((this || _global).renderer === \"svg\") {\n            (this || _global).dashStr += \" \" + (this || _global).dataProps[i].p.v;\n          } else {\n            (this || _global).dashArray[i] = (this || _global).dataProps[i].p.v;\n          }\n        } else {\n          (this || _global).dashoffset[0] = (this || _global).dataProps[i].p.v;\n        }\n      }\n    }\n  };\n\n  extendPrototype([DynamicPropertyContainer], DashProperty);\n  /* global createTypedArray, PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n  function GradientProperty(elem, data, container) {\n    (this || _global).data = data;\n    (this || _global).c = createTypedArray(\"uint8c\", data.p * 4);\n    var cLength = data.k.k[0].s ? data.k.k[0].s.length - data.p * 4 : data.k.k.length - data.p * 4;\n    (this || _global).o = createTypedArray(\"float32\", cLength);\n    (this || _global)._cmdf = false;\n    (this || _global)._omdf = false;\n    (this || _global)._collapsable = this.checkCollapsable();\n    (this || _global)._hasOpacity = cLength;\n    this.initDynamicPropertyContainer(container);\n    (this || _global).prop = PropertyFactory.getProp(elem, data.k, 1, null, this || _global);\n    (this || _global).k = (this || _global).prop.k;\n    this.getValue(true);\n  }\n\n  GradientProperty.prototype.comparePoints = function (values, points) {\n    var i = 0;\n    var len = (this || _global).o.length / 2;\n    var diff;\n\n    while (i < len) {\n      diff = Math.abs(values[i * 4] - values[points * 4 + i * 2]);\n\n      if (diff > 0.01) {\n        return false;\n      }\n\n      i += 1;\n    }\n\n    return true;\n  };\n\n  GradientProperty.prototype.checkCollapsable = function () {\n    if ((this || _global).o.length / 2 !== (this || _global).c.length / 4) {\n      return false;\n    }\n\n    if ((this || _global).data.k.k[0].s) {\n      var i = 0;\n      var len = (this || _global).data.k.k.length;\n\n      while (i < len) {\n        if (!this.comparePoints((this || _global).data.k.k[i].s, (this || _global).data.p)) {\n          return false;\n        }\n\n        i += 1;\n      }\n    } else if (!this.comparePoints((this || _global).data.k.k, (this || _global).data.p)) {\n      return false;\n    }\n\n    return true;\n  };\n\n  GradientProperty.prototype.getValue = function (forceRender) {\n    (this || _global).prop.getValue();\n\n    (this || _global)._mdf = false;\n    (this || _global)._cmdf = false;\n    (this || _global)._omdf = false;\n\n    if ((this || _global).prop._mdf || forceRender) {\n      var i;\n      var len = (this || _global).data.p * 4;\n      var mult;\n      var val;\n\n      for (i = 0; i < len; i += 1) {\n        mult = i % 4 === 0 ? 100 : 255;\n        val = Math.round((this || _global).prop.v[i] * mult);\n\n        if ((this || _global).c[i] !== val) {\n          (this || _global).c[i] = val;\n          (this || _global)._cmdf = !forceRender;\n        }\n      }\n\n      if ((this || _global).o.length) {\n        len = (this || _global).prop.v.length;\n\n        for (i = (this || _global).data.p * 4; i < len; i += 1) {\n          mult = i % 2 === 0 ? 100 : 1;\n          val = i % 2 === 0 ? Math.round((this || _global).prop.v[i] * 100) : (this || _global).prop.v[i];\n\n          if ((this || _global).o[i - (this || _global).data.p * 4] !== val) {\n            (this || _global).o[i - (this || _global).data.p * 4] = val;\n            (this || _global)._omdf = !forceRender;\n          }\n        }\n      }\n\n      (this || _global)._mdf = !forceRender;\n    }\n  };\n\n  extendPrototype([DynamicPropertyContainer], GradientProperty);\n  /* exported buildShapeString */\n\n  var buildShapeString = function (pathNodes, length, closed, mat) {\n    if (length === 0) {\n      return \"\";\n    }\n\n    var _o = pathNodes.o;\n    var _i = pathNodes.i;\n    var _v = pathNodes.v;\n    var i;\n    var shapeString = \" M\" + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n\n    for (i = 1; i < length; i += 1) {\n      shapeString += \" C\" + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + \" \" + mat.applyToPointStringified(_i[i][0], _i[i][1]) + \" \" + mat.applyToPointStringified(_v[i][0], _v[i][1]);\n    }\n\n    if (closed && length) {\n      shapeString += \" C\" + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + \" \" + mat.applyToPointStringified(_i[0][0], _i[0][1]) + \" \" + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n      shapeString += \"z\";\n    }\n\n    return shapeString;\n  };\n  /* global Howl */\n\n  /* exported audioControllerFactory */\n\n\n  var audioControllerFactory = function () {\n    function AudioController(audioFactory) {\n      (this || _global).audios = [];\n      (this || _global).audioFactory = audioFactory;\n      (this || _global)._volume = 1;\n      (this || _global)._isMuted = false;\n    }\n\n    AudioController.prototype = {\n      addAudio: function (audio) {\n        (this || _global).audios.push(audio);\n      },\n      pause: function () {\n        var i;\n        var len = (this || _global).audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global).audios[i].pause();\n        }\n      },\n      resume: function () {\n        var i;\n        var len = (this || _global).audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global).audios[i].resume();\n        }\n      },\n      setRate: function (rateValue) {\n        var i;\n        var len = (this || _global).audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global).audios[i].setRate(rateValue);\n        }\n      },\n      createAudio: function (assetPath) {\n        if ((this || _global).audioFactory) {\n          return this.audioFactory(assetPath);\n        }\n\n        if (Howl) {\n          return new Howl({\n            src: [assetPath]\n          });\n        }\n\n        return {\n          isPlaying: false,\n          play: function () {\n            (this || _global).isPlaying = true;\n          },\n          seek: function () {\n            (this || _global).isPlaying = false;\n          },\n          playing: function () {},\n          rate: function () {},\n          setVolume: function () {}\n        };\n      },\n      setAudioFactory: function (audioFactory) {\n        (this || _global).audioFactory = audioFactory;\n      },\n      setVolume: function (value) {\n        (this || _global)._volume = value;\n\n        this._updateVolume();\n      },\n      mute: function () {\n        (this || _global)._isMuted = true;\n\n        this._updateVolume();\n      },\n      unmute: function () {\n        (this || _global)._isMuted = false;\n\n        this._updateVolume();\n      },\n      getVolume: function () {\n        return (this || _global)._volume;\n      },\n      _updateVolume: function () {\n        var i;\n        var len = (this || _global).audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global).audios[i].volume((this || _global)._volume * ((this || _global)._isMuted ? 0 : 1));\n        }\n      }\n    };\n    return function () {\n      return new AudioController();\n    };\n  }();\n  /* global createTag, createNS, isSafari, assetLoader */\n\n  /* exported ImagePreloader */\n\n\n  var ImagePreloader = function () {\n    var proxyImage = function () {\n      var canvas = createTag(\"canvas\");\n      canvas.width = 1;\n      canvas.height = 1;\n      var ctx = canvas.getContext(\"2d\");\n      ctx.fillStyle = \"rgba(0,0,0,0)\";\n      ctx.fillRect(0, 0, 1, 1);\n      return canvas;\n    }();\n\n    function imageLoaded() {\n      (this || _global).loadedAssets += 1;\n\n      if ((this || _global).loadedAssets === (this || _global).totalImages && (this || _global).loadedFootagesCount === (this || _global).totalFootages) {\n        if ((this || _global).imagesLoadedCb) {\n          this.imagesLoadedCb(null);\n        }\n      }\n    }\n\n    function footageLoaded() {\n      (this || _global).loadedFootagesCount += 1;\n\n      if ((this || _global).loadedAssets === (this || _global).totalImages && (this || _global).loadedFootagesCount === (this || _global).totalFootages) {\n        if ((this || _global).imagesLoadedCb) {\n          this.imagesLoadedCb(null);\n        }\n      }\n    }\n\n    function getAssetsPath(assetData, assetsPath, originalPath) {\n      var path = \"\";\n\n      if (assetData.e) {\n        path = assetData.p;\n      } else if (assetsPath) {\n        var imagePath = assetData.p;\n\n        if (imagePath.indexOf(\"images/\") !== -1) {\n          imagePath = imagePath.split(\"/\")[1];\n        }\n\n        path = assetsPath + imagePath;\n      } else {\n        path = originalPath;\n        path += assetData.u ? assetData.u : \"\";\n        path += assetData.p;\n      }\n\n      return path;\n    }\n\n    function testImageLoaded(img) {\n      var _count = 0;\n      var intervalId = setInterval(function () {\n        var box = img.getBBox();\n\n        if (box.width || _count > 500) {\n          this._imageLoaded();\n\n          clearInterval(intervalId);\n        }\n\n        _count += 1;\n      }.bind(this || _global), 50);\n    }\n\n    function createImageData(assetData) {\n      var path = getAssetsPath(assetData, (this || _global).assetsPath, (this || _global).path);\n      var img = createNS(\"image\");\n\n      if (isSafari) {\n        this.testImageLoaded(img);\n      } else {\n        img.addEventListener(\"load\", (this || _global)._imageLoaded, false);\n      }\n\n      img.addEventListener(\"error\", function () {\n        ob.img = proxyImage;\n\n        this._imageLoaded();\n      }.bind(this || _global), false);\n      img.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", path);\n\n      if ((this || _global)._elementHelper.append) {\n        (this || _global)._elementHelper.append(img);\n      } else {\n        (this || _global)._elementHelper.appendChild(img);\n      }\n\n      var ob = {\n        img: img,\n        assetData: assetData\n      };\n      return ob;\n    }\n\n    function createImgData(assetData) {\n      var path = getAssetsPath(assetData, (this || _global).assetsPath, (this || _global).path);\n      var img = createTag(\"img\");\n      img.crossOrigin = \"anonymous\";\n      img.addEventListener(\"load\", (this || _global)._imageLoaded, false);\n      img.addEventListener(\"error\", function () {\n        ob.img = proxyImage;\n\n        this._imageLoaded();\n      }.bind(this || _global), false);\n      img.src = path;\n      var ob = {\n        img: img,\n        assetData: assetData\n      };\n      return ob;\n    }\n\n    function createFootageData(data) {\n      var ob = {\n        assetData: data\n      };\n      var path = getAssetsPath(data, (this || _global).assetsPath, (this || _global).path);\n      assetLoader.load(path, function (footageData) {\n        ob.img = footageData;\n\n        this._footageLoaded();\n      }.bind(this || _global), function () {\n        ob.img = {};\n\n        this._footageLoaded();\n      }.bind(this || _global));\n      return ob;\n    }\n\n    function loadAssets(assets, cb) {\n      (this || _global).imagesLoadedCb = cb;\n      var i;\n      var len = assets.length;\n\n      for (i = 0; i < len; i += 1) {\n        if (!assets[i].layers) {\n          if (!assets[i].t) {\n            (this || _global).totalImages += 1;\n\n            (this || _global).images.push(this._createImageData(assets[i]));\n          } else if (assets[i].t === 3) {\n            (this || _global).totalFootages += 1;\n\n            (this || _global).images.push(this.createFootageData(assets[i]));\n          }\n        }\n      }\n    }\n\n    function setPath(path) {\n      (this || _global).path = path || \"\";\n    }\n\n    function setAssetsPath(path) {\n      (this || _global).assetsPath = path || \"\";\n    }\n\n    function getAsset(assetData) {\n      var i = 0;\n      var len = (this || _global).images.length;\n\n      while (i < len) {\n        if ((this || _global).images[i].assetData === assetData) {\n          return (this || _global).images[i].img;\n        }\n\n        i += 1;\n      }\n\n      return null;\n    }\n\n    function destroy() {\n      (this || _global).imagesLoadedCb = null;\n      (this || _global).images.length = 0;\n    }\n\n    function loadedImages() {\n      return (this || _global).totalImages === (this || _global).loadedAssets;\n    }\n\n    function loadedFootages() {\n      return (this || _global).totalFootages === (this || _global).loadedFootagesCount;\n    }\n\n    function setCacheType(type, elementHelper) {\n      if (type === \"svg\") {\n        (this || _global)._elementHelper = elementHelper;\n        (this || _global)._createImageData = (this || _global).createImageData.bind(this || _global);\n      } else {\n        (this || _global)._createImageData = (this || _global).createImgData.bind(this || _global);\n      }\n    }\n\n    function ImagePreloaderFactory() {\n      (this || _global)._imageLoaded = imageLoaded.bind(this || _global);\n      (this || _global)._footageLoaded = footageLoaded.bind(this || _global);\n      (this || _global).testImageLoaded = testImageLoaded.bind(this || _global);\n      (this || _global).createFootageData = createFootageData.bind(this || _global);\n      (this || _global).assetsPath = \"\";\n      (this || _global).path = \"\";\n      (this || _global).totalImages = 0;\n      (this || _global).totalFootages = 0;\n      (this || _global).loadedAssets = 0;\n      (this || _global).loadedFootagesCount = 0;\n      (this || _global).imagesLoadedCb = null;\n      (this || _global).images = [];\n    }\n\n    ImagePreloaderFactory.prototype = {\n      loadAssets: loadAssets,\n      setAssetsPath: setAssetsPath,\n      setPath: setPath,\n      loadedImages: loadedImages,\n      loadedFootages: loadedFootages,\n      destroy: destroy,\n      getAsset: getAsset,\n      createImgData: createImgData,\n      createImageData: createImageData,\n      imageLoaded: imageLoaded,\n      footageLoaded: footageLoaded,\n      setCacheType: setCacheType\n    };\n    return ImagePreloaderFactory;\n  }();\n  /* exported featureSupport */\n\n\n  var featureSupport = function () {\n    var ob = {\n      maskType: true\n    };\n\n    if (/MSIE 10/i.test(navigator.userAgent) || /MSIE 9/i.test(navigator.userAgent) || /rv:11.0/i.test(navigator.userAgent) || /Edge\\/\\d./i.test(navigator.userAgent)) {\n      ob.maskType = false;\n    }\n\n    return ob;\n  }();\n  /* global createNS */\n\n  /* exported filtersFactory */\n\n\n  var filtersFactory = function () {\n    var ob = {};\n    ob.createFilter = createFilter;\n    ob.createAlphaToLuminanceFilter = createAlphaToLuminanceFilter;\n\n    function createFilter(filId, skipCoordinates) {\n      var fil = createNS(\"filter\");\n      fil.setAttribute(\"id\", filId);\n\n      if (skipCoordinates !== true) {\n        fil.setAttribute(\"filterUnits\", \"objectBoundingBox\");\n        fil.setAttribute(\"x\", \"0%\");\n        fil.setAttribute(\"y\", \"0%\");\n        fil.setAttribute(\"width\", \"100%\");\n        fil.setAttribute(\"height\", \"100%\");\n      }\n\n      return fil;\n    }\n\n    function createAlphaToLuminanceFilter() {\n      var feColorMatrix = createNS(\"feColorMatrix\");\n      feColorMatrix.setAttribute(\"type\", \"matrix\");\n      feColorMatrix.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n      feColorMatrix.setAttribute(\"values\", \"0 0 0 1 0  0 0 0 1 0  0 0 0 1 0  0 0 0 1 1\");\n      return feColorMatrix;\n    }\n\n    return ob;\n  }();\n  /* exported assetLoader */\n\n\n  var assetLoader = function () {\n    function formatResponse(xhr) {\n      if (xhr.response && typeof xhr.response === \"object\") {\n        return xhr.response;\n      }\n\n      if (xhr.response && typeof xhr.response === \"string\") {\n        return JSON.parse(xhr.response);\n      }\n\n      if (xhr.responseText) {\n        return JSON.parse(xhr.responseText);\n      }\n\n      return null;\n    }\n\n    function loadAsset(path, callback, errorCallback) {\n      var response;\n      var xhr = new XMLHttpRequest(); // set responseType after calling open or IE will break.\n\n      try {\n        // This crashes on Android WebView prior to KitKat\n        xhr.responseType = \"json\";\n      } catch (err) {} // eslint-disable-line no-empty\n\n\n      xhr.onreadystatechange = function () {\n        if (xhr.readyState === 4) {\n          if (xhr.status === 200) {\n            response = formatResponse(xhr);\n            callback(response);\n          } else {\n            try {\n              response = formatResponse(xhr);\n              callback(response);\n            } catch (err) {\n              if (errorCallback) {\n                errorCallback(err);\n              }\n            }\n          }\n        }\n      };\n\n      xhr.open(\"GET\", path, true);\n      xhr.send();\n    }\n\n    return {\n      load: loadAsset\n    };\n  }();\n  /* global createSizedArray, PropertyFactory, TextAnimatorDataProperty, bez, addHueToRGB,\r\n    addSaturationToRGB, addBrightnessToRGB, LetterProps, Matrix, extendPrototype, DynamicPropertyContainer */\n\n\n  function TextAnimatorProperty(textData, renderType, elem) {\n    (this || _global)._isFirstFrame = true;\n    (this || _global)._hasMaskedPath = false;\n    (this || _global)._frameId = -1;\n    (this || _global)._textData = textData;\n    (this || _global)._renderType = renderType;\n    (this || _global)._elem = elem;\n    (this || _global)._animatorsData = createSizedArray((this || _global)._textData.a.length);\n    (this || _global)._pathData = {};\n    (this || _global)._moreOptions = {\n      alignment: {}\n    };\n    (this || _global).renderedLetters = [];\n    (this || _global).lettersChangedFlag = false;\n    this.initDynamicPropertyContainer(elem);\n  }\n\n  TextAnimatorProperty.prototype.searchProperties = function () {\n    var i;\n    var len = (this || _global)._textData.a.length;\n    var animatorProps;\n    var getProp = PropertyFactory.getProp;\n\n    for (i = 0; i < len; i += 1) {\n      animatorProps = (this || _global)._textData.a[i];\n      (this || _global)._animatorsData[i] = new TextAnimatorDataProperty((this || _global)._elem, animatorProps, this || _global);\n    }\n\n    if ((this || _global)._textData.p && \"m\" in (this || _global)._textData.p) {\n      (this || _global)._pathData = {\n        f: getProp((this || _global)._elem, (this || _global)._textData.p.f, 0, 0, this || _global),\n        l: getProp((this || _global)._elem, (this || _global)._textData.p.l, 0, 0, this || _global),\n        r: (this || _global)._textData.p.r,\n        m: (this || _global)._elem.maskManager.getMaskProperty((this || _global)._textData.p.m)\n      };\n      (this || _global)._hasMaskedPath = true;\n    } else {\n      (this || _global)._hasMaskedPath = false;\n    }\n\n    (this || _global)._moreOptions.alignment = getProp((this || _global)._elem, (this || _global)._textData.m.a, 1, 0, this || _global);\n  };\n\n  TextAnimatorProperty.prototype.getMeasures = function (documentData, lettersChangedFlag) {\n    (this || _global).lettersChangedFlag = lettersChangedFlag;\n\n    if (!(this || _global)._mdf && !(this || _global)._isFirstFrame && !lettersChangedFlag && (!(this || _global)._hasMaskedPath || !(this || _global)._pathData.m._mdf)) {\n      return;\n    }\n\n    (this || _global)._isFirstFrame = false;\n    var alignment = (this || _global)._moreOptions.alignment.v;\n    var animators = (this || _global)._animatorsData;\n    var textData = (this || _global)._textData;\n    var matrixHelper = (this || _global).mHelper;\n    var renderType = (this || _global)._renderType;\n    var renderedLettersCount = (this || _global).renderedLetters.length;\n    var xPos;\n    var yPos;\n    var i;\n    var len;\n    var letters = documentData.l;\n    var pathInfo;\n    var currentLength;\n    var currentPoint;\n    var segmentLength;\n    var flag;\n    var pointInd;\n    var segmentInd;\n    var prevPoint;\n    var points;\n    var segments;\n    var partialLength;\n    var totalLength;\n    var perc;\n    var tanAngle;\n    var mask;\n\n    if ((this || _global)._hasMaskedPath) {\n      mask = (this || _global)._pathData.m;\n\n      if (!(this || _global)._pathData.n || (this || _global)._pathData._mdf) {\n        var paths = mask.v;\n\n        if ((this || _global)._pathData.r) {\n          paths = paths.reverse();\n        } // TODO: release bezier data cached from previous pathInfo: this._pathData.pi\n\n\n        pathInfo = {\n          tLength: 0,\n          segments: []\n        };\n        len = paths._length - 1;\n        var bezierData;\n        totalLength = 0;\n\n        for (i = 0; i < len; i += 1) {\n          bezierData = bez.buildBezierData(paths.v[i], paths.v[i + 1], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[i + 1][0] - paths.v[i + 1][0], paths.i[i + 1][1] - paths.v[i + 1][1]]);\n          pathInfo.tLength += bezierData.segmentLength;\n          pathInfo.segments.push(bezierData);\n          totalLength += bezierData.segmentLength;\n        }\n\n        i = len;\n\n        if (mask.v.c) {\n          bezierData = bez.buildBezierData(paths.v[i], paths.v[0], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[0][0] - paths.v[0][0], paths.i[0][1] - paths.v[0][1]]);\n          pathInfo.tLength += bezierData.segmentLength;\n          pathInfo.segments.push(bezierData);\n          totalLength += bezierData.segmentLength;\n        }\n\n        (this || _global)._pathData.pi = pathInfo;\n      }\n\n      pathInfo = (this || _global)._pathData.pi;\n      currentLength = (this || _global)._pathData.f.v;\n      segmentInd = 0;\n      pointInd = 1;\n      segmentLength = 0;\n      flag = true;\n      segments = pathInfo.segments;\n\n      if (currentLength < 0 && mask.v.c) {\n        if (pathInfo.tLength < Math.abs(currentLength)) {\n          currentLength = -Math.abs(currentLength) % pathInfo.tLength;\n        }\n\n        segmentInd = segments.length - 1;\n        points = segments[segmentInd].points;\n        pointInd = points.length - 1;\n\n        while (currentLength < 0) {\n          currentLength += points[pointInd].partialLength;\n          pointInd -= 1;\n\n          if (pointInd < 0) {\n            segmentInd -= 1;\n            points = segments[segmentInd].points;\n            pointInd = points.length - 1;\n          }\n        }\n      }\n\n      points = segments[segmentInd].points;\n      prevPoint = points[pointInd - 1];\n      currentPoint = points[pointInd];\n      partialLength = currentPoint.partialLength;\n    }\n\n    len = letters.length;\n    xPos = 0;\n    yPos = 0;\n    var yOff = documentData.finalSize * 1.2 * 0.714;\n    var firstLine = true;\n    var animatorProps;\n    var animatorSelector;\n    var j;\n    var jLen;\n    var letterValue;\n    jLen = animators.length;\n    var mult;\n    var ind = -1;\n    var offf;\n    var xPathPos;\n    var yPathPos;\n    var initPathPos = currentLength;\n    var initSegmentInd = segmentInd;\n    var initPointInd = pointInd;\n    var currentLine = -1;\n    var elemOpacity;\n    var sc;\n    var sw;\n    var fc;\n    var k;\n    var letterSw;\n    var letterSc;\n    var letterFc;\n    var letterM = \"\";\n    var letterP = (this || _global).defaultPropsArray;\n    var letterO; //\n\n    if (documentData.j === 2 || documentData.j === 1) {\n      var animatorJustifyOffset = 0;\n      var animatorFirstCharOffset = 0;\n      var justifyOffsetMult = documentData.j === 2 ? -0.5 : -1;\n      var lastIndex = 0;\n      var isNewLine = true;\n\n      for (i = 0; i < len; i += 1) {\n        if (letters[i].n) {\n          if (animatorJustifyOffset) {\n            animatorJustifyOffset += animatorFirstCharOffset;\n          }\n\n          while (lastIndex < i) {\n            letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n            lastIndex += 1;\n          }\n\n          animatorJustifyOffset = 0;\n          isNewLine = true;\n        } else {\n          for (j = 0; j < jLen; j += 1) {\n            animatorProps = animators[j].a;\n\n            if (animatorProps.t.propType) {\n              if (isNewLine && documentData.j === 2) {\n                animatorFirstCharOffset += animatorProps.t.v * justifyOffsetMult;\n              }\n\n              animatorSelector = animators[j].s;\n              mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n              if (mult.length) {\n                animatorJustifyOffset += animatorProps.t.v * mult[0] * justifyOffsetMult;\n              } else {\n                animatorJustifyOffset += animatorProps.t.v * mult * justifyOffsetMult;\n              }\n            }\n          }\n\n          isNewLine = false;\n        }\n      }\n\n      if (animatorJustifyOffset) {\n        animatorJustifyOffset += animatorFirstCharOffset;\n      }\n\n      while (lastIndex < i) {\n        letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n        lastIndex += 1;\n      }\n    } //\n\n\n    for (i = 0; i < len; i += 1) {\n      matrixHelper.reset();\n      elemOpacity = 1;\n\n      if (letters[i].n) {\n        xPos = 0;\n        yPos += documentData.yOffset;\n        yPos += firstLine ? 1 : 0;\n        currentLength = initPathPos;\n        firstLine = false;\n\n        if ((this || _global)._hasMaskedPath) {\n          segmentInd = initSegmentInd;\n          pointInd = initPointInd;\n          points = segments[segmentInd].points;\n          prevPoint = points[pointInd - 1];\n          currentPoint = points[pointInd];\n          partialLength = currentPoint.partialLength;\n          segmentLength = 0;\n        }\n\n        letterM = \"\";\n        letterFc = \"\";\n        letterSw = \"\";\n        letterO = \"\";\n        letterP = (this || _global).defaultPropsArray;\n      } else {\n        if ((this || _global)._hasMaskedPath) {\n          if (currentLine !== letters[i].line) {\n            switch (documentData.j) {\n              case 1:\n                currentLength += totalLength - documentData.lineWidths[letters[i].line];\n                break;\n\n              case 2:\n                currentLength += (totalLength - documentData.lineWidths[letters[i].line]) / 2;\n                break;\n\n              default:\n                break;\n            }\n\n            currentLine = letters[i].line;\n          }\n\n          if (ind !== letters[i].ind) {\n            if (letters[ind]) {\n              currentLength += letters[ind].extra;\n            }\n\n            currentLength += letters[i].an / 2;\n            ind = letters[i].ind;\n          }\n\n          currentLength += alignment[0] * letters[i].an * 0.005;\n          var animatorOffset = 0;\n\n          for (j = 0; j < jLen; j += 1) {\n            animatorProps = animators[j].a;\n\n            if (animatorProps.p.propType) {\n              animatorSelector = animators[j].s;\n              mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n              if (mult.length) {\n                animatorOffset += animatorProps.p.v[0] * mult[0];\n              } else {\n                animatorOffset += animatorProps.p.v[0] * mult;\n              }\n            }\n\n            if (animatorProps.a.propType) {\n              animatorSelector = animators[j].s;\n              mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n              if (mult.length) {\n                animatorOffset += animatorProps.a.v[0] * mult[0];\n              } else {\n                animatorOffset += animatorProps.a.v[0] * mult;\n              }\n            }\n          }\n\n          flag = true;\n\n          while (flag) {\n            if (segmentLength + partialLength >= currentLength + animatorOffset || !points) {\n              perc = (currentLength + animatorOffset - segmentLength) / currentPoint.partialLength;\n              xPathPos = prevPoint.point[0] + (currentPoint.point[0] - prevPoint.point[0]) * perc;\n              yPathPos = prevPoint.point[1] + (currentPoint.point[1] - prevPoint.point[1]) * perc;\n              matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -(alignment[1] * yOff) * 0.01);\n              flag = false;\n            } else if (points) {\n              segmentLength += currentPoint.partialLength;\n              pointInd += 1;\n\n              if (pointInd >= points.length) {\n                pointInd = 0;\n                segmentInd += 1;\n\n                if (!segments[segmentInd]) {\n                  if (mask.v.c) {\n                    pointInd = 0;\n                    segmentInd = 0;\n                    points = segments[segmentInd].points;\n                  } else {\n                    segmentLength -= currentPoint.partialLength;\n                    points = null;\n                  }\n                } else {\n                  points = segments[segmentInd].points;\n                }\n              }\n\n              if (points) {\n                prevPoint = currentPoint;\n                currentPoint = points[pointInd];\n                partialLength = currentPoint.partialLength;\n              }\n            }\n          }\n\n          offf = letters[i].an / 2 - letters[i].add;\n          matrixHelper.translate(-offf, 0, 0);\n        } else {\n          offf = letters[i].an / 2 - letters[i].add;\n          matrixHelper.translate(-offf, 0, 0); // Grouping alignment\n\n          matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -alignment[1] * yOff * 0.01, 0);\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.t.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars); // This condition is to prevent applying tracking to first character in each line. Might be better to use a boolean \"isNewLine\"\n\n            if (xPos !== 0 || documentData.j !== 0) {\n              if ((this || _global)._hasMaskedPath) {\n                if (mult.length) {\n                  currentLength += animatorProps.t.v * mult[0];\n                } else {\n                  currentLength += animatorProps.t.v * mult;\n                }\n              } else if (mult.length) {\n                xPos += animatorProps.t.v * mult[0];\n              } else {\n                xPos += animatorProps.t.v * mult;\n              }\n            }\n          }\n        }\n\n        if (documentData.strokeWidthAnim) {\n          sw = documentData.sw || 0;\n        }\n\n        if (documentData.strokeColorAnim) {\n          if (documentData.sc) {\n            sc = [documentData.sc[0], documentData.sc[1], documentData.sc[2]];\n          } else {\n            sc = [0, 0, 0];\n          }\n        }\n\n        if (documentData.fillColorAnim && documentData.fc) {\n          fc = [documentData.fc[0], documentData.fc[1], documentData.fc[2]];\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.a.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n            if (mult.length) {\n              matrixHelper.translate(-animatorProps.a.v[0] * mult[0], -animatorProps.a.v[1] * mult[1], animatorProps.a.v[2] * mult[2]);\n            } else {\n              matrixHelper.translate(-animatorProps.a.v[0] * mult, -animatorProps.a.v[1] * mult, animatorProps.a.v[2] * mult);\n            }\n          }\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.s.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n            if (mult.length) {\n              matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult[0], 1 + (animatorProps.s.v[1] - 1) * mult[1], 1);\n            } else {\n              matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult, 1 + (animatorProps.s.v[1] - 1) * mult, 1);\n            }\n          }\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n          animatorSelector = animators[j].s;\n          mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n          if (animatorProps.sk.propType) {\n            if (mult.length) {\n              matrixHelper.skewFromAxis(-animatorProps.sk.v * mult[0], animatorProps.sa.v * mult[1]);\n            } else {\n              matrixHelper.skewFromAxis(-animatorProps.sk.v * mult, animatorProps.sa.v * mult);\n            }\n          }\n\n          if (animatorProps.r.propType) {\n            if (mult.length) {\n              matrixHelper.rotateZ(-animatorProps.r.v * mult[2]);\n            } else {\n              matrixHelper.rotateZ(-animatorProps.r.v * mult);\n            }\n          }\n\n          if (animatorProps.ry.propType) {\n            if (mult.length) {\n              matrixHelper.rotateY(animatorProps.ry.v * mult[1]);\n            } else {\n              matrixHelper.rotateY(animatorProps.ry.v * mult);\n            }\n          }\n\n          if (animatorProps.rx.propType) {\n            if (mult.length) {\n              matrixHelper.rotateX(animatorProps.rx.v * mult[0]);\n            } else {\n              matrixHelper.rotateX(animatorProps.rx.v * mult);\n            }\n          }\n\n          if (animatorProps.o.propType) {\n            if (mult.length) {\n              elemOpacity += (animatorProps.o.v * mult[0] - elemOpacity) * mult[0];\n            } else {\n              elemOpacity += (animatorProps.o.v * mult - elemOpacity) * mult;\n            }\n          }\n\n          if (documentData.strokeWidthAnim && animatorProps.sw.propType) {\n            if (mult.length) {\n              sw += animatorProps.sw.v * mult[0];\n            } else {\n              sw += animatorProps.sw.v * mult;\n            }\n          }\n\n          if (documentData.strokeColorAnim && animatorProps.sc.propType) {\n            for (k = 0; k < 3; k += 1) {\n              if (mult.length) {\n                sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult[0];\n              } else {\n                sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult;\n              }\n            }\n          }\n\n          if (documentData.fillColorAnim && documentData.fc) {\n            if (animatorProps.fc.propType) {\n              for (k = 0; k < 3; k += 1) {\n                if (mult.length) {\n                  fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult[0];\n                } else {\n                  fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult;\n                }\n              }\n            }\n\n            if (animatorProps.fh.propType) {\n              if (mult.length) {\n                fc = addHueToRGB(fc, animatorProps.fh.v * mult[0]);\n              } else {\n                fc = addHueToRGB(fc, animatorProps.fh.v * mult);\n              }\n            }\n\n            if (animatorProps.fs.propType) {\n              if (mult.length) {\n                fc = addSaturationToRGB(fc, animatorProps.fs.v * mult[0]);\n              } else {\n                fc = addSaturationToRGB(fc, animatorProps.fs.v * mult);\n              }\n            }\n\n            if (animatorProps.fb.propType) {\n              if (mult.length) {\n                fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult[0]);\n              } else {\n                fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult);\n              }\n            }\n          }\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.p.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n            if ((this || _global)._hasMaskedPath) {\n              if (mult.length) {\n                matrixHelper.translate(0, animatorProps.p.v[1] * mult[0], -animatorProps.p.v[2] * mult[1]);\n              } else {\n                matrixHelper.translate(0, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n              }\n            } else if (mult.length) {\n              matrixHelper.translate(animatorProps.p.v[0] * mult[0], animatorProps.p.v[1] * mult[1], -animatorProps.p.v[2] * mult[2]);\n            } else {\n              matrixHelper.translate(animatorProps.p.v[0] * mult, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n            }\n          }\n        }\n\n        if (documentData.strokeWidthAnim) {\n          letterSw = sw < 0 ? 0 : sw;\n        }\n\n        if (documentData.strokeColorAnim) {\n          letterSc = \"rgb(\" + Math.round(sc[0] * 255) + \",\" + Math.round(sc[1] * 255) + \",\" + Math.round(sc[2] * 255) + \")\";\n        }\n\n        if (documentData.fillColorAnim && documentData.fc) {\n          letterFc = \"rgb(\" + Math.round(fc[0] * 255) + \",\" + Math.round(fc[1] * 255) + \",\" + Math.round(fc[2] * 255) + \")\";\n        }\n\n        if ((this || _global)._hasMaskedPath) {\n          matrixHelper.translate(0, -documentData.ls);\n          matrixHelper.translate(0, alignment[1] * yOff * 0.01 + yPos, 0);\n\n          if (textData.p.p) {\n            tanAngle = (currentPoint.point[1] - prevPoint.point[1]) / (currentPoint.point[0] - prevPoint.point[0]);\n            var rot = Math.atan(tanAngle) * 180 / Math.PI;\n\n            if (currentPoint.point[0] < prevPoint.point[0]) {\n              rot += 180;\n            }\n\n            matrixHelper.rotate(-rot * Math.PI / 180);\n          }\n\n          matrixHelper.translate(xPathPos, yPathPos, 0);\n          currentLength -= alignment[0] * letters[i].an * 0.005;\n\n          if (letters[i + 1] && ind !== letters[i + 1].ind) {\n            currentLength += letters[i].an / 2;\n            currentLength += documentData.tr * 0.001 * documentData.finalSize;\n          }\n        } else {\n          matrixHelper.translate(xPos, yPos, 0);\n\n          if (documentData.ps) {\n            // matrixHelper.translate(documentData.ps[0],documentData.ps[1],0);\n            matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n          }\n\n          switch (documentData.j) {\n            case 1:\n              matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]), 0, 0);\n              break;\n\n            case 2:\n              matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]) / 2, 0, 0);\n              break;\n\n            default:\n              break;\n          }\n\n          matrixHelper.translate(0, -documentData.ls);\n          matrixHelper.translate(offf, 0, 0);\n          matrixHelper.translate(alignment[0] * letters[i].an * 0.005, alignment[1] * yOff * 0.01, 0);\n          xPos += letters[i].l + documentData.tr * 0.001 * documentData.finalSize;\n        }\n\n        if (renderType === \"html\") {\n          letterM = matrixHelper.toCSS();\n        } else if (renderType === \"svg\") {\n          letterM = matrixHelper.to2dCSS();\n        } else {\n          letterP = [matrixHelper.props[0], matrixHelper.props[1], matrixHelper.props[2], matrixHelper.props[3], matrixHelper.props[4], matrixHelper.props[5], matrixHelper.props[6], matrixHelper.props[7], matrixHelper.props[8], matrixHelper.props[9], matrixHelper.props[10], matrixHelper.props[11], matrixHelper.props[12], matrixHelper.props[13], matrixHelper.props[14], matrixHelper.props[15]];\n        }\n\n        letterO = elemOpacity;\n      }\n\n      if (renderedLettersCount <= i) {\n        letterValue = new LetterProps(letterO, letterSw, letterSc, letterFc, letterM, letterP);\n\n        (this || _global).renderedLetters.push(letterValue);\n\n        renderedLettersCount += 1;\n        (this || _global).lettersChangedFlag = true;\n      } else {\n        letterValue = (this || _global).renderedLetters[i];\n        (this || _global).lettersChangedFlag = letterValue.update(letterO, letterSw, letterSc, letterFc, letterM, letterP) || (this || _global).lettersChangedFlag;\n      }\n    }\n  };\n\n  TextAnimatorProperty.prototype.getValue = function () {\n    if ((this || _global)._elem.globalData.frameId === (this || _global)._frameId) {\n      return;\n    }\n\n    (this || _global)._frameId = (this || _global)._elem.globalData.frameId;\n    this.iterateDynamicProperties();\n  };\n\n  TextAnimatorProperty.prototype.mHelper = new Matrix();\n  TextAnimatorProperty.prototype.defaultPropsArray = [];\n  extendPrototype([DynamicPropertyContainer], TextAnimatorProperty);\n  /* global PropertyFactory, degToRads, TextSelectorProp */\n\n  /* exported TextAnimatorDataProperty */\n\n  function TextAnimatorDataProperty(elem, animatorProps, container) {\n    var defaultData = {\n      propType: false\n    };\n    var getProp = PropertyFactory.getProp;\n    var textAnimatorAnimatables = animatorProps.a;\n    (this || _global).a = {\n      r: textAnimatorAnimatables.r ? getProp(elem, textAnimatorAnimatables.r, 0, degToRads, container) : defaultData,\n      rx: textAnimatorAnimatables.rx ? getProp(elem, textAnimatorAnimatables.rx, 0, degToRads, container) : defaultData,\n      ry: textAnimatorAnimatables.ry ? getProp(elem, textAnimatorAnimatables.ry, 0, degToRads, container) : defaultData,\n      sk: textAnimatorAnimatables.sk ? getProp(elem, textAnimatorAnimatables.sk, 0, degToRads, container) : defaultData,\n      sa: textAnimatorAnimatables.sa ? getProp(elem, textAnimatorAnimatables.sa, 0, degToRads, container) : defaultData,\n      s: textAnimatorAnimatables.s ? getProp(elem, textAnimatorAnimatables.s, 1, 0.01, container) : defaultData,\n      a: textAnimatorAnimatables.a ? getProp(elem, textAnimatorAnimatables.a, 1, 0, container) : defaultData,\n      o: textAnimatorAnimatables.o ? getProp(elem, textAnimatorAnimatables.o, 0, 0.01, container) : defaultData,\n      p: textAnimatorAnimatables.p ? getProp(elem, textAnimatorAnimatables.p, 1, 0, container) : defaultData,\n      sw: textAnimatorAnimatables.sw ? getProp(elem, textAnimatorAnimatables.sw, 0, 0, container) : defaultData,\n      sc: textAnimatorAnimatables.sc ? getProp(elem, textAnimatorAnimatables.sc, 1, 0, container) : defaultData,\n      fc: textAnimatorAnimatables.fc ? getProp(elem, textAnimatorAnimatables.fc, 1, 0, container) : defaultData,\n      fh: textAnimatorAnimatables.fh ? getProp(elem, textAnimatorAnimatables.fh, 0, 0, container) : defaultData,\n      fs: textAnimatorAnimatables.fs ? getProp(elem, textAnimatorAnimatables.fs, 0, 0.01, container) : defaultData,\n      fb: textAnimatorAnimatables.fb ? getProp(elem, textAnimatorAnimatables.fb, 0, 0.01, container) : defaultData,\n      t: textAnimatorAnimatables.t ? getProp(elem, textAnimatorAnimatables.t, 0, 0, container) : defaultData\n    };\n    (this || _global).s = TextSelectorProp.getTextSelectorProp(elem, animatorProps.s, container);\n    (this || _global).s.t = animatorProps.s.t;\n  }\n\n  function LetterProps(o, sw, sc, fc, m, p) {\n    (this || _global).o = o;\n    (this || _global).sw = sw;\n    (this || _global).sc = sc;\n    (this || _global).fc = fc;\n    (this || _global).m = m;\n    (this || _global).p = p;\n    (this || _global)._mdf = {\n      o: true,\n      sw: !!sw,\n      sc: !!sc,\n      fc: !!fc,\n      m: true,\n      p: true\n    };\n  }\n\n  LetterProps.prototype.update = function (o, sw, sc, fc, m, p) {\n    (this || _global)._mdf.o = false;\n    (this || _global)._mdf.sw = false;\n    (this || _global)._mdf.sc = false;\n    (this || _global)._mdf.fc = false;\n    (this || _global)._mdf.m = false;\n    (this || _global)._mdf.p = false;\n    var updated = false;\n\n    if ((this || _global).o !== o) {\n      (this || _global).o = o;\n      (this || _global)._mdf.o = true;\n      updated = true;\n    }\n\n    if ((this || _global).sw !== sw) {\n      (this || _global).sw = sw;\n      (this || _global)._mdf.sw = true;\n      updated = true;\n    }\n\n    if ((this || _global).sc !== sc) {\n      (this || _global).sc = sc;\n      (this || _global)._mdf.sc = true;\n      updated = true;\n    }\n\n    if ((this || _global).fc !== fc) {\n      (this || _global).fc = fc;\n      (this || _global)._mdf.fc = true;\n      updated = true;\n    }\n\n    if ((this || _global).m !== m) {\n      (this || _global).m = m;\n      (this || _global)._mdf.m = true;\n      updated = true;\n    }\n\n    if (p.length && ((this || _global).p[0] !== p[0] || (this || _global).p[1] !== p[1] || (this || _global).p[4] !== p[4] || (this || _global).p[5] !== p[5] || (this || _global).p[12] !== p[12] || (this || _global).p[13] !== p[13])) {\n      (this || _global).p = p;\n      (this || _global)._mdf.p = true;\n      updated = true;\n    }\n\n    return updated;\n  };\n  /* global FontManager, initialDefaultFrame, getFontProperties */\n\n  /* exported TextProperty */\n\n\n  function TextProperty(elem, data) {\n    (this || _global)._frameId = initialDefaultFrame;\n    (this || _global).pv = \"\";\n    (this || _global).v = \"\";\n    (this || _global).kf = false;\n    (this || _global)._isFirstFrame = true;\n    (this || _global)._mdf = false;\n    (this || _global).data = data;\n    (this || _global).elem = elem;\n    (this || _global).comp = (this || _global).elem.comp;\n    (this || _global).keysIndex = 0;\n    (this || _global).canResize = false;\n    (this || _global).minimumFontSize = 1;\n    (this || _global).effectsSequence = [];\n    (this || _global).currentData = {\n      ascent: 0,\n      boxWidth: (this || _global).defaultBoxWidth,\n      f: \"\",\n      fStyle: \"\",\n      fWeight: \"\",\n      fc: \"\",\n      j: \"\",\n      justifyOffset: \"\",\n      l: [],\n      lh: 0,\n      lineWidths: [],\n      ls: \"\",\n      of: \"\",\n      s: \"\",\n      sc: \"\",\n      sw: 0,\n      t: 0,\n      tr: 0,\n      sz: 0,\n      ps: null,\n      fillColorAnim: false,\n      strokeColorAnim: false,\n      strokeWidthAnim: false,\n      yOffset: 0,\n      finalSize: 0,\n      finalText: [],\n      finalLineHeight: 0,\n      __complete: false\n    };\n    this.copyData((this || _global).currentData, (this || _global).data.d.k[0].s);\n\n    if (!this.searchProperty()) {\n      this.completeTextData((this || _global).currentData);\n    }\n  }\n\n  TextProperty.prototype.defaultBoxWidth = [0, 0];\n\n  TextProperty.prototype.copyData = function (obj, data) {\n    for (var s in data) {\n      if (Object.prototype.hasOwnProperty.call(data, s)) {\n        obj[s] = data[s];\n      }\n    }\n\n    return obj;\n  };\n\n  TextProperty.prototype.setCurrentData = function (data) {\n    if (!data.__complete) {\n      this.completeTextData(data);\n    }\n\n    (this || _global).currentData = data;\n    (this || _global).currentData.boxWidth = (this || _global).currentData.boxWidth || (this || _global).defaultBoxWidth;\n    (this || _global)._mdf = true;\n  };\n\n  TextProperty.prototype.searchProperty = function () {\n    return this.searchKeyframes();\n  };\n\n  TextProperty.prototype.searchKeyframes = function () {\n    (this || _global).kf = (this || _global).data.d.k.length > 1;\n\n    if ((this || _global).kf) {\n      this.addEffect((this || _global).getKeyframeValue.bind(this || _global));\n    }\n\n    return (this || _global).kf;\n  };\n\n  TextProperty.prototype.addEffect = function (effectFunction) {\n    (this || _global).effectsSequence.push(effectFunction);\n\n    (this || _global).elem.addDynamicProperty(this || _global);\n  };\n\n  TextProperty.prototype.getValue = function (_finalValue) {\n    if (((this || _global).elem.globalData.frameId === (this || _global).frameId || !(this || _global).effectsSequence.length) && !_finalValue) {\n      return;\n    }\n\n    (this || _global).currentData.t = (this || _global).data.d.k[(this || _global).keysIndex].s.t;\n    var currentValue = (this || _global).currentData;\n    var currentIndex = (this || _global).keysIndex;\n\n    if ((this || _global).lock) {\n      this.setCurrentData((this || _global).currentData);\n      return;\n    }\n\n    (this || _global).lock = true;\n    (this || _global)._mdf = false;\n    var i;\n    var len = (this || _global).effectsSequence.length;\n    var finalValue = _finalValue || (this || _global).data.d.k[(this || _global).keysIndex].s;\n\n    for (i = 0; i < len; i += 1) {\n      // Checking if index changed to prevent creating a new object every time the expression updates.\n      if (currentIndex !== (this || _global).keysIndex) {\n        finalValue = (this || _global).effectsSequence[i](finalValue, finalValue.t);\n      } else {\n        finalValue = (this || _global).effectsSequence[i]((this || _global).currentData, finalValue.t);\n      }\n    }\n\n    if (currentValue !== finalValue) {\n      this.setCurrentData(finalValue);\n    }\n\n    (this || _global).v = (this || _global).currentData;\n    (this || _global).pv = (this || _global).v;\n    (this || _global).lock = false;\n    (this || _global).frameId = (this || _global).elem.globalData.frameId;\n  };\n\n  TextProperty.prototype.getKeyframeValue = function () {\n    var textKeys = (this || _global).data.d.k;\n    var frameNum = (this || _global).elem.comp.renderedFrame;\n    var i = 0;\n    var len = textKeys.length;\n\n    while (i <= len - 1) {\n      if (i === len - 1 || textKeys[i + 1].t > frameNum) {\n        break;\n      }\n\n      i += 1;\n    }\n\n    if ((this || _global).keysIndex !== i) {\n      (this || _global).keysIndex = i;\n    }\n\n    return (this || _global).data.d.k[(this || _global).keysIndex].s;\n  };\n\n  TextProperty.prototype.buildFinalText = function (text) {\n    var combinedCharacters = FontManager.getCombinedCharacterCodes();\n    var charactersArray = [];\n    var i = 0;\n    var len = text.length;\n    var charCode;\n\n    while (i < len) {\n      charCode = text.charCodeAt(i);\n\n      if (combinedCharacters.indexOf(charCode) !== -1) {\n        charactersArray[charactersArray.length - 1] += text.charAt(i);\n      } else if (charCode >= 55296 && charCode <= 56319) {\n        charCode = text.charCodeAt(i + 1);\n\n        if (charCode >= 56320 && charCode <= 57343) {\n          charactersArray.push(text.substr(i, 2));\n          i += 1;\n        } else {\n          charactersArray.push(text.charAt(i));\n        }\n      } else {\n        charactersArray.push(text.charAt(i));\n      }\n\n      i += 1;\n    }\n\n    return charactersArray;\n  };\n\n  TextProperty.prototype.completeTextData = function (documentData) {\n    documentData.__complete = true;\n    var fontManager = (this || _global).elem.globalData.fontManager;\n    var data = (this || _global).data;\n    var letters = [];\n    var i;\n    var len;\n    var newLineFlag;\n    var index = 0;\n    var val;\n    var anchorGrouping = data.m.g;\n    var currentSize = 0;\n    var currentPos = 0;\n    var currentLine = 0;\n    var lineWidths = [];\n    var lineWidth = 0;\n    var maxLineWidth = 0;\n    var j;\n    var jLen;\n    var fontData = fontManager.getFontByName(documentData.f);\n    var charData;\n    var cLength = 0;\n    var fontProps = getFontProperties(fontData);\n    documentData.fWeight = fontProps.weight;\n    documentData.fStyle = fontProps.style;\n    documentData.finalSize = documentData.s;\n    documentData.finalText = this.buildFinalText(documentData.t);\n    len = documentData.finalText.length;\n    documentData.finalLineHeight = documentData.lh;\n    var trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n    var charCode;\n\n    if (documentData.sz) {\n      var flag = true;\n      var boxWidth = documentData.sz[0];\n      var boxHeight = documentData.sz[1];\n      var currentHeight;\n      var finalText;\n\n      while (flag) {\n        finalText = this.buildFinalText(documentData.t);\n        currentHeight = 0;\n        lineWidth = 0;\n        len = finalText.length;\n        trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n        var lastSpaceIndex = -1;\n\n        for (i = 0; i < len; i += 1) {\n          charCode = finalText[i].charCodeAt(0);\n          newLineFlag = false;\n\n          if (finalText[i] === \" \") {\n            lastSpaceIndex = i;\n          } else if (charCode === 13 || charCode === 3) {\n            lineWidth = 0;\n            newLineFlag = true;\n            currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n          }\n\n          if (fontManager.chars) {\n            charData = fontManager.getCharData(finalText[i], fontData.fStyle, fontData.fFamily);\n            cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n          } else {\n            // tCanvasHelper.font = documentData.s + 'px '+ fontData.fFamily;\n            cLength = fontManager.measureText(finalText[i], documentData.f, documentData.finalSize);\n          }\n\n          if (lineWidth + cLength > boxWidth && finalText[i] !== \" \") {\n            if (lastSpaceIndex === -1) {\n              len += 1;\n            } else {\n              i = lastSpaceIndex;\n            }\n\n            currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n            finalText.splice(i, lastSpaceIndex === i ? 1 : 0, \"\\r\"); // finalText = finalText.substr(0,i) + \"\\r\" + finalText.substr(i === lastSpaceIndex ? i + 1 : i);\n\n            lastSpaceIndex = -1;\n            lineWidth = 0;\n          } else {\n            lineWidth += cLength;\n            lineWidth += trackingOffset;\n          }\n        }\n\n        currentHeight += fontData.ascent * documentData.finalSize / 100;\n\n        if ((this || _global).canResize && documentData.finalSize > (this || _global).minimumFontSize && boxHeight < currentHeight) {\n          documentData.finalSize -= 1;\n          documentData.finalLineHeight = documentData.finalSize * documentData.lh / documentData.s;\n        } else {\n          documentData.finalText = finalText;\n          len = documentData.finalText.length;\n          flag = false;\n        }\n      }\n    }\n\n    lineWidth = -trackingOffset;\n    cLength = 0;\n    var uncollapsedSpaces = 0;\n    var currentChar;\n\n    for (i = 0; i < len; i += 1) {\n      newLineFlag = false;\n      currentChar = documentData.finalText[i];\n      charCode = currentChar.charCodeAt(0);\n\n      if (charCode === 13 || charCode === 3) {\n        uncollapsedSpaces = 0;\n        lineWidths.push(lineWidth);\n        maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n        lineWidth = -2 * trackingOffset;\n        val = \"\";\n        newLineFlag = true;\n        currentLine += 1;\n      } else {\n        val = currentChar;\n      }\n\n      if (fontManager.chars) {\n        charData = fontManager.getCharData(currentChar, fontData.fStyle, fontManager.getFontByName(documentData.f).fFamily);\n        cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n      } else {\n        // var charWidth = fontManager.measureText(val, documentData.f, documentData.finalSize);\n        // tCanvasHelper.font = documentData.finalSize + 'px '+ fontManager.getFontByName(documentData.f).fFamily;\n        cLength = fontManager.measureText(val, documentData.f, documentData.finalSize);\n      } //\n\n\n      if (currentChar === \" \") {\n        uncollapsedSpaces += cLength + trackingOffset;\n      } else {\n        lineWidth += cLength + trackingOffset + uncollapsedSpaces;\n        uncollapsedSpaces = 0;\n      }\n\n      letters.push({\n        l: cLength,\n        an: cLength,\n        add: currentSize,\n        n: newLineFlag,\n        anIndexes: [],\n        val: val,\n        line: currentLine,\n        animatorJustifyOffset: 0\n      });\n\n      if (anchorGrouping == 2) {\n        // eslint-disable-line eqeqeq\n        currentSize += cLength;\n\n        if (val === \"\" || val === \" \" || i === len - 1) {\n          if (val === \"\" || val === \" \") {\n            currentSize -= cLength;\n          }\n\n          while (currentPos <= i) {\n            letters[currentPos].an = currentSize;\n            letters[currentPos].ind = index;\n            letters[currentPos].extra = cLength;\n            currentPos += 1;\n          }\n\n          index += 1;\n          currentSize = 0;\n        }\n      } else if (anchorGrouping == 3) {\n        // eslint-disable-line eqeqeq\n        currentSize += cLength;\n\n        if (val === \"\" || i === len - 1) {\n          if (val === \"\") {\n            currentSize -= cLength;\n          }\n\n          while (currentPos <= i) {\n            letters[currentPos].an = currentSize;\n            letters[currentPos].ind = index;\n            letters[currentPos].extra = cLength;\n            currentPos += 1;\n          }\n\n          currentSize = 0;\n          index += 1;\n        }\n      } else {\n        letters[index].ind = index;\n        letters[index].extra = 0;\n        index += 1;\n      }\n    }\n\n    documentData.l = letters;\n    maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n    lineWidths.push(lineWidth);\n\n    if (documentData.sz) {\n      documentData.boxWidth = documentData.sz[0];\n      documentData.justifyOffset = 0;\n    } else {\n      documentData.boxWidth = maxLineWidth;\n\n      switch (documentData.j) {\n        case 1:\n          documentData.justifyOffset = -documentData.boxWidth;\n          break;\n\n        case 2:\n          documentData.justifyOffset = -documentData.boxWidth / 2;\n          break;\n\n        default:\n          documentData.justifyOffset = 0;\n      }\n    }\n\n    documentData.lineWidths = lineWidths;\n    var animators = data.a;\n    var animatorData;\n    var letterData;\n    jLen = animators.length;\n    var based;\n    var ind;\n    var indexes = [];\n\n    for (j = 0; j < jLen; j += 1) {\n      animatorData = animators[j];\n\n      if (animatorData.a.sc) {\n        documentData.strokeColorAnim = true;\n      }\n\n      if (animatorData.a.sw) {\n        documentData.strokeWidthAnim = true;\n      }\n\n      if (animatorData.a.fc || animatorData.a.fh || animatorData.a.fs || animatorData.a.fb) {\n        documentData.fillColorAnim = true;\n      }\n\n      ind = 0;\n      based = animatorData.s.b;\n\n      for (i = 0; i < len; i += 1) {\n        letterData = letters[i];\n        letterData.anIndexes[j] = ind;\n\n        if (based == 1 && letterData.val !== \"\" || based == 2 && letterData.val !== \"\" && letterData.val !== \" \" || based == 3 && (letterData.n || letterData.val == \" \" || i == len - 1) || based == 4 && (letterData.n || i == len - 1)) {\n          // eslint-disable-line eqeqeq\n          if (animatorData.s.rn === 1) {\n            indexes.push(ind);\n          }\n\n          ind += 1;\n        }\n      }\n\n      data.a[j].s.totalChars = ind;\n      var currentInd = -1;\n      var newInd;\n\n      if (animatorData.s.rn === 1) {\n        for (i = 0; i < len; i += 1) {\n          letterData = letters[i];\n\n          if (currentInd != letterData.anIndexes[j]) {\n            // eslint-disable-line eqeqeq\n            currentInd = letterData.anIndexes[j];\n            newInd = indexes.splice(Math.floor(Math.random() * indexes.length), 1)[0];\n          }\n\n          letterData.anIndexes[j] = newInd;\n        }\n      }\n    }\n\n    documentData.yOffset = documentData.finalLineHeight || documentData.finalSize * 1.2;\n    documentData.ls = documentData.ls || 0;\n    documentData.ascent = fontData.ascent * documentData.finalSize / 100;\n  };\n\n  TextProperty.prototype.updateDocumentData = function (newData, index) {\n    index = index === undefined ? (this || _global).keysIndex : index;\n    var dData = this.copyData({}, (this || _global).data.d.k[index].s);\n    dData = this.copyData(dData, newData);\n    (this || _global).data.d.k[index].s = dData;\n    this.recalculate(index);\n\n    (this || _global).elem.addDynamicProperty(this || _global);\n  };\n\n  TextProperty.prototype.recalculate = function (index) {\n    var dData = (this || _global).data.d.k[index].s;\n    dData.__complete = false;\n    (this || _global).keysIndex = 0;\n    (this || _global)._isFirstFrame = true;\n    this.getValue(dData);\n  };\n\n  TextProperty.prototype.canResizeFont = function (_canResize) {\n    (this || _global).canResize = _canResize;\n    this.recalculate((this || _global).keysIndex);\n\n    (this || _global).elem.addDynamicProperty(this || _global);\n  };\n\n  TextProperty.prototype.setMinimumFontSize = function (_fontValue) {\n    (this || _global).minimumFontSize = Math.floor(_fontValue) || 1;\n    this.recalculate((this || _global).keysIndex);\n\n    (this || _global).elem.addDynamicProperty(this || _global);\n  };\n  /* global extendPrototype, BezierFactory, PropertyFactory, DynamicPropertyContainer */\n\n  /* exported TextSelectorProp */\n\n\n  var TextSelectorProp = function () {\n    var max = Math.max;\n    var min = Math.min;\n    var floor = Math.floor;\n\n    function TextSelectorPropFactory(elem, data) {\n      (this || _global)._currentTextLength = -1;\n      (this || _global).k = false;\n      (this || _global).data = data;\n      (this || _global).elem = elem;\n      (this || _global).comp = elem.comp;\n      (this || _global).finalS = 0;\n      (this || _global).finalE = 0;\n      this.initDynamicPropertyContainer(elem);\n      (this || _global).s = PropertyFactory.getProp(elem, data.s || {\n        k: 0\n      }, 0, 0, this || _global);\n\n      if (\"e\" in data) {\n        (this || _global).e = PropertyFactory.getProp(elem, data.e, 0, 0, this || _global);\n      } else {\n        (this || _global).e = {\n          v: 100\n        };\n      }\n\n      (this || _global).o = PropertyFactory.getProp(elem, data.o || {\n        k: 0\n      }, 0, 0, this || _global);\n      (this || _global).xe = PropertyFactory.getProp(elem, data.xe || {\n        k: 0\n      }, 0, 0, this || _global);\n      (this || _global).ne = PropertyFactory.getProp(elem, data.ne || {\n        k: 0\n      }, 0, 0, this || _global);\n      (this || _global).a = PropertyFactory.getProp(elem, data.a, 0, 0.01, this || _global);\n\n      if (!(this || _global).dynamicProperties.length) {\n        this.getValue();\n      }\n    }\n\n    TextSelectorPropFactory.prototype = {\n      getMult: function (ind) {\n        if ((this || _global)._currentTextLength !== (this || _global).elem.textProperty.currentData.l.length) {\n          this.getValue();\n        } // var easer = bez.getEasingCurve(this.ne.v/100,0,1-this.xe.v/100,1);\n\n\n        var x1 = 0;\n        var y1 = 0;\n        var x2 = 1;\n        var y2 = 1;\n\n        if ((this || _global).ne.v > 0) {\n          x1 = (this || _global).ne.v / 100;\n        } else {\n          y1 = -(this || _global).ne.v / 100;\n        }\n\n        if ((this || _global).xe.v > 0) {\n          x2 = 1 - (this || _global).xe.v / 100;\n        } else {\n          y2 = 1 + (this || _global).xe.v / 100;\n        }\n\n        var easer = BezierFactory.getBezierEasing(x1, y1, x2, y2).get;\n        var mult = 0;\n        var s = (this || _global).finalS;\n        var e = (this || _global).finalE;\n        var type = (this || _global).data.sh;\n\n        if (type === 2) {\n          if (e === s) {\n            mult = ind >= e ? 1 : 0;\n          } else {\n            mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n          }\n\n          mult = easer(mult);\n        } else if (type === 3) {\n          if (e === s) {\n            mult = ind >= e ? 0 : 1;\n          } else {\n            mult = 1 - max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n          }\n\n          mult = easer(mult);\n        } else if (type === 4) {\n          if (e === s) {\n            mult = 0;\n          } else {\n            mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n\n            if (mult < 0.5) {\n              mult *= 2;\n            } else {\n              mult = 1 - 2 * (mult - 0.5);\n            }\n          }\n\n          mult = easer(mult);\n        } else if (type === 5) {\n          if (e === s) {\n            mult = 0;\n          } else {\n            var tot = e - s;\n            /* ind += 0.5;\r\n                      mult = -4/(tot*tot)*(ind*ind)+(4/tot)*ind; */\n\n            ind = min(max(0, ind + 0.5 - s), e - s);\n            var x = -tot / 2 + ind;\n            var a = tot / 2;\n            mult = Math.sqrt(1 - x * x / (a * a));\n          }\n\n          mult = easer(mult);\n        } else if (type === 6) {\n          if (e === s) {\n            mult = 0;\n          } else {\n            ind = min(max(0, ind + 0.5 - s), e - s);\n            mult = (1 + Math.cos(Math.PI + Math.PI * 2 * ind / (e - s))) / 2; // eslint-disable-line\n          }\n\n          mult = easer(mult);\n        } else {\n          if (ind >= floor(s)) {\n            if (ind - s < 0) {\n              mult = max(0, min(min(e, 1) - (s - ind), 1));\n            } else {\n              mult = max(0, min(e - ind, 1));\n            }\n          }\n\n          mult = easer(mult);\n        }\n\n        return mult * (this || _global).a.v;\n      },\n      getValue: function (newCharsFlag) {\n        this.iterateDynamicProperties();\n        (this || _global)._mdf = newCharsFlag || (this || _global)._mdf;\n        (this || _global)._currentTextLength = (this || _global).elem.textProperty.currentData.l.length || 0;\n\n        if (newCharsFlag && (this || _global).data.r === 2) {\n          (this || _global).e.v = (this || _global)._currentTextLength;\n        }\n\n        var divisor = (this || _global).data.r === 2 ? 1 : 100 / (this || _global).data.totalChars;\n        var o = (this || _global).o.v / divisor;\n        var s = (this || _global).s.v / divisor + o;\n        var e = (this || _global).e.v / divisor + o;\n\n        if (s > e) {\n          var _s = s;\n          s = e;\n          e = _s;\n        }\n\n        (this || _global).finalS = s;\n        (this || _global).finalE = e;\n      }\n    };\n    extendPrototype([DynamicPropertyContainer], TextSelectorPropFactory);\n\n    function getTextSelectorProp(elem, data, arr) {\n      return new TextSelectorPropFactory(elem, data, arr);\n    }\n\n    return {\n      getTextSelectorProp: getTextSelectorProp\n    };\n  }();\n  /* global createSizedArray, pooling */\n\n  /* exported poolFactory */\n\n\n  var poolFactory = function () {\n    return function (initialLength, _create, _release) {\n      var _length = 0;\n      var _maxLength = initialLength;\n      var pool = createSizedArray(_maxLength);\n      var ob = {\n        newElement: newElement,\n        release: release\n      };\n\n      function newElement() {\n        var element;\n\n        if (_length) {\n          _length -= 1;\n          element = pool[_length];\n        } else {\n          element = _create();\n        }\n\n        return element;\n      }\n\n      function release(element) {\n        if (_length === _maxLength) {\n          pool = pooling.double(pool);\n          _maxLength *= 2;\n        }\n\n        if (_release) {\n          _release(element);\n        }\n\n        pool[_length] = element;\n        _length += 1;\n      }\n\n      return ob;\n    };\n  }();\n  /* global createSizedArray */\n\n  /* exported pooling */\n\n\n  var pooling = function () {\n    function double(arr) {\n      return arr.concat(createSizedArray(arr.length));\n    }\n\n    return {\n      double: double\n    };\n  }();\n  /* global createTypedArray, poolFactory */\n\n  /* exported pointPool */\n\n\n  var pointPool = function () {\n    function create() {\n      return createTypedArray(\"float32\", 2);\n    }\n\n    return poolFactory(8, create);\n  }();\n  /* global ShapePath, pointPool, poolFactory */\n\n  /* exported shapePool */\n\n\n  var shapePool = function () {\n    function create() {\n      return new ShapePath();\n    }\n\n    function release(shapePath) {\n      var len = shapePath._length;\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        pointPool.release(shapePath.v[i]);\n        pointPool.release(shapePath.i[i]);\n        pointPool.release(shapePath.o[i]);\n        shapePath.v[i] = null;\n        shapePath.i[i] = null;\n        shapePath.o[i] = null;\n      }\n\n      shapePath._length = 0;\n      shapePath.c = false;\n    }\n\n    function clone(shape) {\n      var cloned = factory.newElement();\n      var i;\n      var len = shape._length === undefined ? shape.v.length : shape._length;\n      cloned.setLength(len);\n      cloned.c = shape.c;\n\n      for (i = 0; i < len; i += 1) {\n        cloned.setTripleAt(shape.v[i][0], shape.v[i][1], shape.o[i][0], shape.o[i][1], shape.i[i][0], shape.i[i][1], i);\n      }\n\n      return cloned;\n    }\n\n    var factory = poolFactory(4, create, release);\n    factory.clone = clone;\n    return factory;\n  }();\n  /* global createSizedArray, ShapeCollection, shapePool, pooling */\n\n  /* exported shapeCollectionPool */\n\n\n  var shapeCollectionPool = function () {\n    var ob = {\n      newShapeCollection: newShapeCollection,\n      release: release\n    };\n    var _length = 0;\n    var _maxLength = 4;\n    var pool = createSizedArray(_maxLength);\n\n    function newShapeCollection() {\n      var shapeCollection;\n\n      if (_length) {\n        _length -= 1;\n        shapeCollection = pool[_length];\n      } else {\n        shapeCollection = new ShapeCollection();\n      }\n\n      return shapeCollection;\n    }\n\n    function release(shapeCollection) {\n      var i;\n      var len = shapeCollection._length;\n\n      for (i = 0; i < len; i += 1) {\n        shapePool.release(shapeCollection.shapes[i]);\n      }\n\n      shapeCollection._length = 0;\n\n      if (_length === _maxLength) {\n        pool = pooling.double(pool);\n        _maxLength *= 2;\n      }\n\n      pool[_length] = shapeCollection;\n      _length += 1;\n    }\n\n    return ob;\n  }();\n  /* global poolFactory, bezierLengthPool */\n\n  /* exported segmentsLengthPool */\n\n\n  var segmentsLengthPool = function () {\n    function create() {\n      return {\n        lengths: [],\n        totalLength: 0\n      };\n    }\n\n    function release(element) {\n      var i;\n      var len = element.lengths.length;\n\n      for (i = 0; i < len; i += 1) {\n        bezierLengthPool.release(element.lengths[i]);\n      }\n\n      element.lengths.length = 0;\n    }\n\n    return poolFactory(8, create, release);\n  }();\n  /* global createTypedArray, defaultCurveSegments, poolFactory */\n\n  /* exported bezierLengthPool */\n\n\n  var bezierLengthPool = function () {\n    function create() {\n      return {\n        addedLength: 0,\n        percents: createTypedArray(\"float32\", defaultCurveSegments),\n        lengths: createTypedArray(\"float32\", defaultCurveSegments)\n      };\n    }\n\n    return poolFactory(8, create);\n  }();\n  /* exported markerParser */\n\n\n  var markerParser = function () {\n    function parsePayloadLines(payload) {\n      var lines = payload.split(\"\\r\\n\");\n      var keys = {};\n      var line;\n      var keysCount = 0;\n\n      for (var i = 0; i < lines.length; i += 1) {\n        line = lines[i].split(\":\");\n\n        if (line.length === 2) {\n          keys[line[0]] = line[1].trim();\n          keysCount += 1;\n        }\n      }\n\n      if (keysCount === 0) {\n        throw new Error();\n      }\n\n      return keys;\n    }\n\n    return function (_markers) {\n      var markers = [];\n\n      for (var i = 0; i < _markers.length; i += 1) {\n        var _marker = _markers[i];\n        var markerData = {\n          time: _marker.tm,\n          duration: _marker.dr\n        };\n\n        try {\n          markerData.payload = JSON.parse(_markers[i].cm);\n        } catch (_) {\n          try {\n            markerData.payload = parsePayloadLines(_markers[i].cm);\n          } catch (__) {\n            markerData.payload = {\n              name: _markers[i]\n            };\n          }\n        }\n\n        markers.push(markerData);\n      }\n\n      return markers;\n    };\n  }();\n  /* global AudioElement, FootageElement, FontManager */\n\n\n  function BaseRenderer() {}\n\n  BaseRenderer.prototype.checkLayers = function (num) {\n    var i;\n    var len = (this || _global).layers.length;\n    var data;\n    (this || _global).completeLayers = true;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if (!(this || _global).elements[i]) {\n        data = (this || _global).layers[i];\n\n        if (data.ip - data.st <= num - (this || _global).layers[i].st && data.op - data.st > num - (this || _global).layers[i].st) {\n          this.buildItem(i);\n        }\n      }\n\n      (this || _global).completeLayers = (this || _global).elements[i] ? (this || _global).completeLayers : false;\n    }\n\n    this.checkPendingElements();\n  };\n\n  BaseRenderer.prototype.createItem = function (layer) {\n    switch (layer.ty) {\n      case 2:\n        return this.createImage(layer);\n\n      case 0:\n        return this.createComp(layer);\n\n      case 1:\n        return this.createSolid(layer);\n\n      case 3:\n        return this.createNull(layer);\n\n      case 4:\n        return this.createShape(layer);\n\n      case 5:\n        return this.createText(layer);\n\n      case 6:\n        return this.createAudio(layer);\n\n      case 13:\n        return this.createCamera(layer);\n\n      case 15:\n        return this.createFootage(layer);\n\n      default:\n        return this.createNull(layer);\n    }\n  };\n\n  BaseRenderer.prototype.createCamera = function () {\n    throw new Error(\"You're using a 3d camera. Try the html renderer.\");\n  };\n\n  BaseRenderer.prototype.createAudio = function (data) {\n    return new AudioElement(data, (this || _global).globalData, this || _global);\n  };\n\n  BaseRenderer.prototype.createFootage = function (data) {\n    return new FootageElement(data, (this || _global).globalData, this || _global);\n  };\n\n  BaseRenderer.prototype.buildAllItems = function () {\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      this.buildItem(i);\n    }\n\n    this.checkPendingElements();\n  };\n\n  BaseRenderer.prototype.includeLayers = function (newLayers) {\n    (this || _global).completeLayers = false;\n    var i;\n    var len = newLayers.length;\n    var j;\n    var jLen = (this || _global).layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      j = 0;\n\n      while (j < jLen) {\n        if ((this || _global).layers[j].id === newLayers[i].id) {\n          (this || _global).layers[j] = newLayers[i];\n          break;\n        }\n\n        j += 1;\n      }\n    }\n  };\n\n  BaseRenderer.prototype.setProjectInterface = function (pInterface) {\n    (this || _global).globalData.projectInterface = pInterface;\n  };\n\n  BaseRenderer.prototype.initItems = function () {\n    if (!(this || _global).globalData.progressiveLoad) {\n      this.buildAllItems();\n    }\n  };\n\n  BaseRenderer.prototype.buildElementParenting = function (element, parentName, hierarchy) {\n    var elements = (this || _global).elements;\n    var layers = (this || _global).layers;\n    var i = 0;\n    var len = layers.length;\n\n    while (i < len) {\n      if (layers[i].ind == parentName) {\n        // eslint-disable-line eqeqeq\n        if (!elements[i] || elements[i] === true) {\n          this.buildItem(i);\n          this.addPendingElement(element);\n        } else {\n          hierarchy.push(elements[i]);\n          elements[i].setAsParent();\n\n          if (layers[i].parent !== undefined) {\n            this.buildElementParenting(element, layers[i].parent, hierarchy);\n          } else {\n            element.setHierarchy(hierarchy);\n          }\n        }\n      }\n\n      i += 1;\n    }\n  };\n\n  BaseRenderer.prototype.addPendingElement = function (element) {\n    (this || _global).pendingElements.push(element);\n  };\n\n  BaseRenderer.prototype.searchExtraCompositions = function (assets) {\n    var i;\n    var len = assets.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (assets[i].xt) {\n        var comp = this.createComp(assets[i]);\n        comp.initExpressions();\n\n        (this || _global).globalData.projectInterface.registerComposition(comp);\n      }\n    }\n  };\n\n  BaseRenderer.prototype.setupGlobalData = function (animData, fontsContainer) {\n    (this || _global).globalData.fontManager = new FontManager();\n\n    (this || _global).globalData.fontManager.addChars(animData.chars);\n\n    (this || _global).globalData.fontManager.addFonts(animData.fonts, fontsContainer);\n\n    (this || _global).globalData.getAssetData = (this || _global).animationItem.getAssetData.bind((this || _global).animationItem);\n    (this || _global).globalData.getAssetsPath = (this || _global).animationItem.getAssetsPath.bind((this || _global).animationItem);\n    (this || _global).globalData.imageLoader = (this || _global).animationItem.imagePreloader;\n    (this || _global).globalData.audioController = (this || _global).animationItem.audioController;\n    (this || _global).globalData.frameId = 0;\n    (this || _global).globalData.frameRate = animData.fr;\n    (this || _global).globalData.nm = animData.nm;\n    (this || _global).globalData.compSize = {\n      w: animData.w,\n      h: animData.h\n    };\n  };\n  /* global createElementID, extendPrototype, BaseRenderer, NullElement, SVGShapeElement, SVGTextLottieElement,\r\n  IImageElement, SVGCompElement, ISolidElement, createNS, locationHref, createSizedArray, expressionsPlugin */\n\n\n  function SVGRenderer(animationItem, config) {\n    (this || _global).animationItem = animationItem;\n    (this || _global).layers = null;\n    (this || _global).renderedFrame = -1;\n    (this || _global).svgElement = createNS(\"svg\");\n    var ariaLabel = \"\";\n\n    if (config && config.title) {\n      var titleElement = createNS(\"title\");\n      var titleId = createElementID();\n      titleElement.setAttribute(\"id\", titleId);\n      titleElement.textContent = config.title;\n\n      (this || _global).svgElement.appendChild(titleElement);\n\n      ariaLabel += titleId;\n    }\n\n    if (config && config.description) {\n      var descElement = createNS(\"desc\");\n      var descId = createElementID();\n      descElement.setAttribute(\"id\", descId);\n      descElement.textContent = config.description;\n\n      (this || _global).svgElement.appendChild(descElement);\n\n      ariaLabel += \" \" + descId;\n    }\n\n    if (ariaLabel) {\n      (this || _global).svgElement.setAttribute(\"aria-labelledby\", ariaLabel);\n    }\n\n    var defs = createNS(\"defs\");\n\n    (this || _global).svgElement.appendChild(defs);\n\n    var maskElement = createNS(\"g\");\n\n    (this || _global).svgElement.appendChild(maskElement);\n\n    (this || _global).layerElement = maskElement;\n    (this || _global).renderConfig = {\n      preserveAspectRatio: config && config.preserveAspectRatio || \"xMidYMid meet\",\n      imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || \"xMidYMid slice\",\n      progressiveLoad: config && config.progressiveLoad || false,\n      hideOnTransparent: !(config && config.hideOnTransparent === false),\n      viewBoxOnly: config && config.viewBoxOnly || false,\n      viewBoxSize: config && config.viewBoxSize || false,\n      className: config && config.className || \"\",\n      id: config && config.id || \"\",\n      focusable: config && config.focusable,\n      filterSize: {\n        width: config && config.filterSize && config.filterSize.width || \"100%\",\n        height: config && config.filterSize && config.filterSize.height || \"100%\",\n        x: config && config.filterSize && config.filterSize.x || \"0%\",\n        y: config && config.filterSize && config.filterSize.y || \"0%\"\n      }\n    };\n    (this || _global).globalData = {\n      _mdf: false,\n      frameNum: -1,\n      defs: defs,\n      renderConfig: (this || _global).renderConfig\n    };\n    (this || _global).elements = [];\n    (this || _global).pendingElements = [];\n    (this || _global).destroyed = false;\n    (this || _global).rendererType = \"svg\";\n  }\n\n  extendPrototype([BaseRenderer], SVGRenderer);\n\n  SVGRenderer.prototype.createNull = function (data) {\n    return new NullElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createShape = function (data) {\n    return new SVGShapeElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createText = function (data) {\n    return new SVGTextLottieElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createImage = function (data) {\n    return new IImageElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createComp = function (data) {\n    return new SVGCompElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createSolid = function (data) {\n    return new ISolidElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.configAnimation = function (animData) {\n    (this || _global).svgElement.setAttribute(\"xmlns\", \"http://www.w3.org/2000/svg\");\n\n    if ((this || _global).renderConfig.viewBoxSize) {\n      (this || _global).svgElement.setAttribute(\"viewBox\", (this || _global).renderConfig.viewBoxSize);\n    } else {\n      (this || _global).svgElement.setAttribute(\"viewBox\", \"0 0 \" + animData.w + \" \" + animData.h);\n    }\n\n    if (!(this || _global).renderConfig.viewBoxOnly) {\n      (this || _global).svgElement.setAttribute(\"width\", animData.w);\n\n      (this || _global).svgElement.setAttribute(\"height\", animData.h);\n\n      (this || _global).svgElement.style.width = \"100%\";\n      (this || _global).svgElement.style.height = \"100%\";\n      (this || _global).svgElement.style.transform = \"translate3d(0,0,0)\";\n    }\n\n    if ((this || _global).renderConfig.className) {\n      (this || _global).svgElement.setAttribute(\"class\", (this || _global).renderConfig.className);\n    }\n\n    if ((this || _global).renderConfig.id) {\n      (this || _global).svgElement.setAttribute(\"id\", (this || _global).renderConfig.id);\n    }\n\n    if ((this || _global).renderConfig.focusable !== undefined) {\n      (this || _global).svgElement.setAttribute(\"focusable\", (this || _global).renderConfig.focusable);\n    }\n\n    (this || _global).svgElement.setAttribute(\"preserveAspectRatio\", (this || _global).renderConfig.preserveAspectRatio); // this.layerElement.style.transform = 'translate3d(0,0,0)';\n    // this.layerElement.style.transformOrigin = this.layerElement.style.mozTransformOrigin = this.layerElement.style.webkitTransformOrigin = this.layerElement.style['-webkit-transform'] = \"0px 0px 0px\";\n\n\n    (this || _global).animationItem.wrapper.appendChild((this || _global).svgElement); // Mask animation\n\n\n    var defs = (this || _global).globalData.defs;\n    this.setupGlobalData(animData, defs);\n    (this || _global).globalData.progressiveLoad = (this || _global).renderConfig.progressiveLoad;\n    (this || _global).data = animData;\n    var maskElement = createNS(\"clipPath\");\n    var rect = createNS(\"rect\");\n    rect.setAttribute(\"width\", animData.w);\n    rect.setAttribute(\"height\", animData.h);\n    rect.setAttribute(\"x\", 0);\n    rect.setAttribute(\"y\", 0);\n    var maskId = createElementID();\n    maskElement.setAttribute(\"id\", maskId);\n    maskElement.appendChild(rect);\n\n    (this || _global).layerElement.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + maskId + \")\");\n\n    defs.appendChild(maskElement);\n    (this || _global).layers = animData.layers;\n    (this || _global).elements = createSizedArray(animData.layers.length);\n  };\n\n  SVGRenderer.prototype.destroy = function () {\n    if ((this || _global).animationItem.wrapper) {\n      (this || _global).animationItem.wrapper.innerText = \"\";\n    }\n\n    (this || _global).layerElement = null;\n    (this || _global).globalData.defs = null;\n    var i;\n    var len = (this || _global).layers ? (this || _global).layers.length : 0;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).elements[i]) {\n        (this || _global).elements[i].destroy();\n      }\n    }\n\n    (this || _global).elements.length = 0;\n    (this || _global).destroyed = true;\n    (this || _global).animationItem = null;\n  };\n\n  SVGRenderer.prototype.updateContainerSize = function () {};\n\n  SVGRenderer.prototype.buildItem = function (pos) {\n    var elements = (this || _global).elements;\n\n    if (elements[pos] || (this || _global).layers[pos].ty === 99) {\n      return;\n    }\n\n    elements[pos] = true;\n    var element = this.createItem((this || _global).layers[pos]);\n    elements[pos] = element;\n\n    if (expressionsPlugin) {\n      if ((this || _global).layers[pos].ty === 0) {\n        (this || _global).globalData.projectInterface.registerComposition(element);\n      }\n\n      element.initExpressions();\n    }\n\n    this.appendElementInPos(element, pos);\n\n    if ((this || _global).layers[pos].tt) {\n      if (!(this || _global).elements[pos - 1] || (this || _global).elements[pos - 1] === true) {\n        this.buildItem(pos - 1);\n        this.addPendingElement(element);\n      } else {\n        element.setMatte(elements[pos - 1].layerId);\n      }\n    }\n  };\n\n  SVGRenderer.prototype.checkPendingElements = function () {\n    while ((this || _global).pendingElements.length) {\n      var element = (this || _global).pendingElements.pop();\n\n      element.checkParenting();\n\n      if (element.data.tt) {\n        var i = 0;\n        var len = (this || _global).elements.length;\n\n        while (i < len) {\n          if ((this || _global).elements[i] === element) {\n            element.setMatte((this || _global).elements[i - 1].layerId);\n            break;\n          }\n\n          i += 1;\n        }\n      }\n    }\n  };\n\n  SVGRenderer.prototype.renderFrame = function (num) {\n    if ((this || _global).renderedFrame === num || (this || _global).destroyed) {\n      return;\n    }\n\n    if (num === null) {\n      num = (this || _global).renderedFrame;\n    } else {\n      (this || _global).renderedFrame = num;\n    } // console.log('-------');\n    // console.log('FRAME ',num);\n\n\n    (this || _global).globalData.frameNum = num;\n    (this || _global).globalData.frameId += 1;\n    (this || _global).globalData.projectInterface.currentFrame = num;\n    (this || _global).globalData._mdf = false;\n    var i;\n    var len = (this || _global).layers.length;\n\n    if (!(this || _global).completeLayers) {\n      this.checkLayers(num);\n    }\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].prepareFrame(num - (this || _global).layers[i].st);\n      }\n    }\n\n    if ((this || _global).globalData._mdf) {\n      for (i = 0; i < len; i += 1) {\n        if ((this || _global).completeLayers || (this || _global).elements[i]) {\n          (this || _global).elements[i].renderFrame();\n        }\n      }\n    }\n  };\n\n  SVGRenderer.prototype.appendElementInPos = function (element, pos) {\n    var newElement = element.getBaseElement();\n\n    if (!newElement) {\n      return;\n    }\n\n    var i = 0;\n    var nextElement;\n\n    while (i < pos) {\n      if ((this || _global).elements[i] && (this || _global).elements[i] !== true && (this || _global).elements[i].getBaseElement()) {\n        nextElement = (this || _global).elements[i].getBaseElement();\n      }\n\n      i += 1;\n    }\n\n    if (nextElement) {\n      (this || _global).layerElement.insertBefore(newElement, nextElement);\n    } else {\n      (this || _global).layerElement.appendChild(newElement);\n    }\n  };\n\n  SVGRenderer.prototype.hide = function () {\n    (this || _global).layerElement.style.display = \"none\";\n  };\n\n  SVGRenderer.prototype.show = function () {\n    (this || _global).layerElement.style.display = \"block\";\n  };\n  /* global CVContextData, Matrix, extendPrototype, BaseRenderer, CVShapeElement, CVTextElement,\r\n  CVImageElement, CVCompElement, CVSolidElement, SVGRenderer, createTag, createSizedArray */\n\n\n  function CanvasRenderer(animationItem, config) {\n    (this || _global).animationItem = animationItem;\n    (this || _global).renderConfig = {\n      clearCanvas: config && config.clearCanvas !== undefined ? config.clearCanvas : true,\n      context: config && config.context || null,\n      progressiveLoad: config && config.progressiveLoad || false,\n      preserveAspectRatio: config && config.preserveAspectRatio || \"xMidYMid meet\",\n      imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || \"xMidYMid slice\",\n      className: config && config.className || \"\",\n      id: config && config.id || \"\"\n    };\n    (this || _global).renderConfig.dpr = config && config.dpr || 1;\n\n    if ((this || _global).animationItem.wrapper) {\n      (this || _global).renderConfig.dpr = config && config.dpr || window.devicePixelRatio || 1;\n    }\n\n    (this || _global).renderedFrame = -1;\n    (this || _global).globalData = {\n      frameNum: -1,\n      _mdf: false,\n      renderConfig: (this || _global).renderConfig,\n      currentGlobalAlpha: -1\n    };\n    (this || _global).contextData = new CVContextData();\n    (this || _global).elements = [];\n    (this || _global).pendingElements = [];\n    (this || _global).transformMat = new Matrix();\n    (this || _global).completeLayers = false;\n    (this || _global).rendererType = \"canvas\";\n  }\n\n  extendPrototype([BaseRenderer], CanvasRenderer);\n\n  CanvasRenderer.prototype.createShape = function (data) {\n    return new CVShapeElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createText = function (data) {\n    return new CVTextElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createImage = function (data) {\n    return new CVImageElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createComp = function (data) {\n    return new CVCompElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createSolid = function (data) {\n    return new CVSolidElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createNull = SVGRenderer.prototype.createNull;\n\n  CanvasRenderer.prototype.ctxTransform = function (props) {\n    if (props[0] === 1 && props[1] === 0 && props[4] === 0 && props[5] === 1 && props[12] === 0 && props[13] === 0) {\n      return;\n    }\n\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.transform(props[0], props[1], props[4], props[5], props[12], props[13]);\n\n      return;\n    }\n\n    (this || _global).transformMat.cloneFromProps(props);\n\n    var cProps = (this || _global).contextData.cTr.props;\n\n    (this || _global).transformMat.transform(cProps[0], cProps[1], cProps[2], cProps[3], cProps[4], cProps[5], cProps[6], cProps[7], cProps[8], cProps[9], cProps[10], cProps[11], cProps[12], cProps[13], cProps[14], cProps[15]); // this.contextData.cTr.transform(props[0],props[1],props[2],props[3],props[4],props[5],props[6],props[7],props[8],props[9],props[10],props[11],props[12],props[13],props[14],props[15]);\n\n\n    (this || _global).contextData.cTr.cloneFromProps((this || _global).transformMat.props);\n\n    var trProps = (this || _global).contextData.cTr.props;\n\n    (this || _global).canvasContext.setTransform(trProps[0], trProps[1], trProps[4], trProps[5], trProps[12], trProps[13]);\n  };\n\n  CanvasRenderer.prototype.ctxOpacity = function (op) {\n    /* if(op === 1){\r\n          return;\r\n      } */\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.globalAlpha *= op < 0 ? 0 : op;\n      (this || _global).globalData.currentGlobalAlpha = (this || _global).contextData.cO;\n      return;\n    }\n\n    (this || _global).contextData.cO *= op < 0 ? 0 : op;\n\n    if ((this || _global).globalData.currentGlobalAlpha !== (this || _global).contextData.cO) {\n      (this || _global).canvasContext.globalAlpha = (this || _global).contextData.cO;\n      (this || _global).globalData.currentGlobalAlpha = (this || _global).contextData.cO;\n    }\n  };\n\n  CanvasRenderer.prototype.reset = function () {\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.restore();\n\n      return;\n    }\n\n    (this || _global).contextData.reset();\n  };\n\n  CanvasRenderer.prototype.save = function (actionFlag) {\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.save();\n\n      return;\n    }\n\n    if (actionFlag) {\n      (this || _global).canvasContext.save();\n    }\n\n    var props = (this || _global).contextData.cTr.props;\n\n    if ((this || _global).contextData._length <= (this || _global).contextData.cArrPos) {\n      (this || _global).contextData.duplicate();\n    }\n\n    var i;\n    var arr = (this || _global).contextData.saved[(this || _global).contextData.cArrPos];\n\n    for (i = 0; i < 16; i += 1) {\n      arr[i] = props[i];\n    }\n\n    (this || _global).contextData.savedOp[(this || _global).contextData.cArrPos] = (this || _global).contextData.cO;\n    (this || _global).contextData.cArrPos += 1;\n  };\n\n  CanvasRenderer.prototype.restore = function (actionFlag) {\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.restore();\n\n      return;\n    }\n\n    if (actionFlag) {\n      (this || _global).canvasContext.restore();\n\n      (this || _global).globalData.blendMode = \"source-over\";\n    }\n\n    (this || _global).contextData.cArrPos -= 1;\n    var popped = (this || _global).contextData.saved[(this || _global).contextData.cArrPos];\n    var i;\n    var arr = (this || _global).contextData.cTr.props;\n\n    for (i = 0; i < 16; i += 1) {\n      arr[i] = popped[i];\n    }\n\n    (this || _global).canvasContext.setTransform(popped[0], popped[1], popped[4], popped[5], popped[12], popped[13]);\n\n    popped = (this || _global).contextData.savedOp[(this || _global).contextData.cArrPos];\n    (this || _global).contextData.cO = popped;\n\n    if ((this || _global).globalData.currentGlobalAlpha !== popped) {\n      (this || _global).canvasContext.globalAlpha = popped;\n      (this || _global).globalData.currentGlobalAlpha = popped;\n    }\n  };\n\n  CanvasRenderer.prototype.configAnimation = function (animData) {\n    if ((this || _global).animationItem.wrapper) {\n      (this || _global).animationItem.container = createTag(\"canvas\");\n      var containerStyle = (this || _global).animationItem.container.style;\n      containerStyle.width = \"100%\";\n      containerStyle.height = \"100%\";\n      var origin = \"0px 0px 0px\";\n      containerStyle.transformOrigin = origin;\n      containerStyle.mozTransformOrigin = origin;\n      containerStyle.webkitTransformOrigin = origin;\n      containerStyle[\"-webkit-transform\"] = origin;\n\n      (this || _global).animationItem.wrapper.appendChild((this || _global).animationItem.container);\n\n      (this || _global).canvasContext = (this || _global).animationItem.container.getContext(\"2d\");\n\n      if ((this || _global).renderConfig.className) {\n        (this || _global).animationItem.container.setAttribute(\"class\", (this || _global).renderConfig.className);\n      }\n\n      if ((this || _global).renderConfig.id) {\n        (this || _global).animationItem.container.setAttribute(\"id\", (this || _global).renderConfig.id);\n      }\n    } else {\n      (this || _global).canvasContext = (this || _global).renderConfig.context;\n    }\n\n    (this || _global).data = animData;\n    (this || _global).layers = animData.layers;\n    (this || _global).transformCanvas = {\n      w: animData.w,\n      h: animData.h,\n      sx: 0,\n      sy: 0,\n      tx: 0,\n      ty: 0\n    };\n    this.setupGlobalData(animData, document.body);\n    (this || _global).globalData.canvasContext = (this || _global).canvasContext;\n    (this || _global).globalData.renderer = this || _global;\n    (this || _global).globalData.isDashed = false;\n    (this || _global).globalData.progressiveLoad = (this || _global).renderConfig.progressiveLoad;\n    (this || _global).globalData.transformCanvas = (this || _global).transformCanvas;\n    (this || _global).elements = createSizedArray(animData.layers.length);\n    this.updateContainerSize();\n  };\n\n  CanvasRenderer.prototype.updateContainerSize = function () {\n    this.reset();\n    var elementWidth;\n    var elementHeight;\n\n    if ((this || _global).animationItem.wrapper && (this || _global).animationItem.container) {\n      elementWidth = (this || _global).animationItem.wrapper.offsetWidth;\n      elementHeight = (this || _global).animationItem.wrapper.offsetHeight;\n\n      (this || _global).animationItem.container.setAttribute(\"width\", elementWidth * (this || _global).renderConfig.dpr);\n\n      (this || _global).animationItem.container.setAttribute(\"height\", elementHeight * (this || _global).renderConfig.dpr);\n    } else {\n      elementWidth = (this || _global).canvasContext.canvas.width * (this || _global).renderConfig.dpr;\n      elementHeight = (this || _global).canvasContext.canvas.height * (this || _global).renderConfig.dpr;\n    }\n\n    var elementRel;\n    var animationRel;\n\n    if ((this || _global).renderConfig.preserveAspectRatio.indexOf(\"meet\") !== -1 || (this || _global).renderConfig.preserveAspectRatio.indexOf(\"slice\") !== -1) {\n      var par = (this || _global).renderConfig.preserveAspectRatio.split(\" \");\n\n      var fillType = par[1] || \"meet\";\n      var pos = par[0] || \"xMidYMid\";\n      var xPos = pos.substr(0, 4);\n      var yPos = pos.substr(4);\n      elementRel = elementWidth / elementHeight;\n      animationRel = (this || _global).transformCanvas.w / (this || _global).transformCanvas.h;\n\n      if (animationRel > elementRel && fillType === \"meet\" || animationRel < elementRel && fillType === \"slice\") {\n        (this || _global).transformCanvas.sx = elementWidth / ((this || _global).transformCanvas.w / (this || _global).renderConfig.dpr);\n        (this || _global).transformCanvas.sy = elementWidth / ((this || _global).transformCanvas.w / (this || _global).renderConfig.dpr);\n      } else {\n        (this || _global).transformCanvas.sx = elementHeight / ((this || _global).transformCanvas.h / (this || _global).renderConfig.dpr);\n        (this || _global).transformCanvas.sy = elementHeight / ((this || _global).transformCanvas.h / (this || _global).renderConfig.dpr);\n      }\n\n      if (xPos === \"xMid\" && (animationRel < elementRel && fillType === \"meet\" || animationRel > elementRel && fillType === \"slice\")) {\n        (this || _global).transformCanvas.tx = (elementWidth - (this || _global).transformCanvas.w * (elementHeight / (this || _global).transformCanvas.h)) / 2 * (this || _global).renderConfig.dpr;\n      } else if (xPos === \"xMax\" && (animationRel < elementRel && fillType === \"meet\" || animationRel > elementRel && fillType === \"slice\")) {\n        (this || _global).transformCanvas.tx = (elementWidth - (this || _global).transformCanvas.w * (elementHeight / (this || _global).transformCanvas.h)) * (this || _global).renderConfig.dpr;\n      } else {\n        (this || _global).transformCanvas.tx = 0;\n      }\n\n      if (yPos === \"YMid\" && (animationRel > elementRel && fillType === \"meet\" || animationRel < elementRel && fillType === \"slice\")) {\n        (this || _global).transformCanvas.ty = (elementHeight - (this || _global).transformCanvas.h * (elementWidth / (this || _global).transformCanvas.w)) / 2 * (this || _global).renderConfig.dpr;\n      } else if (yPos === \"YMax\" && (animationRel > elementRel && fillType === \"meet\" || animationRel < elementRel && fillType === \"slice\")) {\n        (this || _global).transformCanvas.ty = (elementHeight - (this || _global).transformCanvas.h * (elementWidth / (this || _global).transformCanvas.w)) * (this || _global).renderConfig.dpr;\n      } else {\n        (this || _global).transformCanvas.ty = 0;\n      }\n    } else if ((this || _global).renderConfig.preserveAspectRatio === \"none\") {\n      (this || _global).transformCanvas.sx = elementWidth / ((this || _global).transformCanvas.w / (this || _global).renderConfig.dpr);\n      (this || _global).transformCanvas.sy = elementHeight / ((this || _global).transformCanvas.h / (this || _global).renderConfig.dpr);\n      (this || _global).transformCanvas.tx = 0;\n      (this || _global).transformCanvas.ty = 0;\n    } else {\n      (this || _global).transformCanvas.sx = (this || _global).renderConfig.dpr;\n      (this || _global).transformCanvas.sy = (this || _global).renderConfig.dpr;\n      (this || _global).transformCanvas.tx = 0;\n      (this || _global).transformCanvas.ty = 0;\n    }\n\n    (this || _global).transformCanvas.props = [(this || _global).transformCanvas.sx, 0, 0, 0, 0, (this || _global).transformCanvas.sy, 0, 0, 0, 0, 1, 0, (this || _global).transformCanvas.tx, (this || _global).transformCanvas.ty, 0, 1];\n    /* var i, len = this.elements.length;\r\n      for(i=0;i<len;i+=1){\r\n          if(this.elements[i] && this.elements[i].data.ty === 0){\r\n              this.elements[i].resize(this.globalData.transformCanvas);\r\n          }\r\n      } */\n\n    this.ctxTransform((this || _global).transformCanvas.props);\n\n    (this || _global).canvasContext.beginPath();\n\n    (this || _global).canvasContext.rect(0, 0, (this || _global).transformCanvas.w, (this || _global).transformCanvas.h);\n\n    (this || _global).canvasContext.closePath();\n\n    (this || _global).canvasContext.clip();\n\n    this.renderFrame((this || _global).renderedFrame, true);\n  };\n\n  CanvasRenderer.prototype.destroy = function () {\n    if ((this || _global).renderConfig.clearCanvas && (this || _global).animationItem.wrapper) {\n      (this || _global).animationItem.wrapper.innerText = \"\";\n    }\n\n    var i;\n    var len = (this || _global).layers ? (this || _global).layers.length : 0;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).elements[i]) {\n        (this || _global).elements[i].destroy();\n      }\n    }\n\n    (this || _global).elements.length = 0;\n    (this || _global).globalData.canvasContext = null;\n    (this || _global).animationItem.container = null;\n    (this || _global).destroyed = true;\n  };\n\n  CanvasRenderer.prototype.renderFrame = function (num, forceRender) {\n    if ((this || _global).renderedFrame === num && (this || _global).renderConfig.clearCanvas === true && !forceRender || (this || _global).destroyed || num === -1) {\n      return;\n    }\n\n    (this || _global).renderedFrame = num;\n    (this || _global).globalData.frameNum = num - (this || _global).animationItem._isFirstFrame;\n    (this || _global).globalData.frameId += 1;\n    (this || _global).globalData._mdf = !(this || _global).renderConfig.clearCanvas || forceRender;\n    (this || _global).globalData.projectInterface.currentFrame = num; // console.log('--------');\n    // console.log('NEW: ',num);\n\n    var i;\n    var len = (this || _global).layers.length;\n\n    if (!(this || _global).completeLayers) {\n      this.checkLayers(num);\n    }\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].prepareFrame(num - (this || _global).layers[i].st);\n      }\n    }\n\n    if ((this || _global).globalData._mdf) {\n      if ((this || _global).renderConfig.clearCanvas === true) {\n        (this || _global).canvasContext.clearRect(0, 0, (this || _global).transformCanvas.w, (this || _global).transformCanvas.h);\n      } else {\n        this.save();\n      }\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        if ((this || _global).completeLayers || (this || _global).elements[i]) {\n          (this || _global).elements[i].renderFrame();\n        }\n      }\n\n      if ((this || _global).renderConfig.clearCanvas !== true) {\n        this.restore();\n      }\n    }\n  };\n\n  CanvasRenderer.prototype.buildItem = function (pos) {\n    var elements = (this || _global).elements;\n\n    if (elements[pos] || (this || _global).layers[pos].ty === 99) {\n      return;\n    }\n\n    var element = this.createItem((this || _global).layers[pos], this || _global, (this || _global).globalData);\n    elements[pos] = element;\n    element.initExpressions();\n    /* if(this.layers[pos].ty === 0){\r\n          element.resize(this.globalData.transformCanvas);\r\n      } */\n  };\n\n  CanvasRenderer.prototype.checkPendingElements = function () {\n    while ((this || _global).pendingElements.length) {\n      var element = (this || _global).pendingElements.pop();\n\n      element.checkParenting();\n    }\n  };\n\n  CanvasRenderer.prototype.hide = function () {\n    (this || _global).animationItem.container.style.display = \"none\";\n  };\n\n  CanvasRenderer.prototype.show = function () {\n    (this || _global).animationItem.container.style.display = \"block\";\n  };\n  /* global extendPrototype, BaseRenderer, SVGRenderer, SVGShapeElement, HShapeElement, SVGTextLottieElement,\r\n  HTextElement, HCameraElement, IImageElement, HImageElement, SVGCompElement, HCompElement, ISolidElement,\r\n  HSolidElement, styleDiv, createTag, createNS */\n\n\n  function HybridRenderer(animationItem, config) {\n    (this || _global).animationItem = animationItem;\n    (this || _global).layers = null;\n    (this || _global).renderedFrame = -1;\n    (this || _global).renderConfig = {\n      className: config && config.className || \"\",\n      imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || \"xMidYMid slice\",\n      hideOnTransparent: !(config && config.hideOnTransparent === false),\n      filterSize: {\n        width: config && config.filterSize && config.filterSize.width || \"400%\",\n        height: config && config.filterSize && config.filterSize.height || \"400%\",\n        x: config && config.filterSize && config.filterSize.x || \"-100%\",\n        y: config && config.filterSize && config.filterSize.y || \"-100%\"\n      }\n    };\n    (this || _global).globalData = {\n      _mdf: false,\n      frameNum: -1,\n      renderConfig: (this || _global).renderConfig\n    };\n    (this || _global).pendingElements = [];\n    (this || _global).elements = [];\n    (this || _global).threeDElements = [];\n    (this || _global).destroyed = false;\n    (this || _global).camera = null;\n    (this || _global).supports3d = true;\n    (this || _global).rendererType = \"html\";\n  }\n\n  extendPrototype([BaseRenderer], HybridRenderer);\n  HybridRenderer.prototype.buildItem = SVGRenderer.prototype.buildItem;\n\n  HybridRenderer.prototype.checkPendingElements = function () {\n    while ((this || _global).pendingElements.length) {\n      var element = (this || _global).pendingElements.pop();\n\n      element.checkParenting();\n    }\n  };\n\n  HybridRenderer.prototype.appendElementInPos = function (element, pos) {\n    var newDOMElement = element.getBaseElement();\n\n    if (!newDOMElement) {\n      return;\n    }\n\n    var layer = (this || _global).layers[pos];\n\n    if (!layer.ddd || !(this || _global).supports3d) {\n      if ((this || _global).threeDElements) {\n        this.addTo3dContainer(newDOMElement, pos);\n      } else {\n        var i = 0;\n        var nextDOMElement;\n        var nextLayer;\n        var tmpDOMElement;\n\n        while (i < pos) {\n          if ((this || _global).elements[i] && (this || _global).elements[i] !== true && (this || _global).elements[i].getBaseElement) {\n            nextLayer = (this || _global).elements[i];\n            tmpDOMElement = (this || _global).layers[i].ddd ? this.getThreeDContainerByPos(i) : nextLayer.getBaseElement();\n            nextDOMElement = tmpDOMElement || nextDOMElement;\n          }\n\n          i += 1;\n        }\n\n        if (nextDOMElement) {\n          if (!layer.ddd || !(this || _global).supports3d) {\n            (this || _global).layerElement.insertBefore(newDOMElement, nextDOMElement);\n          }\n        } else if (!layer.ddd || !(this || _global).supports3d) {\n          (this || _global).layerElement.appendChild(newDOMElement);\n        }\n      }\n    } else {\n      this.addTo3dContainer(newDOMElement, pos);\n    }\n  };\n\n  HybridRenderer.prototype.createShape = function (data) {\n    if (!(this || _global).supports3d) {\n      return new SVGShapeElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HShapeElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createText = function (data) {\n    if (!(this || _global).supports3d) {\n      return new SVGTextLottieElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HTextElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createCamera = function (data) {\n    (this || _global).camera = new HCameraElement(data, (this || _global).globalData, this || _global);\n    return (this || _global).camera;\n  };\n\n  HybridRenderer.prototype.createImage = function (data) {\n    if (!(this || _global).supports3d) {\n      return new IImageElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HImageElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createComp = function (data) {\n    if (!(this || _global).supports3d) {\n      return new SVGCompElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HCompElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createSolid = function (data) {\n    if (!(this || _global).supports3d) {\n      return new ISolidElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HSolidElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createNull = SVGRenderer.prototype.createNull;\n\n  HybridRenderer.prototype.getThreeDContainerByPos = function (pos) {\n    var i = 0;\n    var len = (this || _global).threeDElements.length;\n\n    while (i < len) {\n      if ((this || _global).threeDElements[i].startPos <= pos && (this || _global).threeDElements[i].endPos >= pos) {\n        return (this || _global).threeDElements[i].perspectiveElem;\n      }\n\n      i += 1;\n    }\n\n    return null;\n  };\n\n  HybridRenderer.prototype.createThreeDContainer = function (pos, type) {\n    var perspectiveElem = createTag(\"div\");\n    var style;\n    var containerStyle;\n    styleDiv(perspectiveElem);\n    var container = createTag(\"div\");\n    styleDiv(container);\n\n    if (type === \"3d\") {\n      style = perspectiveElem.style;\n      style.width = (this || _global).globalData.compSize.w + \"px\";\n      style.height = (this || _global).globalData.compSize.h + \"px\";\n      var center = \"50% 50%\";\n      style.webkitTransformOrigin = center;\n      style.mozTransformOrigin = center;\n      style.transformOrigin = center;\n      containerStyle = container.style;\n      var matrix = \"matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)\";\n      containerStyle.transform = matrix;\n      containerStyle.webkitTransform = matrix;\n    }\n\n    perspectiveElem.appendChild(container); // this.resizerElem.appendChild(perspectiveElem);\n\n    var threeDContainerData = {\n      container: container,\n      perspectiveElem: perspectiveElem,\n      startPos: pos,\n      endPos: pos,\n      type: type\n    };\n\n    (this || _global).threeDElements.push(threeDContainerData);\n\n    return threeDContainerData;\n  };\n\n  HybridRenderer.prototype.build3dContainers = function () {\n    var i;\n    var len = (this || _global).layers.length;\n    var lastThreeDContainerData;\n    var currentContainer = \"\";\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).layers[i].ddd && (this || _global).layers[i].ty !== 3) {\n        if (currentContainer !== \"3d\") {\n          currentContainer = \"3d\";\n          lastThreeDContainerData = this.createThreeDContainer(i, \"3d\");\n        }\n\n        lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n      } else {\n        if (currentContainer !== \"2d\") {\n          currentContainer = \"2d\";\n          lastThreeDContainerData = this.createThreeDContainer(i, \"2d\");\n        }\n\n        lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n      }\n    }\n\n    len = (this || _global).threeDElements.length;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      (this || _global).resizerElem.appendChild((this || _global).threeDElements[i].perspectiveElem);\n    }\n  };\n\n  HybridRenderer.prototype.addTo3dContainer = function (elem, pos) {\n    var i = 0;\n    var len = (this || _global).threeDElements.length;\n\n    while (i < len) {\n      if (pos <= (this || _global).threeDElements[i].endPos) {\n        var j = (this || _global).threeDElements[i].startPos;\n        var nextElement;\n\n        while (j < pos) {\n          if ((this || _global).elements[j] && (this || _global).elements[j].getBaseElement) {\n            nextElement = (this || _global).elements[j].getBaseElement();\n          }\n\n          j += 1;\n        }\n\n        if (nextElement) {\n          (this || _global).threeDElements[i].container.insertBefore(elem, nextElement);\n        } else {\n          (this || _global).threeDElements[i].container.appendChild(elem);\n        }\n\n        break;\n      }\n\n      i += 1;\n    }\n  };\n\n  HybridRenderer.prototype.configAnimation = function (animData) {\n    var resizerElem = createTag(\"div\");\n    var wrapper = (this || _global).animationItem.wrapper;\n    var style = resizerElem.style;\n    style.width = animData.w + \"px\";\n    style.height = animData.h + \"px\";\n    (this || _global).resizerElem = resizerElem;\n    styleDiv(resizerElem);\n    style.transformStyle = \"flat\";\n    style.mozTransformStyle = \"flat\";\n    style.webkitTransformStyle = \"flat\";\n\n    if ((this || _global).renderConfig.className) {\n      resizerElem.setAttribute(\"class\", (this || _global).renderConfig.className);\n    }\n\n    wrapper.appendChild(resizerElem);\n    style.overflow = \"hidden\";\n    var svg = createNS(\"svg\");\n    svg.setAttribute(\"width\", \"1\");\n    svg.setAttribute(\"height\", \"1\");\n    styleDiv(svg);\n\n    (this || _global).resizerElem.appendChild(svg);\n\n    var defs = createNS(\"defs\");\n    svg.appendChild(defs);\n    (this || _global).data = animData; // Mask animation\n\n    this.setupGlobalData(animData, svg);\n    (this || _global).globalData.defs = defs;\n    (this || _global).layers = animData.layers;\n    (this || _global).layerElement = (this || _global).resizerElem;\n    this.build3dContainers();\n    this.updateContainerSize();\n  };\n\n  HybridRenderer.prototype.destroy = function () {\n    if ((this || _global).animationItem.wrapper) {\n      (this || _global).animationItem.wrapper.innerText = \"\";\n    }\n\n    (this || _global).animationItem.container = null;\n    (this || _global).globalData.defs = null;\n    var i;\n    var len = (this || _global).layers ? (this || _global).layers.length : 0;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).elements[i].destroy();\n    }\n\n    (this || _global).elements.length = 0;\n    (this || _global).destroyed = true;\n    (this || _global).animationItem = null;\n  };\n\n  HybridRenderer.prototype.updateContainerSize = function () {\n    var elementWidth = (this || _global).animationItem.wrapper.offsetWidth;\n    var elementHeight = (this || _global).animationItem.wrapper.offsetHeight;\n    var elementRel = elementWidth / elementHeight;\n    var animationRel = (this || _global).globalData.compSize.w / (this || _global).globalData.compSize.h;\n    var sx;\n    var sy;\n    var tx;\n    var ty;\n\n    if (animationRel > elementRel) {\n      sx = elementWidth / (this || _global).globalData.compSize.w;\n      sy = elementWidth / (this || _global).globalData.compSize.w;\n      tx = 0;\n      ty = (elementHeight - (this || _global).globalData.compSize.h * (elementWidth / (this || _global).globalData.compSize.w)) / 2;\n    } else {\n      sx = elementHeight / (this || _global).globalData.compSize.h;\n      sy = elementHeight / (this || _global).globalData.compSize.h;\n      tx = (elementWidth - (this || _global).globalData.compSize.w * (elementHeight / (this || _global).globalData.compSize.h)) / 2;\n      ty = 0;\n    }\n\n    var style = (this || _global).resizerElem.style;\n    style.webkitTransform = \"matrix3d(\" + sx + \",0,0,0,0,\" + sy + \",0,0,0,0,1,0,\" + tx + \",\" + ty + \",0,1)\";\n    style.transform = style.webkitTransform;\n  };\n\n  HybridRenderer.prototype.renderFrame = SVGRenderer.prototype.renderFrame;\n\n  HybridRenderer.prototype.hide = function () {\n    (this || _global).resizerElem.style.display = \"none\";\n  };\n\n  HybridRenderer.prototype.show = function () {\n    (this || _global).resizerElem.style.display = \"block\";\n  };\n\n  HybridRenderer.prototype.initItems = function () {\n    this.buildAllItems();\n\n    if ((this || _global).camera) {\n      (this || _global).camera.setup();\n    } else {\n      var cWidth = (this || _global).globalData.compSize.w;\n      var cHeight = (this || _global).globalData.compSize.h;\n      var i;\n      var len = (this || _global).threeDElements.length;\n\n      for (i = 0; i < len; i += 1) {\n        var style = (this || _global).threeDElements[i].perspectiveElem.style;\n        style.webkitPerspective = Math.sqrt(Math.pow(cWidth, 2) + Math.pow(cHeight, 2)) + \"px\";\n        style.perspective = style.webkitPerspective;\n      }\n    }\n  };\n\n  HybridRenderer.prototype.searchExtraCompositions = function (assets) {\n    var i;\n    var len = assets.length;\n    var floatingContainer = createTag(\"div\");\n\n    for (i = 0; i < len; i += 1) {\n      if (assets[i].xt) {\n        var comp = this.createComp(assets[i], floatingContainer, (this || _global).globalData.comp, null);\n        comp.initExpressions();\n\n        (this || _global).globalData.projectInterface.registerComposition(comp);\n      }\n    }\n  };\n  /* global createSizedArray, createElementID, PropertyFactory, ShapePropertyFactory, createNS, locationHref */\n\n\n  function MaskElement(data, element, globalData) {\n    (this || _global).data = data;\n    (this || _global).element = element;\n    (this || _global).globalData = globalData;\n    (this || _global).storedData = [];\n    (this || _global).masksProperties = (this || _global).data.masksProperties || [];\n    (this || _global).maskElement = null;\n    var defs = (this || _global).globalData.defs;\n    var i;\n    var len = (this || _global).masksProperties ? (this || _global).masksProperties.length : 0;\n    (this || _global).viewData = createSizedArray(len);\n    (this || _global).solidPath = \"\";\n    var path;\n    var properties = (this || _global).masksProperties;\n    var count = 0;\n    var currentMasks = [];\n    var j;\n    var jLen;\n    var layerId = createElementID();\n    var rect;\n    var expansor;\n    var feMorph;\n    var x;\n    var maskType = \"clipPath\";\n    var maskRef = \"clip-path\";\n\n    for (i = 0; i < len; i += 1) {\n      if (properties[i].mode !== \"a\" && properties[i].mode !== \"n\" || properties[i].inv || properties[i].o.k !== 100 || properties[i].o.x) {\n        maskType = \"mask\";\n        maskRef = \"mask\";\n      }\n\n      if ((properties[i].mode === \"s\" || properties[i].mode === \"i\") && count === 0) {\n        rect = createNS(\"rect\");\n        rect.setAttribute(\"fill\", \"#ffffff\");\n        rect.setAttribute(\"width\", (this || _global).element.comp.data.w || 0);\n        rect.setAttribute(\"height\", (this || _global).element.comp.data.h || 0);\n        currentMasks.push(rect);\n      } else {\n        rect = null;\n      }\n\n      path = createNS(\"path\");\n\n      if (properties[i].mode === \"n\") {\n        // TODO move this to a factory or to a constructor\n        (this || _global).viewData[i] = {\n          op: PropertyFactory.getProp((this || _global).element, properties[i].o, 0, 0.01, (this || _global).element),\n          prop: ShapePropertyFactory.getShapeProp((this || _global).element, properties[i], 3),\n          elem: path,\n          lastPath: \"\"\n        };\n        defs.appendChild(path);\n      } else {\n        count += 1;\n        path.setAttribute(\"fill\", properties[i].mode === \"s\" ? \"#000000\" : \"#ffffff\");\n        path.setAttribute(\"clip-rule\", \"nonzero\");\n        var filterID;\n\n        if (properties[i].x.k !== 0) {\n          maskType = \"mask\";\n          maskRef = \"mask\";\n          x = PropertyFactory.getProp((this || _global).element, properties[i].x, 0, null, (this || _global).element);\n          filterID = createElementID();\n          expansor = createNS(\"filter\");\n          expansor.setAttribute(\"id\", filterID);\n          feMorph = createNS(\"feMorphology\");\n          feMorph.setAttribute(\"operator\", \"erode\");\n          feMorph.setAttribute(\"in\", \"SourceGraphic\");\n          feMorph.setAttribute(\"radius\", \"0\");\n          expansor.appendChild(feMorph);\n          defs.appendChild(expansor);\n          path.setAttribute(\"stroke\", properties[i].mode === \"s\" ? \"#000000\" : \"#ffffff\");\n        } else {\n          feMorph = null;\n          x = null;\n        } // TODO move this to a factory or to a constructor\n\n\n        (this || _global).storedData[i] = {\n          elem: path,\n          x: x,\n          expan: feMorph,\n          lastPath: \"\",\n          lastOperator: \"\",\n          filterId: filterID,\n          lastRadius: 0\n        };\n\n        if (properties[i].mode === \"i\") {\n          jLen = currentMasks.length;\n          var g = createNS(\"g\");\n\n          for (j = 0; j < jLen; j += 1) {\n            g.appendChild(currentMasks[j]);\n          }\n\n          var mask = createNS(\"mask\");\n          mask.setAttribute(\"mask-type\", \"alpha\");\n          mask.setAttribute(\"id\", layerId + \"_\" + count);\n          mask.appendChild(path);\n          defs.appendChild(mask);\n          g.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + layerId + \"_\" + count + \")\");\n          currentMasks.length = 0;\n          currentMasks.push(g);\n        } else {\n          currentMasks.push(path);\n        }\n\n        if (properties[i].inv && !(this || _global).solidPath) {\n          (this || _global).solidPath = this.createLayerSolidPath();\n        } // TODO move this to a factory or to a constructor\n\n\n        (this || _global).viewData[i] = {\n          elem: path,\n          lastPath: \"\",\n          op: PropertyFactory.getProp((this || _global).element, properties[i].o, 0, 0.01, (this || _global).element),\n          prop: ShapePropertyFactory.getShapeProp((this || _global).element, properties[i], 3),\n          invRect: rect\n        };\n\n        if (!(this || _global).viewData[i].prop.k) {\n          this.drawPath(properties[i], (this || _global).viewData[i].prop.v, (this || _global).viewData[i]);\n        }\n      }\n    }\n\n    (this || _global).maskElement = createNS(maskType);\n    len = currentMasks.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).maskElement.appendChild(currentMasks[i]);\n    }\n\n    if (count > 0) {\n      (this || _global).maskElement.setAttribute(\"id\", layerId);\n\n      (this || _global).element.maskedElement.setAttribute(maskRef, \"url(\" + locationHref + \"#\" + layerId + \")\");\n\n      defs.appendChild((this || _global).maskElement);\n    }\n\n    if ((this || _global).viewData.length) {\n      (this || _global).element.addRenderableComponent(this || _global);\n    }\n  }\n\n  MaskElement.prototype.getMaskProperty = function (pos) {\n    return (this || _global).viewData[pos].prop;\n  };\n\n  MaskElement.prototype.renderFrame = function (isFirstFrame) {\n    var finalMat = (this || _global).element.finalTransform.mat;\n    var i;\n    var len = (this || _global).masksProperties.length;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).viewData[i].prop._mdf || isFirstFrame) {\n        this.drawPath((this || _global).masksProperties[i], (this || _global).viewData[i].prop.v, (this || _global).viewData[i]);\n      }\n\n      if ((this || _global).viewData[i].op._mdf || isFirstFrame) {\n        (this || _global).viewData[i].elem.setAttribute(\"fill-opacity\", (this || _global).viewData[i].op.v);\n      }\n\n      if ((this || _global).masksProperties[i].mode !== \"n\") {\n        if ((this || _global).viewData[i].invRect && ((this || _global).element.finalTransform.mProp._mdf || isFirstFrame)) {\n          (this || _global).viewData[i].invRect.setAttribute(\"transform\", finalMat.getInverseMatrix().to2dCSS());\n        }\n\n        if ((this || _global).storedData[i].x && ((this || _global).storedData[i].x._mdf || isFirstFrame)) {\n          var feMorph = (this || _global).storedData[i].expan;\n\n          if ((this || _global).storedData[i].x.v < 0) {\n            if ((this || _global).storedData[i].lastOperator !== \"erode\") {\n              (this || _global).storedData[i].lastOperator = \"erode\";\n\n              (this || _global).storedData[i].elem.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + (this || _global).storedData[i].filterId + \")\");\n            }\n\n            feMorph.setAttribute(\"radius\", -(this || _global).storedData[i].x.v);\n          } else {\n            if ((this || _global).storedData[i].lastOperator !== \"dilate\") {\n              (this || _global).storedData[i].lastOperator = \"dilate\";\n\n              (this || _global).storedData[i].elem.setAttribute(\"filter\", null);\n            }\n\n            (this || _global).storedData[i].elem.setAttribute(\"stroke-width\", (this || _global).storedData[i].x.v * 2);\n          }\n        }\n      }\n    }\n  };\n\n  MaskElement.prototype.getMaskelement = function () {\n    return (this || _global).maskElement;\n  };\n\n  MaskElement.prototype.createLayerSolidPath = function () {\n    var path = \"M0,0 \";\n    path += \" h\" + (this || _global).globalData.compSize.w;\n    path += \" v\" + (this || _global).globalData.compSize.h;\n    path += \" h-\" + (this || _global).globalData.compSize.w;\n    path += \" v-\" + (this || _global).globalData.compSize.h + \" \";\n    return path;\n  };\n\n  MaskElement.prototype.drawPath = function (pathData, pathNodes, viewData) {\n    var pathString = \" M\" + pathNodes.v[0][0] + \",\" + pathNodes.v[0][1];\n    var i;\n    var len;\n    len = pathNodes._length;\n\n    for (i = 1; i < len; i += 1) {\n      // pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[i][0]+','+pathNodes.i[i][1] + \" \"+pathNodes.v[i][0]+','+pathNodes.v[i][1];\n      pathString += \" C\" + pathNodes.o[i - 1][0] + \",\" + pathNodes.o[i - 1][1] + \" \" + pathNodes.i[i][0] + \",\" + pathNodes.i[i][1] + \" \" + pathNodes.v[i][0] + \",\" + pathNodes.v[i][1];\n    } // pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[0][0]+','+pathNodes.i[0][1] + \" \"+pathNodes.v[0][0]+','+pathNodes.v[0][1];\n\n\n    if (pathNodes.c && len > 1) {\n      pathString += \" C\" + pathNodes.o[i - 1][0] + \",\" + pathNodes.o[i - 1][1] + \" \" + pathNodes.i[0][0] + \",\" + pathNodes.i[0][1] + \" \" + pathNodes.v[0][0] + \",\" + pathNodes.v[0][1];\n    } // pathNodes.__renderedString = pathString;\n\n\n    if (viewData.lastPath !== pathString) {\n      var pathShapeValue = \"\";\n\n      if (viewData.elem) {\n        if (pathNodes.c) {\n          pathShapeValue = pathData.inv ? (this || _global).solidPath + pathString : pathString;\n        }\n\n        viewData.elem.setAttribute(\"d\", pathShapeValue);\n      }\n\n      viewData.lastPath = pathString;\n    }\n  };\n\n  MaskElement.prototype.destroy = function () {\n    (this || _global).element = null;\n    (this || _global).globalData = null;\n    (this || _global).maskElement = null;\n    (this || _global).data = null;\n    (this || _global).masksProperties = null;\n  };\n  /**\r\n   * @file\r\n   * Handles AE's layer parenting property.\r\n   *\r\n   */\n\n\n  function HierarchyElement() {}\n\n  HierarchyElement.prototype = {\n    /**\r\n       * @function\r\n       * Initializes hierarchy properties\r\n       *\r\n       */\n    initHierarchy: function () {\n      // element's parent list\n      (this || _global).hierarchy = []; // if element is parent of another layer _isParent will be true\n\n      (this || _global)._isParent = false;\n      this.checkParenting();\n    },\n\n    /**\r\n       * @function\r\n       * Sets layer's hierarchy.\r\n       * @param {array} hierarch\r\n       * layer's parent list\r\n       *\r\n       */\n    setHierarchy: function (hierarchy) {\n      (this || _global).hierarchy = hierarchy;\n    },\n\n    /**\r\n       * @function\r\n       * Sets layer as parent.\r\n       *\r\n       */\n    setAsParent: function () {\n      (this || _global)._isParent = true;\n    },\n\n    /**\r\n       * @function\r\n       * Searches layer's parenting chain\r\n       *\r\n       */\n    checkParenting: function () {\n      if ((this || _global).data.parent !== undefined) {\n        (this || _global).comp.buildElementParenting(this || _global, (this || _global).data.parent, []);\n      }\n    }\n  };\n  /**\r\n   * @file\r\n   * Handles element's layer frame update.\r\n   * Checks layer in point and out point\r\n   *\r\n   */\n\n  function FrameElement() {}\n\n  FrameElement.prototype = {\n    /**\r\n       * @function\r\n       * Initializes frame related properties.\r\n       *\r\n       */\n    initFrame: function () {\n      // set to true when inpoint is rendered\n      (this || _global)._isFirstFrame = false; // list of animated properties\n\n      (this || _global).dynamicProperties = []; // If layer has been modified in current tick this will be true\n\n      (this || _global)._mdf = false;\n    },\n\n    /**\r\n       * @function\r\n       * Calculates all dynamic values\r\n       *\r\n       * @param {number} num\r\n       * current frame number in Layer's time\r\n       * @param {boolean} isVisible\r\n       * if layers is currently in range\r\n       *\r\n       */\n    prepareProperties: function (num, isVisible) {\n      var i;\n      var len = (this || _global).dynamicProperties.length;\n\n      for (i = 0; i < len; i += 1) {\n        if (isVisible || (this || _global)._isParent && (this || _global).dynamicProperties[i].propType === \"transform\") {\n          (this || _global).dynamicProperties[i].getValue();\n\n          if ((this || _global).dynamicProperties[i]._mdf) {\n            (this || _global).globalData._mdf = true;\n            (this || _global)._mdf = true;\n          }\n        }\n      }\n    },\n    addDynamicProperty: function (prop) {\n      if ((this || _global).dynamicProperties.indexOf(prop) === -1) {\n        (this || _global).dynamicProperties.push(prop);\n      }\n    }\n  };\n  /* global TransformPropertyFactory, Matrix */\n\n  function TransformElement() {}\n\n  TransformElement.prototype = {\n    initTransform: function () {\n      (this || _global).finalTransform = {\n        mProp: (this || _global).data.ks ? TransformPropertyFactory.getTransformProperty(this || _global, (this || _global).data.ks, this || _global) : {\n          o: 0\n        },\n        _matMdf: false,\n        _opMdf: false,\n        mat: new Matrix()\n      };\n\n      if ((this || _global).data.ao) {\n        (this || _global).finalTransform.mProp.autoOriented = true;\n      } // TODO: check TYPE 11: Guided elements\n\n\n      if ((this || _global).data.ty !== 11) {// this.createElements();\n      }\n    },\n    renderTransform: function () {\n      (this || _global).finalTransform._opMdf = (this || _global).finalTransform.mProp.o._mdf || (this || _global)._isFirstFrame;\n      (this || _global).finalTransform._matMdf = (this || _global).finalTransform.mProp._mdf || (this || _global)._isFirstFrame;\n\n      if ((this || _global).hierarchy) {\n        var mat;\n        var finalMat = (this || _global).finalTransform.mat;\n        var i = 0;\n        var len = (this || _global).hierarchy.length; // Checking if any of the transformation matrices in the hierarchy chain has changed.\n\n        if (!(this || _global).finalTransform._matMdf) {\n          while (i < len) {\n            if ((this || _global).hierarchy[i].finalTransform.mProp._mdf) {\n              (this || _global).finalTransform._matMdf = true;\n              break;\n            }\n\n            i += 1;\n          }\n        }\n\n        if ((this || _global).finalTransform._matMdf) {\n          mat = (this || _global).finalTransform.mProp.v.props;\n          finalMat.cloneFromProps(mat);\n\n          for (i = 0; i < len; i += 1) {\n            mat = (this || _global).hierarchy[i].finalTransform.mProp.v.props;\n            finalMat.transform(mat[0], mat[1], mat[2], mat[3], mat[4], mat[5], mat[6], mat[7], mat[8], mat[9], mat[10], mat[11], mat[12], mat[13], mat[14], mat[15]);\n          }\n        }\n      }\n    },\n    globalToLocal: function (pt) {\n      var transforms = [];\n      transforms.push((this || _global).finalTransform);\n      var flag = true;\n      var comp = (this || _global).comp;\n\n      while (flag) {\n        if (comp.finalTransform) {\n          if (comp.data.hasMask) {\n            transforms.splice(0, 0, comp.finalTransform);\n          }\n\n          comp = comp.comp;\n        } else {\n          flag = false;\n        }\n      }\n\n      var i;\n      var len = transforms.length;\n      var ptNew;\n\n      for (i = 0; i < len; i += 1) {\n        ptNew = transforms[i].mat.applyToPointArray(0, 0, 0); // ptNew = transforms[i].mat.applyToPointArray(pt[0],pt[1],pt[2]);\n\n        pt = [pt[0] - ptNew[0], pt[1] - ptNew[1], 0];\n      }\n\n      return pt;\n    },\n    mHelper: new Matrix()\n  };\n\n  function RenderableElement() {}\n\n  RenderableElement.prototype = {\n    initRenderable: function () {\n      // layer's visibility related to inpoint and outpoint. Rename isVisible to isInRange\n      (this || _global).isInRange = false; // layer's display state\n\n      (this || _global).hidden = false; // If layer's transparency equals 0, it can be hidden\n\n      (this || _global).isTransparent = false; // list of animated components\n\n      (this || _global).renderableComponents = [];\n    },\n    addRenderableComponent: function (component) {\n      if ((this || _global).renderableComponents.indexOf(component) === -1) {\n        (this || _global).renderableComponents.push(component);\n      }\n    },\n    removeRenderableComponent: function (component) {\n      if ((this || _global).renderableComponents.indexOf(component) !== -1) {\n        (this || _global).renderableComponents.splice((this || _global).renderableComponents.indexOf(component), 1);\n      }\n    },\n    prepareRenderableFrame: function (num) {\n      this.checkLayerLimits(num);\n    },\n    checkTransparency: function () {\n      if ((this || _global).finalTransform.mProp.o.v <= 0) {\n        if (!(this || _global).isTransparent && (this || _global).globalData.renderConfig.hideOnTransparent) {\n          (this || _global).isTransparent = true;\n          this.hide();\n        }\n      } else if ((this || _global).isTransparent) {\n        (this || _global).isTransparent = false;\n        this.show();\n      }\n    },\n\n    /**\r\n       * @function\r\n       * Initializes frame related properties.\r\n       *\r\n       * @param {number} num\r\n       * current frame number in Layer's time\r\n       *\r\n       */\n    checkLayerLimits: function (num) {\n      if ((this || _global).data.ip - (this || _global).data.st <= num && (this || _global).data.op - (this || _global).data.st > num) {\n        if ((this || _global).isInRange !== true) {\n          (this || _global).globalData._mdf = true;\n          (this || _global)._mdf = true;\n          (this || _global).isInRange = true;\n          this.show();\n        }\n      } else if ((this || _global).isInRange !== false) {\n        (this || _global).globalData._mdf = true;\n        (this || _global).isInRange = false;\n        this.hide();\n      }\n    },\n    renderRenderable: function () {\n      var i;\n      var len = (this || _global).renderableComponents.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).renderableComponents[i].renderFrame((this || _global)._isFirstFrame);\n      }\n      /* this.maskManager.renderFrame(this.finalTransform.mat);\r\n          this.renderableEffectsManager.renderFrame(this._isFirstFrame); */\n\n    },\n    sourceRectAtTime: function () {\n      return {\n        top: 0,\n        left: 0,\n        width: 100,\n        height: 100\n      };\n    },\n    getLayerSize: function () {\n      if ((this || _global).data.ty === 5) {\n        return {\n          w: (this || _global).data.textData.width,\n          h: (this || _global).data.textData.height\n        };\n      }\n\n      return {\n        w: (this || _global).data.width,\n        h: (this || _global).data.height\n      };\n    }\n  };\n  /* global extendPrototype, RenderableElement, createProxyFunction */\n\n  function RenderableDOMElement() {}\n\n  (function () {\n    var _prototype = {\n      initElement: function (data, globalData, comp) {\n        this.initFrame();\n        this.initBaseData(data, globalData, comp);\n        this.initTransform(data, globalData, comp);\n        this.initHierarchy();\n        this.initRenderable();\n        this.initRendererElement();\n        this.createContainerElements();\n        this.createRenderableComponents();\n        this.createContent();\n        this.hide();\n      },\n      hide: function () {\n        if (!(this || _global).hidden && (!(this || _global).isInRange || (this || _global).isTransparent)) {\n          var elem = (this || _global).baseElement || (this || _global).layerElement;\n          elem.style.display = \"none\";\n          (this || _global).hidden = true;\n        }\n      },\n      show: function () {\n        if ((this || _global).isInRange && !(this || _global).isTransparent) {\n          if (!(this || _global).data.hd) {\n            var elem = (this || _global).baseElement || (this || _global).layerElement;\n            elem.style.display = \"block\";\n          }\n\n          (this || _global).hidden = false;\n          (this || _global)._isFirstFrame = true;\n        }\n      },\n      renderFrame: function () {\n        // If it is exported as hidden (data.hd === true) no need to render\n        // If it is not visible no need to render\n        if ((this || _global).data.hd || (this || _global).hidden) {\n          return;\n        }\n\n        this.renderTransform();\n        this.renderRenderable();\n        this.renderElement();\n        this.renderInnerContent();\n\n        if ((this || _global)._isFirstFrame) {\n          (this || _global)._isFirstFrame = false;\n        }\n      },\n      renderInnerContent: function () {},\n      prepareFrame: function (num) {\n        (this || _global)._mdf = false;\n        this.prepareRenderableFrame(num);\n        this.prepareProperties(num, (this || _global).isInRange);\n        this.checkTransparency();\n      },\n      destroy: function () {\n        (this || _global).innerElem = null;\n        this.destroyBaseElement();\n      }\n    };\n    extendPrototype([RenderableElement, createProxyFunction(_prototype)], RenderableDOMElement);\n  })();\n  /* exported ProcessedElement */\n\n\n  function ProcessedElement(element, position) {\n    (this || _global).elem = element;\n    (this || _global).pos = position;\n  }\n  /* global createNS */\n\n\n  function SVGStyleData(data, level) {\n    (this || _global).data = data;\n    (this || _global).type = data.ty;\n    (this || _global).d = \"\";\n    (this || _global).lvl = level;\n    (this || _global)._mdf = false;\n    (this || _global).closed = data.hd === true;\n    (this || _global).pElem = createNS(\"path\");\n    (this || _global).msElem = null;\n  }\n\n  SVGStyleData.prototype.reset = function () {\n    (this || _global).d = \"\";\n    (this || _global)._mdf = false;\n  };\n\n  function SVGShapeData(transformers, level, shape) {\n    (this || _global).caches = [];\n    (this || _global).styles = [];\n    (this || _global).transformers = transformers;\n    (this || _global).lStr = \"\";\n    (this || _global).sh = shape;\n    (this || _global).lvl = level; // TODO find if there are some cases where _isAnimated can be false.\n    // For now, since shapes add up with other shapes. They have to be calculated every time.\n    // One way of finding out is checking if all styles associated to this shape depend only of this shape\n\n    (this || _global)._isAnimated = !!shape.k; // TODO: commenting this for now since all shapes are animated\n\n    var i = 0;\n    var len = transformers.length;\n\n    while (i < len) {\n      if (transformers[i].mProps.dynamicProperties.length) {\n        (this || _global)._isAnimated = true;\n        break;\n      }\n\n      i += 1;\n    }\n  }\n\n  SVGShapeData.prototype.setAsAnimated = function () {\n    (this || _global)._isAnimated = true;\n  };\n  /* exported SVGTransformData */\n\n\n  function SVGTransformData(mProps, op, container) {\n    (this || _global).transform = {\n      mProps: mProps,\n      op: op,\n      container: container\n    };\n    (this || _global).elements = [];\n    (this || _global)._isAnimated = (this || _global).transform.mProps.dynamicProperties.length || (this || _global).transform.op.effectsSequence.length;\n  }\n  /* global DashProperty, PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n\n  function SVGStrokeStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    (this || _global).getValue = (this || _global).iterateDynamicProperties;\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this || _global);\n    (this || _global).w = PropertyFactory.getProp(elem, data.w, 0, null, this || _global);\n    (this || _global).d = new DashProperty(elem, data.d || {}, \"svg\", this || _global);\n    (this || _global).c = PropertyFactory.getProp(elem, data.c, 1, 255, this || _global);\n    (this || _global).style = styleOb;\n    (this || _global)._isAnimated = !!(this || _global)._isAnimated;\n  }\n\n  extendPrototype([DynamicPropertyContainer], SVGStrokeStyleData);\n  /* global PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n  function SVGFillStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    (this || _global).getValue = (this || _global).iterateDynamicProperties;\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this || _global);\n    (this || _global).c = PropertyFactory.getProp(elem, data.c, 1, 255, this || _global);\n    (this || _global).style = styleOb;\n  }\n\n  extendPrototype([DynamicPropertyContainer], SVGFillStyleData);\n  /* global PropertyFactory, degToRads, GradientProperty, createElementID, createNS, locationHref,\r\n  extendPrototype, DynamicPropertyContainer */\n\n  function SVGGradientFillStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    (this || _global).getValue = (this || _global).iterateDynamicProperties;\n    this.initGradientData(elem, data, styleOb);\n  }\n\n  SVGGradientFillStyleData.prototype.initGradientData = function (elem, data, styleOb) {\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this || _global);\n    (this || _global).s = PropertyFactory.getProp(elem, data.s, 1, null, this || _global);\n    (this || _global).e = PropertyFactory.getProp(elem, data.e, 1, null, this || _global);\n    (this || _global).h = PropertyFactory.getProp(elem, data.h || {\n      k: 0\n    }, 0, 0.01, this || _global);\n    (this || _global).a = PropertyFactory.getProp(elem, data.a || {\n      k: 0\n    }, 0, degToRads, this || _global);\n    (this || _global).g = new GradientProperty(elem, data.g, this || _global);\n    (this || _global).style = styleOb;\n    (this || _global).stops = [];\n    this.setGradientData(styleOb.pElem, data);\n    this.setGradientOpacity(data, styleOb);\n    (this || _global)._isAnimated = !!(this || _global)._isAnimated;\n  };\n\n  SVGGradientFillStyleData.prototype.setGradientData = function (pathElement, data) {\n    var gradientId = createElementID();\n    var gfill = createNS(data.t === 1 ? \"linearGradient\" : \"radialGradient\");\n    gfill.setAttribute(\"id\", gradientId);\n    gfill.setAttribute(\"spreadMethod\", \"pad\");\n    gfill.setAttribute(\"gradientUnits\", \"userSpaceOnUse\");\n    var stops = [];\n    var stop;\n    var j;\n    var jLen;\n    jLen = data.g.p * 4;\n\n    for (j = 0; j < jLen; j += 4) {\n      stop = createNS(\"stop\");\n      gfill.appendChild(stop);\n      stops.push(stop);\n    }\n\n    pathElement.setAttribute(data.ty === \"gf\" ? \"fill\" : \"stroke\", \"url(\" + locationHref + \"#\" + gradientId + \")\");\n    (this || _global).gf = gfill;\n    (this || _global).cst = stops;\n  };\n\n  SVGGradientFillStyleData.prototype.setGradientOpacity = function (data, styleOb) {\n    if ((this || _global).g._hasOpacity && !(this || _global).g._collapsable) {\n      var stop;\n      var j;\n      var jLen;\n      var mask = createNS(\"mask\");\n      var maskElement = createNS(\"path\");\n      mask.appendChild(maskElement);\n      var opacityId = createElementID();\n      var maskId = createElementID();\n      mask.setAttribute(\"id\", maskId);\n      var opFill = createNS(data.t === 1 ? \"linearGradient\" : \"radialGradient\");\n      opFill.setAttribute(\"id\", opacityId);\n      opFill.setAttribute(\"spreadMethod\", \"pad\");\n      opFill.setAttribute(\"gradientUnits\", \"userSpaceOnUse\");\n      jLen = data.g.k.k[0].s ? data.g.k.k[0].s.length : data.g.k.k.length;\n      var stops = (this || _global).stops;\n\n      for (j = data.g.p * 4; j < jLen; j += 2) {\n        stop = createNS(\"stop\");\n        stop.setAttribute(\"stop-color\", \"rgb(255,255,255)\");\n        opFill.appendChild(stop);\n        stops.push(stop);\n      }\n\n      maskElement.setAttribute(data.ty === \"gf\" ? \"fill\" : \"stroke\", \"url(\" + locationHref + \"#\" + opacityId + \")\");\n      (this || _global).of = opFill;\n      (this || _global).ms = mask;\n      (this || _global).ost = stops;\n      (this || _global).maskId = maskId;\n      styleOb.msElem = maskElement;\n    }\n  };\n\n  extendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData);\n  /* global PropertyFactory, DashProperty, extendPrototype, SVGGradientFillStyleData, DynamicPropertyContainer */\n\n  function SVGGradientStrokeStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    (this || _global).getValue = (this || _global).iterateDynamicProperties;\n    (this || _global).w = PropertyFactory.getProp(elem, data.w, 0, null, this || _global);\n    (this || _global).d = new DashProperty(elem, data.d || {}, \"svg\", this || _global);\n    this.initGradientData(elem, data, styleOb);\n    (this || _global)._isAnimated = !!(this || _global)._isAnimated;\n  }\n\n  extendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData);\n  /* global createNS */\n\n  /* exported ShapeGroupData */\n\n  function ShapeGroupData() {\n    (this || _global).it = [];\n    (this || _global).prevViewData = [];\n    (this || _global).gr = createNS(\"g\");\n  }\n  /* global Matrix, buildShapeString, bmFloor */\n\n  /* exported SVGElementsRenderer */\n\n\n  var SVGElementsRenderer = function () {\n    var _identityMatrix = new Matrix();\n\n    var _matrixHelper = new Matrix();\n\n    var ob = {\n      createRenderFunction: createRenderFunction\n    };\n\n    function createRenderFunction(data) {\n      switch (data.ty) {\n        case \"fl\":\n          return renderFill;\n\n        case \"gf\":\n          return renderGradient;\n\n        case \"gs\":\n          return renderGradientStroke;\n\n        case \"st\":\n          return renderStroke;\n\n        case \"sh\":\n        case \"el\":\n        case \"rc\":\n        case \"sr\":\n          return renderPath;\n\n        case \"tr\":\n          return renderContentTransform;\n\n        default:\n          return null;\n      }\n    }\n\n    function renderContentTransform(styleData, itemData, isFirstFrame) {\n      if (isFirstFrame || itemData.transform.op._mdf) {\n        itemData.transform.container.setAttribute(\"opacity\", itemData.transform.op.v);\n      }\n\n      if (isFirstFrame || itemData.transform.mProps._mdf) {\n        itemData.transform.container.setAttribute(\"transform\", itemData.transform.mProps.v.to2dCSS());\n      }\n    }\n\n    function renderPath(styleData, itemData, isFirstFrame) {\n      var j;\n      var jLen;\n      var pathStringTransformed;\n      var redraw;\n      var pathNodes;\n      var l;\n      var lLen = itemData.styles.length;\n      var lvl = itemData.lvl;\n      var paths;\n      var mat;\n      var props;\n      var iterations;\n      var k;\n\n      for (l = 0; l < lLen; l += 1) {\n        redraw = itemData.sh._mdf || isFirstFrame;\n\n        if (itemData.styles[l].lvl < lvl) {\n          mat = _matrixHelper.reset();\n          iterations = lvl - itemData.styles[l].lvl;\n          k = itemData.transformers.length - 1;\n\n          while (!redraw && iterations > 0) {\n            redraw = itemData.transformers[k].mProps._mdf || redraw;\n            iterations -= 1;\n            k -= 1;\n          }\n\n          if (redraw) {\n            iterations = lvl - itemData.styles[l].lvl;\n            k = itemData.transformers.length - 1;\n\n            while (iterations > 0) {\n              props = itemData.transformers[k].mProps.v.props;\n              mat.transform(props[0], props[1], props[2], props[3], props[4], props[5], props[6], props[7], props[8], props[9], props[10], props[11], props[12], props[13], props[14], props[15]);\n              iterations -= 1;\n              k -= 1;\n            }\n          }\n        } else {\n          mat = _identityMatrix;\n        }\n\n        paths = itemData.sh.paths;\n        jLen = paths._length;\n\n        if (redraw) {\n          pathStringTransformed = \"\";\n\n          for (j = 0; j < jLen; j += 1) {\n            pathNodes = paths.shapes[j];\n\n            if (pathNodes && pathNodes._length) {\n              pathStringTransformed += buildShapeString(pathNodes, pathNodes._length, pathNodes.c, mat);\n            }\n          }\n\n          itemData.caches[l] = pathStringTransformed;\n        } else {\n          pathStringTransformed = itemData.caches[l];\n        }\n\n        itemData.styles[l].d += styleData.hd === true ? \"\" : pathStringTransformed;\n        itemData.styles[l]._mdf = redraw || itemData.styles[l]._mdf;\n      }\n    }\n\n    function renderFill(styleData, itemData, isFirstFrame) {\n      var styleElem = itemData.style;\n\n      if (itemData.c._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute(\"fill\", \"rgb(\" + bmFloor(itemData.c.v[0]) + \",\" + bmFloor(itemData.c.v[1]) + \",\" + bmFloor(itemData.c.v[2]) + \")\");\n      }\n\n      if (itemData.o._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute(\"fill-opacity\", itemData.o.v);\n      }\n    }\n\n    function renderGradientStroke(styleData, itemData, isFirstFrame) {\n      renderGradient(styleData, itemData, isFirstFrame);\n      renderStroke(styleData, itemData, isFirstFrame);\n    }\n\n    function renderGradient(styleData, itemData, isFirstFrame) {\n      var gfill = itemData.gf;\n      var hasOpacity = itemData.g._hasOpacity;\n      var pt1 = itemData.s.v;\n      var pt2 = itemData.e.v;\n\n      if (itemData.o._mdf || isFirstFrame) {\n        var attr = styleData.ty === \"gf\" ? \"fill-opacity\" : \"stroke-opacity\";\n        itemData.style.pElem.setAttribute(attr, itemData.o.v);\n      }\n\n      if (itemData.s._mdf || isFirstFrame) {\n        var attr1 = styleData.t === 1 ? \"x1\" : \"cx\";\n        var attr2 = attr1 === \"x1\" ? \"y1\" : \"cy\";\n        gfill.setAttribute(attr1, pt1[0]);\n        gfill.setAttribute(attr2, pt1[1]);\n\n        if (hasOpacity && !itemData.g._collapsable) {\n          itemData.of.setAttribute(attr1, pt1[0]);\n          itemData.of.setAttribute(attr2, pt1[1]);\n        }\n      }\n\n      var stops;\n      var i;\n      var len;\n      var stop;\n\n      if (itemData.g._cmdf || isFirstFrame) {\n        stops = itemData.cst;\n        var cValues = itemData.g.c;\n        len = stops.length;\n\n        for (i = 0; i < len; i += 1) {\n          stop = stops[i];\n          stop.setAttribute(\"offset\", cValues[i * 4] + \"%\");\n          stop.setAttribute(\"stop-color\", \"rgb(\" + cValues[i * 4 + 1] + \",\" + cValues[i * 4 + 2] + \",\" + cValues[i * 4 + 3] + \")\");\n        }\n      }\n\n      if (hasOpacity && (itemData.g._omdf || isFirstFrame)) {\n        var oValues = itemData.g.o;\n\n        if (itemData.g._collapsable) {\n          stops = itemData.cst;\n        } else {\n          stops = itemData.ost;\n        }\n\n        len = stops.length;\n\n        for (i = 0; i < len; i += 1) {\n          stop = stops[i];\n\n          if (!itemData.g._collapsable) {\n            stop.setAttribute(\"offset\", oValues[i * 2] + \"%\");\n          }\n\n          stop.setAttribute(\"stop-opacity\", oValues[i * 2 + 1]);\n        }\n      }\n\n      if (styleData.t === 1) {\n        if (itemData.e._mdf || isFirstFrame) {\n          gfill.setAttribute(\"x2\", pt2[0]);\n          gfill.setAttribute(\"y2\", pt2[1]);\n\n          if (hasOpacity && !itemData.g._collapsable) {\n            itemData.of.setAttribute(\"x2\", pt2[0]);\n            itemData.of.setAttribute(\"y2\", pt2[1]);\n          }\n        }\n      } else {\n        var rad;\n\n        if (itemData.s._mdf || itemData.e._mdf || isFirstFrame) {\n          rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n          gfill.setAttribute(\"r\", rad);\n\n          if (hasOpacity && !itemData.g._collapsable) {\n            itemData.of.setAttribute(\"r\", rad);\n          }\n        }\n\n        if (itemData.e._mdf || itemData.h._mdf || itemData.a._mdf || isFirstFrame) {\n          if (!rad) {\n            rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n          }\n\n          var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n          var percent = itemData.h.v;\n\n          if (percent >= 1) {\n            percent = 0.99;\n          } else if (percent <= -1) {\n            percent = -0.99;\n          }\n\n          var dist = rad * percent;\n          var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n          var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n          gfill.setAttribute(\"fx\", x);\n          gfill.setAttribute(\"fy\", y);\n\n          if (hasOpacity && !itemData.g._collapsable) {\n            itemData.of.setAttribute(\"fx\", x);\n            itemData.of.setAttribute(\"fy\", y);\n          }\n        } // gfill.setAttribute('fy','200');\n\n      }\n    }\n\n    function renderStroke(styleData, itemData, isFirstFrame) {\n      var styleElem = itemData.style;\n      var d = itemData.d;\n\n      if (d && (d._mdf || isFirstFrame) && d.dashStr) {\n        styleElem.pElem.setAttribute(\"stroke-dasharray\", d.dashStr);\n        styleElem.pElem.setAttribute(\"stroke-dashoffset\", d.dashoffset[0]);\n      }\n\n      if (itemData.c && (itemData.c._mdf || isFirstFrame)) {\n        styleElem.pElem.setAttribute(\"stroke\", \"rgb(\" + bmFloor(itemData.c.v[0]) + \",\" + bmFloor(itemData.c.v[1]) + \",\" + bmFloor(itemData.c.v[2]) + \")\");\n      }\n\n      if (itemData.o._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute(\"stroke-opacity\", itemData.o.v);\n      }\n\n      if (itemData.w._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute(\"stroke-width\", itemData.w.v);\n\n        if (styleElem.msElem) {\n          styleElem.msElem.setAttribute(\"stroke-width\", itemData.w.v);\n        }\n      }\n    }\n\n    return ob;\n  }();\n  /* global Matrix */\n\n\n  function ShapeTransformManager() {\n    (this || _global).sequences = {};\n    (this || _global).sequenceList = [];\n    (this || _global).transform_key_count = 0;\n  }\n\n  ShapeTransformManager.prototype = {\n    addTransformSequence: function (transforms) {\n      var i;\n      var len = transforms.length;\n      var key = \"_\";\n\n      for (i = 0; i < len; i += 1) {\n        key += transforms[i].transform.key + \"_\";\n      }\n\n      var sequence = (this || _global).sequences[key];\n\n      if (!sequence) {\n        sequence = {\n          transforms: [].concat(transforms),\n          finalTransform: new Matrix(),\n          _mdf: false\n        };\n        (this || _global).sequences[key] = sequence;\n\n        (this || _global).sequenceList.push(sequence);\n      }\n\n      return sequence;\n    },\n    processSequence: function (sequence, isFirstFrame) {\n      var i = 0;\n      var len = sequence.transforms.length;\n      var _mdf = isFirstFrame;\n\n      while (i < len && !isFirstFrame) {\n        if (sequence.transforms[i].transform.mProps._mdf) {\n          _mdf = true;\n          break;\n        }\n\n        i += 1;\n      }\n\n      if (_mdf) {\n        var props;\n        sequence.finalTransform.reset();\n\n        for (i = len - 1; i >= 0; i -= 1) {\n          props = sequence.transforms[i].transform.mProps.v.props;\n          sequence.finalTransform.transform(props[0], props[1], props[2], props[3], props[4], props[5], props[6], props[7], props[8], props[9], props[10], props[11], props[12], props[13], props[14], props[15]);\n        }\n      }\n\n      sequence._mdf = _mdf;\n    },\n    processSequences: function (isFirstFrame) {\n      var i;\n      var len = (this || _global).sequenceList.length;\n\n      for (i = 0; i < len; i += 1) {\n        this.processSequence((this || _global).sequenceList[i], isFirstFrame);\n      }\n    },\n    getNewKey: function () {\n      (this || _global).transform_key_count += 1;\n      return \"_\" + (this || _global).transform_key_count;\n    }\n  };\n  /* global ShapePropertyFactory, SVGShapeData */\n\n  function CVShapeData(element, data, styles, transformsManager) {\n    (this || _global).styledShapes = [];\n    (this || _global).tr = [0, 0, 0, 0, 0, 0];\n    var ty = 4;\n\n    if (data.ty === \"rc\") {\n      ty = 5;\n    } else if (data.ty === \"el\") {\n      ty = 6;\n    } else if (data.ty === \"sr\") {\n      ty = 7;\n    }\n\n    (this || _global).sh = ShapePropertyFactory.getShapeProp(element, data, ty, element);\n    var i;\n    var len = styles.length;\n    var styledShape;\n\n    for (i = 0; i < len; i += 1) {\n      if (!styles[i].closed) {\n        styledShape = {\n          transforms: transformsManager.addTransformSequence(styles[i].transforms),\n          trNodes: []\n        };\n\n        (this || _global).styledShapes.push(styledShape);\n\n        styles[i].elements.push(styledShape);\n      }\n    }\n  }\n\n  CVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated;\n  /* global LayerExpressionInterface, EffectsExpressionInterface, CompExpressionInterface, ShapeExpressionInterface,\r\n  TextExpressionInterface, getBlendMode,createElementID, EffectsManager */\n\n  function BaseElement() {}\n\n  BaseElement.prototype = {\n    checkMasks: function () {\n      if (!(this || _global).data.hasMask) {\n        return false;\n      }\n\n      var i = 0;\n      var len = (this || _global).data.masksProperties.length;\n\n      while (i < len) {\n        if ((this || _global).data.masksProperties[i].mode !== \"n\" && (this || _global).data.masksProperties[i].cl !== false) {\n          return true;\n        }\n\n        i += 1;\n      }\n\n      return false;\n    },\n    initExpressions: function () {\n      (this || _global).layerInterface = LayerExpressionInterface(this || _global);\n\n      if ((this || _global).data.hasMask && (this || _global).maskManager) {\n        (this || _global).layerInterface.registerMaskInterface((this || _global).maskManager);\n      }\n\n      var effectsInterface = EffectsExpressionInterface.createEffectsInterface(this || _global, (this || _global).layerInterface);\n\n      (this || _global).layerInterface.registerEffectsInterface(effectsInterface);\n\n      if ((this || _global).data.ty === 0 || (this || _global).data.xt) {\n        (this || _global).compInterface = CompExpressionInterface(this || _global);\n      } else if ((this || _global).data.ty === 4) {\n        (this || _global).layerInterface.shapeInterface = ShapeExpressionInterface((this || _global).shapesData, (this || _global).itemsData, (this || _global).layerInterface);\n        (this || _global).layerInterface.content = (this || _global).layerInterface.shapeInterface;\n      } else if ((this || _global).data.ty === 5) {\n        (this || _global).layerInterface.textInterface = TextExpressionInterface(this || _global);\n        (this || _global).layerInterface.text = (this || _global).layerInterface.textInterface;\n      }\n    },\n    setBlendMode: function () {\n      var blendModeValue = getBlendMode((this || _global).data.bm);\n      var elem = (this || _global).baseElement || (this || _global).layerElement;\n      elem.style[\"mix-blend-mode\"] = blendModeValue;\n    },\n    initBaseData: function (data, globalData, comp) {\n      (this || _global).globalData = globalData;\n      (this || _global).comp = comp;\n      (this || _global).data = data;\n      (this || _global).layerId = createElementID(); // Stretch factor for old animations missing this property.\n\n      if (!(this || _global).data.sr) {\n        (this || _global).data.sr = 1;\n      } // effects manager\n\n\n      (this || _global).effectsManager = new EffectsManager((this || _global).data, this || _global, (this || _global).dynamicProperties);\n    },\n    getType: function () {\n      return (this || _global).type;\n    },\n    sourceRectAtTime: function () {}\n  };\n  /* global extendPrototype, BaseElement, TransformElement, HierarchyElement, FrameElement */\n\n  function NullElement(data, globalData, comp) {\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    this.initFrame();\n    this.initTransform(data, globalData, comp);\n    this.initHierarchy();\n  }\n\n  NullElement.prototype.prepareFrame = function (num) {\n    this.prepareProperties(num, true);\n  };\n\n  NullElement.prototype.renderFrame = function () {};\n\n  NullElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  NullElement.prototype.destroy = function () {};\n\n  NullElement.prototype.sourceRectAtTime = function () {};\n\n  NullElement.prototype.hide = function () {};\n\n  extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement], NullElement);\n  /* global filtersFactory, featureSupport, filtersFactory, createElementID, createNS, MaskElement, SVGEffects, locationHref */\n\n  function SVGBaseElement() {}\n\n  SVGBaseElement.prototype = {\n    initRendererElement: function () {\n      (this || _global).layerElement = createNS(\"g\");\n    },\n    createContainerElements: function () {\n      (this || _global).matteElement = createNS(\"g\");\n      (this || _global).transformedElement = (this || _global).layerElement;\n      (this || _global).maskedElement = (this || _global).layerElement;\n      (this || _global)._sizeChanged = false;\n      var layerElementParent = null; // If this layer acts as a mask for the following layer\n\n      var filId;\n      var fil;\n      var gg;\n\n      if ((this || _global).data.td) {\n        if ((this || _global).data.td == 3 || (this || _global).data.td == 1) {\n          // eslint-disable-line eqeqeq\n          var masker = createNS(\"mask\");\n          masker.setAttribute(\"id\", (this || _global).layerId);\n          masker.setAttribute(\"mask-type\", (this || _global).data.td == 3 ? \"luminance\" : \"alpha\"); // eslint-disable-line eqeqeq\n\n          masker.appendChild((this || _global).layerElement);\n          layerElementParent = masker;\n\n          (this || _global).globalData.defs.appendChild(masker); // This is only for IE and Edge when mask if of type alpha\n\n\n          if (!featureSupport.maskType && (this || _global).data.td == 1) {\n            // eslint-disable-line eqeqeq\n            masker.setAttribute(\"mask-type\", \"luminance\");\n            filId = createElementID();\n            fil = filtersFactory.createFilter(filId);\n\n            (this || _global).globalData.defs.appendChild(fil);\n\n            fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n            gg = createNS(\"g\");\n            gg.appendChild((this || _global).layerElement);\n            layerElementParent = gg;\n            masker.appendChild(gg);\n            gg.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + filId + \")\");\n          }\n        } else if ((this || _global).data.td == 2) {\n          // eslint-disable-line eqeqeq\n          var maskGroup = createNS(\"mask\");\n          maskGroup.setAttribute(\"id\", (this || _global).layerId);\n          maskGroup.setAttribute(\"mask-type\", \"alpha\");\n          var maskGrouper = createNS(\"g\");\n          maskGroup.appendChild(maskGrouper);\n          filId = createElementID();\n          fil = filtersFactory.createFilter(filId); /// /\n          // This solution doesn't work on Android when meta tag with viewport attribute is set\n\n          /* var feColorMatrix = createNS('feColorMatrix');\r\n                  feColorMatrix.setAttribute('type', 'matrix');\r\n                  feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\r\n                  feColorMatrix.setAttribute('values','1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 -1 1');\r\n                  fil.appendChild(feColorMatrix); */\n          /// /\n\n          var feCTr = createNS(\"feComponentTransfer\");\n          feCTr.setAttribute(\"in\", \"SourceGraphic\");\n          fil.appendChild(feCTr);\n          var feFunc = createNS(\"feFuncA\");\n          feFunc.setAttribute(\"type\", \"table\");\n          feFunc.setAttribute(\"tableValues\", \"1.0 0.0\");\n          feCTr.appendChild(feFunc); /// /\n\n          (this || _global).globalData.defs.appendChild(fil);\n\n          var alphaRect = createNS(\"rect\");\n          alphaRect.setAttribute(\"width\", (this || _global).comp.data.w);\n          alphaRect.setAttribute(\"height\", (this || _global).comp.data.h);\n          alphaRect.setAttribute(\"x\", \"0\");\n          alphaRect.setAttribute(\"y\", \"0\");\n          alphaRect.setAttribute(\"fill\", \"#ffffff\");\n          alphaRect.setAttribute(\"opacity\", \"0\");\n          maskGrouper.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + filId + \")\");\n          maskGrouper.appendChild(alphaRect);\n          maskGrouper.appendChild((this || _global).layerElement);\n          layerElementParent = maskGrouper;\n\n          if (!featureSupport.maskType) {\n            maskGroup.setAttribute(\"mask-type\", \"luminance\");\n            fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n            gg = createNS(\"g\");\n            maskGrouper.appendChild(alphaRect);\n            gg.appendChild((this || _global).layerElement);\n            layerElementParent = gg;\n            maskGrouper.appendChild(gg);\n          }\n\n          (this || _global).globalData.defs.appendChild(maskGroup);\n        }\n      } else if ((this || _global).data.tt) {\n        (this || _global).matteElement.appendChild((this || _global).layerElement);\n\n        layerElementParent = (this || _global).matteElement;\n        (this || _global).baseElement = (this || _global).matteElement;\n      } else {\n        (this || _global).baseElement = (this || _global).layerElement;\n      }\n\n      if ((this || _global).data.ln) {\n        (this || _global).layerElement.setAttribute(\"id\", (this || _global).data.ln);\n      }\n\n      if ((this || _global).data.cl) {\n        (this || _global).layerElement.setAttribute(\"class\", (this || _global).data.cl);\n      } // Clipping compositions to hide content that exceeds boundaries. If collapsed transformations is on, component should not be clipped\n\n\n      if ((this || _global).data.ty === 0 && !(this || _global).data.hd) {\n        var cp = createNS(\"clipPath\");\n        var pt = createNS(\"path\");\n        pt.setAttribute(\"d\", \"M0,0 L\" + (this || _global).data.w + \",0 L\" + (this || _global).data.w + \",\" + (this || _global).data.h + \" L0,\" + (this || _global).data.h + \"z\");\n        var clipId = createElementID();\n        cp.setAttribute(\"id\", clipId);\n        cp.appendChild(pt);\n\n        (this || _global).globalData.defs.appendChild(cp);\n\n        if (this.checkMasks()) {\n          var cpGroup = createNS(\"g\");\n          cpGroup.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + clipId + \")\");\n          cpGroup.appendChild((this || _global).layerElement);\n          (this || _global).transformedElement = cpGroup;\n\n          if (layerElementParent) {\n            layerElementParent.appendChild((this || _global).transformedElement);\n          } else {\n            (this || _global).baseElement = (this || _global).transformedElement;\n          }\n        } else {\n          (this || _global).layerElement.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + clipId + \")\");\n        }\n      }\n\n      if ((this || _global).data.bm !== 0) {\n        this.setBlendMode();\n      }\n    },\n    renderElement: function () {\n      if ((this || _global).finalTransform._matMdf) {\n        (this || _global).transformedElement.setAttribute(\"transform\", (this || _global).finalTransform.mat.to2dCSS());\n      }\n\n      if ((this || _global).finalTransform._opMdf) {\n        (this || _global).transformedElement.setAttribute(\"opacity\", (this || _global).finalTransform.mProp.o.v);\n      }\n    },\n    destroyBaseElement: function () {\n      (this || _global).layerElement = null;\n      (this || _global).matteElement = null;\n\n      (this || _global).maskManager.destroy();\n    },\n    getBaseElement: function () {\n      if ((this || _global).data.hd) {\n        return null;\n      }\n\n      return (this || _global).baseElement;\n    },\n    createRenderableComponents: function () {\n      (this || _global).maskManager = new MaskElement((this || _global).data, this || _global, (this || _global).globalData);\n      (this || _global).renderableEffectsManager = new SVGEffects(this || _global);\n    },\n    setMatte: function (id) {\n      if (!(this || _global).matteElement) {\n        return;\n      }\n\n      (this || _global).matteElement.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + id + \")\");\n    }\n  };\n  /* global ProcessedElement */\n\n  function IShapeElement() {}\n\n  IShapeElement.prototype = {\n    addShapeToModifiers: function (data) {\n      var i;\n      var len = (this || _global).shapeModifiers.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).shapeModifiers[i].addShape(data);\n      }\n    },\n    isShapeInAnimatedModifiers: function (data) {\n      var i = 0;\n      var len = (this || _global).shapeModifiers.length;\n\n      while (i < len) {\n        if ((this || _global).shapeModifiers[i].isAnimatedWithShape(data)) {\n          return true;\n        }\n      }\n\n      return false;\n    },\n    renderModifiers: function () {\n      if (!(this || _global).shapeModifiers.length) {\n        return;\n      }\n\n      var i;\n      var len = (this || _global).shapes.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).shapes[i].sh.reset();\n      }\n\n      len = (this || _global).shapeModifiers.length;\n      var shouldBreakProcess;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        shouldBreakProcess = (this || _global).shapeModifiers[i].processShapes((this || _global)._isFirstFrame); // workaround to fix cases where a repeater resets the shape so the following processes get called twice\n        // TODO: find a better solution for this\n\n        if (shouldBreakProcess) {\n          break;\n        }\n      }\n    },\n    lcEnum: {\n      1: \"butt\",\n      2: \"round\",\n      3: \"square\"\n    },\n    ljEnum: {\n      1: \"miter\",\n      2: \"round\",\n      3: \"bevel\"\n    },\n    searchProcessedElement: function (elem) {\n      var elements = (this || _global).processedElements;\n      var i = 0;\n      var len = elements.length;\n\n      while (i < len) {\n        if (elements[i].elem === elem) {\n          return elements[i].pos;\n        }\n\n        i += 1;\n      }\n\n      return 0;\n    },\n    addProcessedElement: function (elem, pos) {\n      var elements = (this || _global).processedElements;\n      var i = elements.length;\n\n      while (i) {\n        i -= 1;\n\n        if (elements[i].elem === elem) {\n          elements[i].pos = pos;\n          return;\n        }\n      }\n\n      elements.push(new ProcessedElement(elem, pos));\n    },\n    prepareFrame: function (num) {\n      this.prepareRenderableFrame(num);\n      this.prepareProperties(num, (this || _global).isInRange);\n    }\n  };\n  /* global TextProperty, TextAnimatorProperty, buildShapeString, LetterProps */\n\n  function ITextElement() {}\n\n  ITextElement.prototype.initElement = function (data, globalData, comp) {\n    (this || _global).lettersChangedFlag = true;\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    (this || _global).textProperty = new TextProperty(this || _global, data.t, (this || _global).dynamicProperties);\n    (this || _global).textAnimator = new TextAnimatorProperty(data.t, (this || _global).renderType, this || _global);\n    this.initTransform(data, globalData, comp);\n    this.initHierarchy();\n    this.initRenderable();\n    this.initRendererElement();\n    this.createContainerElements();\n    this.createRenderableComponents();\n    this.createContent();\n    this.hide();\n\n    (this || _global).textAnimator.searchProperties((this || _global).dynamicProperties);\n  };\n\n  ITextElement.prototype.prepareFrame = function (num) {\n    (this || _global)._mdf = false;\n    this.prepareRenderableFrame(num);\n    this.prepareProperties(num, (this || _global).isInRange);\n\n    if ((this || _global).textProperty._mdf || (this || _global).textProperty._isFirstFrame) {\n      this.buildNewText();\n      (this || _global).textProperty._isFirstFrame = false;\n      (this || _global).textProperty._mdf = false;\n    }\n  };\n\n  ITextElement.prototype.createPathShape = function (matrixHelper, shapes) {\n    var j;\n    var jLen = shapes.length;\n    var pathNodes;\n    var shapeStr = \"\";\n\n    for (j = 0; j < jLen; j += 1) {\n      pathNodes = shapes[j].ks.k;\n      shapeStr += buildShapeString(pathNodes, pathNodes.i.length, true, matrixHelper);\n    }\n\n    return shapeStr;\n  };\n\n  ITextElement.prototype.updateDocumentData = function (newData, index) {\n    (this || _global).textProperty.updateDocumentData(newData, index);\n  };\n\n  ITextElement.prototype.canResizeFont = function (_canResize) {\n    (this || _global).textProperty.canResizeFont(_canResize);\n  };\n\n  ITextElement.prototype.setMinimumFontSize = function (_fontSize) {\n    (this || _global).textProperty.setMinimumFontSize(_fontSize);\n  };\n\n  ITextElement.prototype.applyTextPropertiesToMatrix = function (documentData, matrixHelper, lineNumber, xPos, yPos) {\n    if (documentData.ps) {\n      matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n    }\n\n    matrixHelper.translate(0, -documentData.ls, 0);\n\n    switch (documentData.j) {\n      case 1:\n        matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]), 0, 0);\n        break;\n\n      case 2:\n        matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]) / 2, 0, 0);\n        break;\n\n      default:\n        break;\n    }\n\n    matrixHelper.translate(xPos, yPos, 0);\n  };\n\n  ITextElement.prototype.buildColor = function (colorData) {\n    return \"rgb(\" + Math.round(colorData[0] * 255) + \",\" + Math.round(colorData[1] * 255) + \",\" + Math.round(colorData[2] * 255) + \")\";\n  };\n\n  ITextElement.prototype.emptyProp = new LetterProps();\n\n  ITextElement.prototype.destroy = function () {};\n  /* global extendPrototype, BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement */\n\n\n  function ICompElement() {}\n\n  extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement], ICompElement);\n\n  ICompElement.prototype.initElement = function (data, globalData, comp) {\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    this.initTransform(data, globalData, comp);\n    this.initRenderable();\n    this.initHierarchy();\n    this.initRendererElement();\n    this.createContainerElements();\n    this.createRenderableComponents();\n\n    if ((this || _global).data.xt || !globalData.progressiveLoad) {\n      this.buildAllItems();\n    }\n\n    this.hide();\n  };\n  /* ICompElement.prototype.hide = function(){\r\n      if(!this.hidden){\r\n          this.hideElement();\r\n          var i,len = this.elements.length;\r\n          for( i = 0; i < len; i+=1 ){\r\n              if(this.elements[i]){\r\n                  this.elements[i].hide();\r\n              }\r\n          }\r\n      }\r\n  }; */\n\n\n  ICompElement.prototype.prepareFrame = function (num) {\n    (this || _global)._mdf = false;\n    this.prepareRenderableFrame(num);\n    this.prepareProperties(num, (this || _global).isInRange);\n\n    if (!(this || _global).isInRange && !(this || _global).data.xt) {\n      return;\n    }\n\n    if (!(this || _global).tm._placeholder) {\n      var timeRemapped = (this || _global).tm.v;\n\n      if (timeRemapped === (this || _global).data.op) {\n        timeRemapped = (this || _global).data.op - 1;\n      }\n\n      (this || _global).renderedFrame = timeRemapped;\n    } else {\n      (this || _global).renderedFrame = num / (this || _global).data.sr;\n    }\n\n    var i;\n    var len = (this || _global).elements.length;\n\n    if (!(this || _global).completeLayers) {\n      this.checkLayers((this || _global).renderedFrame);\n    } // This iteration needs to be backwards because of how expressions connect between each other\n\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].prepareFrame((this || _global).renderedFrame - (this || _global).layers[i].st);\n\n        if ((this || _global).elements[i]._mdf) {\n          (this || _global)._mdf = true;\n        }\n      }\n    }\n  };\n\n  ICompElement.prototype.renderInnerContent = function () {\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].renderFrame();\n      }\n    }\n  };\n\n  ICompElement.prototype.setElements = function (elems) {\n    (this || _global).elements = elems;\n  };\n\n  ICompElement.prototype.getElements = function () {\n    return (this || _global).elements;\n  };\n\n  ICompElement.prototype.destroyElements = function () {\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).elements[i]) {\n        (this || _global).elements[i].destroy();\n      }\n    }\n  };\n\n  ICompElement.prototype.destroy = function () {\n    this.destroyElements();\n    this.destroyBaseElement();\n  };\n  /* global extendPrototype, BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, createNS */\n\n\n  function IImageElement(data, globalData, comp) {\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    this.initElement(data, globalData, comp);\n    (this || _global).sourceRect = {\n      top: 0,\n      left: 0,\n      width: (this || _global).assetData.w,\n      height: (this || _global).assetData.h\n    };\n  }\n\n  extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], IImageElement);\n\n  IImageElement.prototype.createContent = function () {\n    var assetPath = (this || _global).globalData.getAssetsPath((this || _global).assetData);\n\n    (this || _global).innerElem = createNS(\"image\");\n\n    (this || _global).innerElem.setAttribute(\"width\", (this || _global).assetData.w + \"px\");\n\n    (this || _global).innerElem.setAttribute(\"height\", (this || _global).assetData.h + \"px\");\n\n    (this || _global).innerElem.setAttribute(\"preserveAspectRatio\", (this || _global).assetData.pr || (this || _global).globalData.renderConfig.imagePreserveAspectRatio);\n\n    (this || _global).innerElem.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", assetPath);\n\n    (this || _global).layerElement.appendChild((this || _global).innerElem);\n  };\n\n  IImageElement.prototype.sourceRectAtTime = function () {\n    return (this || _global).sourceRect;\n  };\n  /* global extendPrototype, IImageElement, createNS */\n\n\n  function ISolidElement(data, globalData, comp) {\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([IImageElement], ISolidElement);\n\n  ISolidElement.prototype.createContent = function () {\n    var rect = createNS(\"rect\"); /// /rect.style.width = this.data.sw;\n    /// /rect.style.height = this.data.sh;\n    /// /rect.style.fill = this.data.sc;\n\n    rect.setAttribute(\"width\", (this || _global).data.sw);\n    rect.setAttribute(\"height\", (this || _global).data.sh);\n    rect.setAttribute(\"fill\", (this || _global).data.sc);\n\n    (this || _global).layerElement.appendChild(rect);\n  };\n  /* global PropertyFactory, extendPrototype, RenderableElement, BaseElement, FrameElement */\n\n\n  function AudioElement(data, globalData, comp) {\n    this.initFrame();\n    this.initRenderable();\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    this.initBaseData(data, globalData, comp);\n    (this || _global)._isPlaying = false;\n    (this || _global)._canPlay = false;\n\n    var assetPath = (this || _global).globalData.getAssetsPath((this || _global).assetData);\n\n    (this || _global).audio = (this || _global).globalData.audioController.createAudio(assetPath);\n    (this || _global)._currentTime = 0;\n\n    (this || _global).globalData.audioController.addAudio(this || _global);\n\n    (this || _global).tm = data.tm ? PropertyFactory.getProp(this || _global, data.tm, 0, globalData.frameRate, this || _global) : {\n      _placeholder: true\n    };\n  }\n\n  AudioElement.prototype.prepareFrame = function (num) {\n    this.prepareRenderableFrame(num, true);\n    this.prepareProperties(num, true);\n\n    if (!(this || _global).tm._placeholder) {\n      var timeRemapped = (this || _global).tm.v;\n      (this || _global)._currentTime = timeRemapped;\n    } else {\n      (this || _global)._currentTime = num / (this || _global).data.sr;\n    }\n  };\n\n  extendPrototype([RenderableElement, BaseElement, FrameElement], AudioElement);\n\n  AudioElement.prototype.renderFrame = function () {\n    if ((this || _global).isInRange && (this || _global)._canPlay) {\n      if (!(this || _global)._isPlaying) {\n        (this || _global).audio.play();\n\n        (this || _global).audio.seek((this || _global)._currentTime / (this || _global).globalData.frameRate);\n\n        (this || _global)._isPlaying = true;\n      } else if (!(this || _global).audio.playing() || Math.abs((this || _global)._currentTime / (this || _global).globalData.frameRate - (this || _global).audio.seek()) > 0.1) {\n        (this || _global).audio.seek((this || _global)._currentTime / (this || _global).globalData.frameRate);\n      }\n    }\n  };\n\n  AudioElement.prototype.show = function () {// this.audio.play()\n  };\n\n  AudioElement.prototype.hide = function () {\n    (this || _global).audio.pause();\n\n    (this || _global)._isPlaying = false;\n  };\n\n  AudioElement.prototype.pause = function () {\n    (this || _global).audio.pause();\n\n    (this || _global)._isPlaying = false;\n    (this || _global)._canPlay = false;\n  };\n\n  AudioElement.prototype.resume = function () {\n    (this || _global)._canPlay = true;\n  };\n\n  AudioElement.prototype.setRate = function (rateValue) {\n    (this || _global).audio.rate(rateValue);\n  };\n\n  AudioElement.prototype.volume = function (volumeValue) {\n    (this || _global).audio.volume(volumeValue);\n  };\n\n  AudioElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  AudioElement.prototype.destroy = function () {};\n\n  AudioElement.prototype.sourceRectAtTime = function () {};\n\n  AudioElement.prototype.initExpressions = function () {};\n  /* global extendPrototype, RenderableElement, BaseElement, FrameElement, FootageInterface */\n\n\n  function FootageElement(data, globalData, comp) {\n    this.initFrame();\n    this.initRenderable();\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    (this || _global).footageData = globalData.imageLoader.getAsset((this || _global).assetData);\n    this.initBaseData(data, globalData, comp);\n  }\n\n  FootageElement.prototype.prepareFrame = function () {};\n\n  extendPrototype([RenderableElement, BaseElement, FrameElement], FootageElement);\n\n  FootageElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  FootageElement.prototype.renderFrame = function () {};\n\n  FootageElement.prototype.destroy = function () {};\n\n  FootageElement.prototype.initExpressions = function () {\n    (this || _global).layerInterface = FootageInterface(this || _global);\n  };\n\n  FootageElement.prototype.getFootageData = function () {\n    return (this || _global).footageData;\n  };\n  /* global createSizedArray, PropertyFactory, extendPrototype, SVGRenderer, ICompElement, SVGBaseElement */\n\n\n  function SVGCompElement(data, globalData, comp) {\n    (this || _global).layers = data.layers;\n    (this || _global).supports3d = true;\n    (this || _global).completeLayers = false;\n    (this || _global).pendingElements = [];\n    (this || _global).elements = (this || _global).layers ? createSizedArray((this || _global).layers.length) : []; // this.layerElement = createNS('g');\n\n    this.initElement(data, globalData, comp);\n    (this || _global).tm = data.tm ? PropertyFactory.getProp(this || _global, data.tm, 0, globalData.frameRate, this || _global) : {\n      _placeholder: true\n    };\n  }\n\n  extendPrototype([SVGRenderer, ICompElement, SVGBaseElement], SVGCompElement);\n  /* global extendPrototype, BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement,\r\n  RenderableDOMElement, ITextElement, createSizedArray, createNS */\n\n  function SVGTextLottieElement(data, globalData, comp) {\n    (this || _global).textSpans = [];\n    (this || _global).renderType = \"svg\";\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], SVGTextLottieElement);\n\n  SVGTextLottieElement.prototype.createContent = function () {\n    if ((this || _global).data.singleShape && !(this || _global).globalData.fontManager.chars) {\n      (this || _global).textContainer = createNS(\"text\");\n    }\n  };\n\n  SVGTextLottieElement.prototype.buildTextContents = function (textArray) {\n    var i = 0;\n    var len = textArray.length;\n    var textContents = [];\n    var currentTextContent = \"\";\n\n    while (i < len) {\n      if (textArray[i] === String.fromCharCode(13) || textArray[i] === String.fromCharCode(3)) {\n        textContents.push(currentTextContent);\n        currentTextContent = \"\";\n      } else {\n        currentTextContent += textArray[i];\n      }\n\n      i += 1;\n    }\n\n    textContents.push(currentTextContent);\n    return textContents;\n  };\n\n  SVGTextLottieElement.prototype.buildNewText = function () {\n    var i;\n    var len;\n    var documentData = (this || _global).textProperty.currentData;\n    (this || _global).renderedLetters = createSizedArray(documentData ? documentData.l.length : 0);\n\n    if (documentData.fc) {\n      (this || _global).layerElement.setAttribute(\"fill\", this.buildColor(documentData.fc));\n    } else {\n      (this || _global).layerElement.setAttribute(\"fill\", \"rgba(0,0,0,0)\");\n    }\n\n    if (documentData.sc) {\n      (this || _global).layerElement.setAttribute(\"stroke\", this.buildColor(documentData.sc));\n\n      (this || _global).layerElement.setAttribute(\"stroke-width\", documentData.sw);\n    }\n\n    (this || _global).layerElement.setAttribute(\"font-size\", documentData.finalSize);\n\n    var fontData = (this || _global).globalData.fontManager.getFontByName(documentData.f);\n\n    if (fontData.fClass) {\n      (this || _global).layerElement.setAttribute(\"class\", fontData.fClass);\n    } else {\n      (this || _global).layerElement.setAttribute(\"font-family\", fontData.fFamily);\n\n      var fWeight = documentData.fWeight;\n      var fStyle = documentData.fStyle;\n\n      (this || _global).layerElement.setAttribute(\"font-style\", fStyle);\n\n      (this || _global).layerElement.setAttribute(\"font-weight\", fWeight);\n    }\n\n    (this || _global).layerElement.setAttribute(\"aria-label\", documentData.t);\n\n    var letters = documentData.l || [];\n    var usesGlyphs = !!(this || _global).globalData.fontManager.chars;\n    len = letters.length;\n    var tSpan;\n    var matrixHelper = (this || _global).mHelper;\n    var shapes;\n    var shapeStr = \"\";\n    var singleShape = (this || _global).data.singleShape;\n    var xPos = 0;\n    var yPos = 0;\n    var firstLine = true;\n    var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n\n    if (singleShape && !usesGlyphs && !documentData.sz) {\n      var tElement = (this || _global).textContainer;\n      var justify = \"start\";\n\n      switch (documentData.j) {\n        case 1:\n          justify = \"end\";\n          break;\n\n        case 2:\n          justify = \"middle\";\n          break;\n\n        default:\n          justify = \"start\";\n          break;\n      }\n\n      tElement.setAttribute(\"text-anchor\", justify);\n      tElement.setAttribute(\"letter-spacing\", trackingOffset);\n      var textContent = this.buildTextContents(documentData.finalText);\n      len = textContent.length;\n      yPos = documentData.ps ? documentData.ps[1] + documentData.ascent : 0;\n\n      for (i = 0; i < len; i += 1) {\n        tSpan = (this || _global).textSpans[i] || createNS(\"tspan\");\n        tSpan.textContent = textContent[i];\n        tSpan.setAttribute(\"x\", 0);\n        tSpan.setAttribute(\"y\", yPos);\n        tSpan.style.display = \"inherit\";\n        tElement.appendChild(tSpan);\n        (this || _global).textSpans[i] = tSpan;\n        yPos += documentData.finalLineHeight;\n      }\n\n      (this || _global).layerElement.appendChild(tElement);\n    } else {\n      var cachedSpansLength = (this || _global).textSpans.length;\n      var shapeData;\n      var charData;\n\n      for (i = 0; i < len; i += 1) {\n        if (!usesGlyphs || !singleShape || i === 0) {\n          tSpan = cachedSpansLength > i ? (this || _global).textSpans[i] : createNS(usesGlyphs ? \"path\" : \"text\");\n\n          if (cachedSpansLength <= i) {\n            tSpan.setAttribute(\"stroke-linecap\", \"butt\");\n            tSpan.setAttribute(\"stroke-linejoin\", \"round\");\n            tSpan.setAttribute(\"stroke-miterlimit\", \"4\");\n            (this || _global).textSpans[i] = tSpan;\n\n            (this || _global).layerElement.appendChild(tSpan);\n          }\n\n          tSpan.style.display = \"inherit\";\n        }\n\n        matrixHelper.reset();\n        matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n\n        if (singleShape) {\n          if (letters[i].n) {\n            xPos = -trackingOffset;\n            yPos += documentData.yOffset;\n            yPos += firstLine ? 1 : 0;\n            firstLine = false;\n          }\n\n          this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n          xPos += letters[i].l || 0; // xPos += letters[i].val === ' ' ? 0 : trackingOffset;\n\n          xPos += trackingOffset;\n        }\n\n        if (usesGlyphs) {\n          charData = (this || _global).globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, (this || _global).globalData.fontManager.getFontByName(documentData.f).fFamily);\n          shapeData = charData && charData.data || {};\n          shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\n\n          if (!singleShape) {\n            tSpan.setAttribute(\"d\", this.createPathShape(matrixHelper, shapes));\n          } else {\n            shapeStr += this.createPathShape(matrixHelper, shapes);\n          }\n        } else {\n          if (singleShape) {\n            tSpan.setAttribute(\"transform\", \"translate(\" + matrixHelper.props[12] + \",\" + matrixHelper.props[13] + \")\");\n          }\n\n          tSpan.textContent = letters[i].val;\n          tSpan.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\");\n        } //\n\n      }\n\n      if (singleShape && tSpan) {\n        tSpan.setAttribute(\"d\", shapeStr);\n      }\n    }\n\n    while (i < (this || _global).textSpans.length) {\n      (this || _global).textSpans[i].style.display = \"none\";\n      i += 1;\n    }\n\n    (this || _global)._sizeChanged = true;\n  };\n\n  SVGTextLottieElement.prototype.sourceRectAtTime = function () {\n    this.prepareFrame((this || _global).comp.renderedFrame - (this || _global).data.st);\n    this.renderInnerContent();\n\n    if ((this || _global)._sizeChanged) {\n      (this || _global)._sizeChanged = false;\n\n      var textBox = (this || _global).layerElement.getBBox();\n\n      (this || _global).bbox = {\n        top: textBox.y,\n        left: textBox.x,\n        width: textBox.width,\n        height: textBox.height\n      };\n    }\n\n    return (this || _global).bbox;\n  };\n\n  SVGTextLottieElement.prototype.renderInnerContent = function () {\n    if (!(this || _global).data.singleShape) {\n      (this || _global).textAnimator.getMeasures((this || _global).textProperty.currentData, (this || _global).lettersChangedFlag);\n\n      if ((this || _global).lettersChangedFlag || (this || _global).textAnimator.lettersChangedFlag) {\n        (this || _global)._sizeChanged = true;\n        var i;\n        var len;\n        var renderedLetters = (this || _global).textAnimator.renderedLetters;\n        var letters = (this || _global).textProperty.currentData.l;\n        len = letters.length;\n        var renderedLetter;\n        var textSpan;\n\n        for (i = 0; i < len; i += 1) {\n          if (!letters[i].n) {\n            renderedLetter = renderedLetters[i];\n            textSpan = (this || _global).textSpans[i];\n\n            if (renderedLetter._mdf.m) {\n              textSpan.setAttribute(\"transform\", renderedLetter.m);\n            }\n\n            if (renderedLetter._mdf.o) {\n              textSpan.setAttribute(\"opacity\", renderedLetter.o);\n            }\n\n            if (renderedLetter._mdf.sw) {\n              textSpan.setAttribute(\"stroke-width\", renderedLetter.sw);\n            }\n\n            if (renderedLetter._mdf.sc) {\n              textSpan.setAttribute(\"stroke\", renderedLetter.sc);\n            }\n\n            if (renderedLetter._mdf.fc) {\n              textSpan.setAttribute(\"fill\", renderedLetter.fc);\n            }\n          }\n        }\n      }\n    }\n  };\n  /* global extendPrototype, BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement,\r\n  FrameElement, RenderableDOMElement, Matrix, SVGStyleData, SVGStrokeStyleData, SVGFillStyleData,\r\n  SVGGradientFillStyleData, SVGGradientStrokeStyleData, locationHref, getBlendMode, ShapeGroupData,\r\n  TransformPropertyFactory, SVGTransformData, ShapePropertyFactory, SVGShapeData, SVGElementsRenderer, ShapeModifiers */\n\n\n  function SVGShapeElement(data, globalData, comp) {\n    // List of drawable elements\n    (this || _global).shapes = []; // Full shape data\n\n    (this || _global).shapesData = data.shapes; // List of styles that will be applied to shapes\n\n    (this || _global).stylesList = []; // List of modifiers that will be applied to shapes\n\n    (this || _global).shapeModifiers = []; // List of items in shape tree\n\n    (this || _global).itemsData = []; // List of items in previous shape tree\n\n    (this || _global).processedElements = []; // List of animated components\n\n    (this || _global).animatedContents = [];\n    this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n    // List of elements that have been created\n\n    (this || _global).prevViewData = []; // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n  }\n\n  extendPrototype([BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableDOMElement], SVGShapeElement);\n\n  SVGShapeElement.prototype.initSecondaryElement = function () {};\n\n  SVGShapeElement.prototype.identityMatrix = new Matrix();\n\n  SVGShapeElement.prototype.buildExpressionInterface = function () {};\n\n  SVGShapeElement.prototype.createContent = function () {\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, (this || _global).layerElement, 0, [], true);\n    this.filterUniqueShapes();\n  };\n  /*\r\n  This method searches for multiple shapes that affect a single element and one of them is animated\r\n  */\n\n\n  SVGShapeElement.prototype.filterUniqueShapes = function () {\n    var i;\n    var len = (this || _global).shapes.length;\n    var shape;\n    var j;\n    var jLen = (this || _global).stylesList.length;\n    var style;\n    var tempShapes = [];\n    var areAnimated = false;\n\n    for (j = 0; j < jLen; j += 1) {\n      style = (this || _global).stylesList[j];\n      areAnimated = false;\n      tempShapes.length = 0;\n\n      for (i = 0; i < len; i += 1) {\n        shape = (this || _global).shapes[i];\n\n        if (shape.styles.indexOf(style) !== -1) {\n          tempShapes.push(shape);\n          areAnimated = shape._isAnimated || areAnimated;\n        }\n      }\n\n      if (tempShapes.length > 1 && areAnimated) {\n        this.setShapesAsAnimated(tempShapes);\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.setShapesAsAnimated = function (shapes) {\n    var i;\n    var len = shapes.length;\n\n    for (i = 0; i < len; i += 1) {\n      shapes[i].setAsAnimated();\n    }\n  };\n\n  SVGShapeElement.prototype.createStyleElement = function (data, level) {\n    // TODO: prevent drawing of hidden styles\n    var elementData;\n    var styleOb = new SVGStyleData(data, level);\n    var pathElement = styleOb.pElem;\n\n    if (data.ty === \"st\") {\n      elementData = new SVGStrokeStyleData(this || _global, data, styleOb);\n    } else if (data.ty === \"fl\") {\n      elementData = new SVGFillStyleData(this || _global, data, styleOb);\n    } else if (data.ty === \"gf\" || data.ty === \"gs\") {\n      var GradientConstructor = data.ty === \"gf\" ? SVGGradientFillStyleData : SVGGradientStrokeStyleData;\n      elementData = new GradientConstructor(this || _global, data, styleOb);\n\n      (this || _global).globalData.defs.appendChild(elementData.gf);\n\n      if (elementData.maskId) {\n        (this || _global).globalData.defs.appendChild(elementData.ms);\n\n        (this || _global).globalData.defs.appendChild(elementData.of);\n\n        pathElement.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + elementData.maskId + \")\");\n      }\n    }\n\n    if (data.ty === \"st\" || data.ty === \"gs\") {\n      pathElement.setAttribute(\"stroke-linecap\", (this || _global).lcEnum[data.lc] || \"round\");\n      pathElement.setAttribute(\"stroke-linejoin\", (this || _global).ljEnum[data.lj] || \"round\");\n      pathElement.setAttribute(\"fill-opacity\", \"0\");\n\n      if (data.lj === 1) {\n        pathElement.setAttribute(\"stroke-miterlimit\", data.ml);\n      }\n    }\n\n    if (data.r === 2) {\n      pathElement.setAttribute(\"fill-rule\", \"evenodd\");\n    }\n\n    if (data.ln) {\n      pathElement.setAttribute(\"id\", data.ln);\n    }\n\n    if (data.cl) {\n      pathElement.setAttribute(\"class\", data.cl);\n    }\n\n    if (data.bm) {\n      pathElement.style[\"mix-blend-mode\"] = getBlendMode(data.bm);\n    }\n\n    (this || _global).stylesList.push(styleOb);\n\n    this.addToAnimatedContents(data, elementData);\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.createGroupElement = function (data) {\n    var elementData = new ShapeGroupData();\n\n    if (data.ln) {\n      elementData.gr.setAttribute(\"id\", data.ln);\n    }\n\n    if (data.cl) {\n      elementData.gr.setAttribute(\"class\", data.cl);\n    }\n\n    if (data.bm) {\n      elementData.gr.style[\"mix-blend-mode\"] = getBlendMode(data.bm);\n    }\n\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.createTransformElement = function (data, container) {\n    var transformProperty = TransformPropertyFactory.getTransformProperty(this || _global, data, this || _global);\n    var elementData = new SVGTransformData(transformProperty, transformProperty.o, container);\n    this.addToAnimatedContents(data, elementData);\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.createShapeElement = function (data, ownTransformers, level) {\n    var ty = 4;\n\n    if (data.ty === \"rc\") {\n      ty = 5;\n    } else if (data.ty === \"el\") {\n      ty = 6;\n    } else if (data.ty === \"sr\") {\n      ty = 7;\n    }\n\n    var shapeProperty = ShapePropertyFactory.getShapeProp(this || _global, data, ty, this || _global);\n    var elementData = new SVGShapeData(ownTransformers, level, shapeProperty);\n\n    (this || _global).shapes.push(elementData);\n\n    this.addShapeToModifiers(elementData);\n    this.addToAnimatedContents(data, elementData);\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.addToAnimatedContents = function (data, element) {\n    var i = 0;\n    var len = (this || _global).animatedContents.length;\n\n    while (i < len) {\n      if ((this || _global).animatedContents[i].element === element) {\n        return;\n      }\n\n      i += 1;\n    }\n\n    (this || _global).animatedContents.push({\n      fn: SVGElementsRenderer.createRenderFunction(data),\n      element: element,\n      data: data\n    });\n  };\n\n  SVGShapeElement.prototype.setElementStyles = function (elementData) {\n    var arr = elementData.styles;\n    var j;\n    var jLen = (this || _global).stylesList.length;\n\n    for (j = 0; j < jLen; j += 1) {\n      if (!(this || _global).stylesList[j].closed) {\n        arr.push((this || _global).stylesList[j]);\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.reloadShapes = function () {\n    (this || _global)._isFirstFrame = true;\n    var i;\n    var len = (this || _global).itemsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).prevViewData[i] = (this || _global).itemsData[i];\n    }\n\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, (this || _global).layerElement, 0, [], true);\n    this.filterUniqueShapes();\n    len = (this || _global).dynamicProperties.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).dynamicProperties[i].getValue();\n    }\n\n    this.renderModifiers();\n  };\n\n  SVGShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, container, level, transformers, render) {\n    var ownTransformers = [].concat(transformers);\n    var i;\n    var len = arr.length - 1;\n    var j;\n    var jLen;\n    var ownStyles = [];\n    var ownModifiers = [];\n    var currentTransform;\n    var modifier;\n    var processedPos;\n\n    for (i = len; i >= 0; i -= 1) {\n      processedPos = this.searchProcessedElement(arr[i]);\n\n      if (!processedPos) {\n        arr[i]._render = render;\n      } else {\n        itemsData[i] = prevViewData[processedPos - 1];\n      }\n\n      if (arr[i].ty === \"fl\" || arr[i].ty === \"st\" || arr[i].ty === \"gf\" || arr[i].ty === \"gs\") {\n        if (!processedPos) {\n          itemsData[i] = this.createStyleElement(arr[i], level);\n        } else {\n          itemsData[i].style.closed = false;\n        }\n\n        if (arr[i]._render) {\n          container.appendChild(itemsData[i].style.pElem);\n        }\n\n        ownStyles.push(itemsData[i].style);\n      } else if (arr[i].ty === \"gr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createGroupElement(arr[i]);\n        } else {\n          jLen = itemsData[i].it.length;\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsData[i].prevViewData[j] = itemsData[i].it[j];\n          }\n        }\n\n        this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, itemsData[i].gr, level + 1, ownTransformers, render);\n\n        if (arr[i]._render) {\n          container.appendChild(itemsData[i].gr);\n        }\n      } else if (arr[i].ty === \"tr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createTransformElement(arr[i], container);\n        }\n\n        currentTransform = itemsData[i].transform;\n        ownTransformers.push(currentTransform);\n      } else if (arr[i].ty === \"sh\" || arr[i].ty === \"rc\" || arr[i].ty === \"el\" || arr[i].ty === \"sr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createShapeElement(arr[i], ownTransformers, level);\n        }\n\n        this.setElementStyles(itemsData[i]);\n      } else if (arr[i].ty === \"tm\" || arr[i].ty === \"rd\" || arr[i].ty === \"ms\" || arr[i].ty === \"pb\") {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          modifier.init(this || _global, arr[i]);\n          itemsData[i] = modifier;\n\n          (this || _global).shapeModifiers.push(modifier);\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = false;\n        }\n\n        ownModifiers.push(modifier);\n      } else if (arr[i].ty === \"rp\") {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          itemsData[i] = modifier;\n          modifier.init(this || _global, arr, i, itemsData);\n\n          (this || _global).shapeModifiers.push(modifier);\n\n          render = false;\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = true;\n        }\n\n        ownModifiers.push(modifier);\n      }\n\n      this.addProcessedElement(arr[i], i + 1);\n    }\n\n    len = ownStyles.length;\n\n    for (i = 0; i < len; i += 1) {\n      ownStyles[i].closed = true;\n    }\n\n    len = ownModifiers.length;\n\n    for (i = 0; i < len; i += 1) {\n      ownModifiers[i].closed = true;\n    }\n  };\n\n  SVGShapeElement.prototype.renderInnerContent = function () {\n    this.renderModifiers();\n    var i;\n    var len = (this || _global).stylesList.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).stylesList[i].reset();\n    }\n\n    this.renderShape();\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).stylesList[i]._mdf || (this || _global)._isFirstFrame) {\n        if ((this || _global).stylesList[i].msElem) {\n          (this || _global).stylesList[i].msElem.setAttribute(\"d\", (this || _global).stylesList[i].d); // Adding M0 0 fixes same mask bug on all browsers\n\n\n          (this || _global).stylesList[i].d = \"M0 0\" + (this || _global).stylesList[i].d;\n        }\n\n        (this || _global).stylesList[i].pElem.setAttribute(\"d\", (this || _global).stylesList[i].d || \"M0 0\");\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.renderShape = function () {\n    var i;\n    var len = (this || _global).animatedContents.length;\n    var animatedContent;\n\n    for (i = 0; i < len; i += 1) {\n      animatedContent = (this || _global).animatedContents[i];\n\n      if (((this || _global)._isFirstFrame || animatedContent.element._isAnimated) && animatedContent.data !== true) {\n        animatedContent.fn(animatedContent.data, animatedContent.element, (this || _global)._isFirstFrame);\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.destroy = function () {\n    this.destroyBaseElement();\n    (this || _global).shapesData = null;\n    (this || _global).itemsData = null;\n  };\n  /* global createNS */\n\n\n  function SVGTintFilter(filter, filterManager) {\n    (this || _global).filterManager = filterManager;\n    var feColorMatrix = createNS(\"feColorMatrix\");\n    feColorMatrix.setAttribute(\"type\", \"matrix\");\n    feColorMatrix.setAttribute(\"color-interpolation-filters\", \"linearRGB\");\n    feColorMatrix.setAttribute(\"values\", \"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\");\n    feColorMatrix.setAttribute(\"result\", \"f1\");\n    filter.appendChild(feColorMatrix);\n    feColorMatrix = createNS(\"feColorMatrix\");\n    feColorMatrix.setAttribute(\"type\", \"matrix\");\n    feColorMatrix.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n    feColorMatrix.setAttribute(\"values\", \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\");\n    feColorMatrix.setAttribute(\"result\", \"f2\");\n    filter.appendChild(feColorMatrix);\n    (this || _global).matrixFilter = feColorMatrix;\n\n    if (filterManager.effectElements[2].p.v !== 100 || filterManager.effectElements[2].p.k) {\n      var feMerge = createNS(\"feMerge\");\n      filter.appendChild(feMerge);\n      var feMergeNode;\n      feMergeNode = createNS(\"feMergeNode\");\n      feMergeNode.setAttribute(\"in\", \"SourceGraphic\");\n      feMerge.appendChild(feMergeNode);\n      feMergeNode = createNS(\"feMergeNode\");\n      feMergeNode.setAttribute(\"in\", \"f2\");\n      feMerge.appendChild(feMergeNode);\n    }\n  }\n\n  SVGTintFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      var colorBlack = (this || _global).filterManager.effectElements[0].p.v;\n      var colorWhite = (this || _global).filterManager.effectElements[1].p.v;\n      var opacity = (this || _global).filterManager.effectElements[2].p.v / 100;\n\n      (this || _global).matrixFilter.setAttribute(\"values\", colorWhite[0] - colorBlack[0] + \" 0 0 0 \" + colorBlack[0] + \" \" + (colorWhite[1] - colorBlack[1]) + \" 0 0 0 \" + colorBlack[1] + \" \" + (colorWhite[2] - colorBlack[2]) + \" 0 0 0 \" + colorBlack[2] + \" 0 0 0 \" + opacity + \" 0\");\n    }\n  };\n  /* global createNS */\n\n\n  function SVGFillFilter(filter, filterManager) {\n    (this || _global).filterManager = filterManager;\n    var feColorMatrix = createNS(\"feColorMatrix\");\n    feColorMatrix.setAttribute(\"type\", \"matrix\");\n    feColorMatrix.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n    feColorMatrix.setAttribute(\"values\", \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\");\n    filter.appendChild(feColorMatrix);\n    (this || _global).matrixFilter = feColorMatrix;\n  }\n\n  SVGFillFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      var color = (this || _global).filterManager.effectElements[2].p.v;\n      var opacity = (this || _global).filterManager.effectElements[6].p.v;\n\n      (this || _global).matrixFilter.setAttribute(\"values\", \"0 0 0 0 \" + color[0] + \" 0 0 0 0 \" + color[1] + \" 0 0 0 0 \" + color[2] + \" 0 0 0 \" + opacity + \" 0\");\n    }\n  };\n  /* global createNS */\n\n\n  function SVGGaussianBlurEffect(filter, filterManager) {\n    // Outset the filter region by 100% on all sides to accommodate blur expansion.\n    filter.setAttribute(\"x\", \"-100%\");\n    filter.setAttribute(\"y\", \"-100%\");\n    filter.setAttribute(\"width\", \"300%\");\n    filter.setAttribute(\"height\", \"300%\");\n    (this || _global).filterManager = filterManager;\n    var feGaussianBlur = createNS(\"feGaussianBlur\");\n    filter.appendChild(feGaussianBlur);\n    (this || _global).feGaussianBlur = feGaussianBlur;\n  }\n\n  SVGGaussianBlurEffect.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      // Empirical value, matching AE's blur appearance.\n      var kBlurrinessToSigma = 0.3;\n      var sigma = (this || _global).filterManager.effectElements[0].p.v * kBlurrinessToSigma; // Dimensions mapping:\n      //\n      //   1 -> horizontal & vertical\n      //   2 -> horizontal only\n      //   3 -> vertical only\n      //\n\n      var dimensions = (this || _global).filterManager.effectElements[1].p.v;\n      var sigmaX = dimensions == 3 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n      var sigmaY = dimensions == 2 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n      (this || _global).feGaussianBlur.setAttribute(\"stdDeviation\", sigmaX + \" \" + sigmaY); // Repeat edges mapping:\n      //\n      //   0 -> off -> duplicate\n      //   1 -> on  -> wrap\n\n\n      var edgeMode = (this || _global).filterManager.effectElements[2].p.v == 1 ? \"wrap\" : \"duplicate\"; // eslint-disable-line eqeqeq\n\n      (this || _global).feGaussianBlur.setAttribute(\"edgeMode\", edgeMode);\n    }\n  };\n  /* global createNS, createElementID, locationHref, bmFloor */\n\n\n  function SVGStrokeEffect(elem, filterManager) {\n    (this || _global).initialized = false;\n    (this || _global).filterManager = filterManager;\n    (this || _global).elem = elem;\n    (this || _global).paths = [];\n  }\n\n  SVGStrokeEffect.prototype.initialize = function () {\n    var elemChildren = (this || _global).elem.layerElement.children || (this || _global).elem.layerElement.childNodes;\n    var path;\n    var groupPath;\n    var i;\n    var len;\n\n    if ((this || _global).filterManager.effectElements[1].p.v === 1) {\n      len = (this || _global).elem.maskManager.masksProperties.length;\n      i = 0;\n    } else {\n      i = (this || _global).filterManager.effectElements[0].p.v - 1;\n      len = i + 1;\n    }\n\n    groupPath = createNS(\"g\");\n    groupPath.setAttribute(\"fill\", \"none\");\n    groupPath.setAttribute(\"stroke-linecap\", \"round\");\n    groupPath.setAttribute(\"stroke-dashoffset\", 1);\n\n    for (i; i < len; i += 1) {\n      path = createNS(\"path\");\n      groupPath.appendChild(path);\n\n      (this || _global).paths.push({\n        p: path,\n        m: i\n      });\n    }\n\n    if ((this || _global).filterManager.effectElements[10].p.v === 3) {\n      var mask = createNS(\"mask\");\n      var id = createElementID();\n      mask.setAttribute(\"id\", id);\n      mask.setAttribute(\"mask-type\", \"alpha\");\n      mask.appendChild(groupPath);\n\n      (this || _global).elem.globalData.defs.appendChild(mask);\n\n      var g = createNS(\"g\");\n      g.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + id + \")\");\n\n      while (elemChildren[0]) {\n        g.appendChild(elemChildren[0]);\n      }\n\n      (this || _global).elem.layerElement.appendChild(g);\n\n      (this || _global).masker = mask;\n      groupPath.setAttribute(\"stroke\", \"#fff\");\n    } else if ((this || _global).filterManager.effectElements[10].p.v === 1 || (this || _global).filterManager.effectElements[10].p.v === 2) {\n      if ((this || _global).filterManager.effectElements[10].p.v === 2) {\n        elemChildren = (this || _global).elem.layerElement.children || (this || _global).elem.layerElement.childNodes;\n\n        while (elemChildren.length) {\n          (this || _global).elem.layerElement.removeChild(elemChildren[0]);\n        }\n      }\n\n      (this || _global).elem.layerElement.appendChild(groupPath);\n\n      (this || _global).elem.layerElement.removeAttribute(\"mask\");\n\n      groupPath.setAttribute(\"stroke\", \"#fff\");\n    }\n\n    (this || _global).initialized = true;\n    (this || _global).pathMasker = groupPath;\n  };\n\n  SVGStrokeEffect.prototype.renderFrame = function (forceRender) {\n    if (!(this || _global).initialized) {\n      this.initialize();\n    }\n\n    var i;\n    var len = (this || _global).paths.length;\n    var mask;\n    var path;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).paths[i].m !== -1) {\n        mask = (this || _global).elem.maskManager.viewData[(this || _global).paths[i].m];\n        path = (this || _global).paths[i].p;\n\n        if (forceRender || (this || _global).filterManager._mdf || mask.prop._mdf) {\n          path.setAttribute(\"d\", mask.lastPath);\n        }\n\n        if (forceRender || (this || _global).filterManager.effectElements[9].p._mdf || (this || _global).filterManager.effectElements[4].p._mdf || (this || _global).filterManager.effectElements[7].p._mdf || (this || _global).filterManager.effectElements[8].p._mdf || mask.prop._mdf) {\n          var dasharrayValue;\n\n          if ((this || _global).filterManager.effectElements[7].p.v !== 0 || (this || _global).filterManager.effectElements[8].p.v !== 100) {\n            var s = Math.min((this || _global).filterManager.effectElements[7].p.v, (this || _global).filterManager.effectElements[8].p.v) * 0.01;\n            var e = Math.max((this || _global).filterManager.effectElements[7].p.v, (this || _global).filterManager.effectElements[8].p.v) * 0.01;\n            var l = path.getTotalLength();\n            dasharrayValue = \"0 0 0 \" + l * s + \" \";\n            var lineLength = l * (e - s);\n            var segment = 1 + (this || _global).filterManager.effectElements[4].p.v * 2 * (this || _global).filterManager.effectElements[9].p.v * 0.01;\n            var units = Math.floor(lineLength / segment);\n            var j;\n\n            for (j = 0; j < units; j += 1) {\n              dasharrayValue += \"1 \" + (this || _global).filterManager.effectElements[4].p.v * 2 * (this || _global).filterManager.effectElements[9].p.v * 0.01 + \" \";\n            }\n\n            dasharrayValue += \"0 \" + l * 10 + \" 0 0\";\n          } else {\n            dasharrayValue = \"1 \" + (this || _global).filterManager.effectElements[4].p.v * 2 * (this || _global).filterManager.effectElements[9].p.v * 0.01;\n          }\n\n          path.setAttribute(\"stroke-dasharray\", dasharrayValue);\n        }\n      }\n    }\n\n    if (forceRender || (this || _global).filterManager.effectElements[4].p._mdf) {\n      (this || _global).pathMasker.setAttribute(\"stroke-width\", (this || _global).filterManager.effectElements[4].p.v * 2);\n    }\n\n    if (forceRender || (this || _global).filterManager.effectElements[6].p._mdf) {\n      (this || _global).pathMasker.setAttribute(\"opacity\", (this || _global).filterManager.effectElements[6].p.v);\n    }\n\n    if ((this || _global).filterManager.effectElements[10].p.v === 1 || (this || _global).filterManager.effectElements[10].p.v === 2) {\n      if (forceRender || (this || _global).filterManager.effectElements[3].p._mdf) {\n        var color = (this || _global).filterManager.effectElements[3].p.v;\n\n        (this || _global).pathMasker.setAttribute(\"stroke\", \"rgb(\" + bmFloor(color[0] * 255) + \",\" + bmFloor(color[1] * 255) + \",\" + bmFloor(color[2] * 255) + \")\");\n      }\n    }\n  };\n  /* global createNS */\n\n\n  function SVGTritoneFilter(filter, filterManager) {\n    (this || _global).filterManager = filterManager;\n    var feColorMatrix = createNS(\"feColorMatrix\");\n    feColorMatrix.setAttribute(\"type\", \"matrix\");\n    feColorMatrix.setAttribute(\"color-interpolation-filters\", \"linearRGB\");\n    feColorMatrix.setAttribute(\"values\", \"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\");\n    feColorMatrix.setAttribute(\"result\", \"f1\");\n    filter.appendChild(feColorMatrix);\n    var feComponentTransfer = createNS(\"feComponentTransfer\");\n    feComponentTransfer.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n    filter.appendChild(feComponentTransfer);\n    (this || _global).matrixFilter = feComponentTransfer;\n    var feFuncR = createNS(\"feFuncR\");\n    feFuncR.setAttribute(\"type\", \"table\");\n    feComponentTransfer.appendChild(feFuncR);\n    (this || _global).feFuncR = feFuncR;\n    var feFuncG = createNS(\"feFuncG\");\n    feFuncG.setAttribute(\"type\", \"table\");\n    feComponentTransfer.appendChild(feFuncG);\n    (this || _global).feFuncG = feFuncG;\n    var feFuncB = createNS(\"feFuncB\");\n    feFuncB.setAttribute(\"type\", \"table\");\n    feComponentTransfer.appendChild(feFuncB);\n    (this || _global).feFuncB = feFuncB;\n  }\n\n  SVGTritoneFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      var color1 = (this || _global).filterManager.effectElements[0].p.v;\n      var color2 = (this || _global).filterManager.effectElements[1].p.v;\n      var color3 = (this || _global).filterManager.effectElements[2].p.v;\n      var tableR = color3[0] + \" \" + color2[0] + \" \" + color1[0];\n      var tableG = color3[1] + \" \" + color2[1] + \" \" + color1[1];\n      var tableB = color3[2] + \" \" + color2[2] + \" \" + color1[2];\n\n      (this || _global).feFuncR.setAttribute(\"tableValues\", tableR);\n\n      (this || _global).feFuncG.setAttribute(\"tableValues\", tableG);\n\n      (this || _global).feFuncB.setAttribute(\"tableValues\", tableB); // var opacity = this.filterManager.effectElements[2].p.v/100;\n      // this.matrixFilter.setAttribute('values',(colorWhite[0]- colorBlack[0])+' 0 0 0 '+ colorBlack[0] +' '+ (colorWhite[1]- colorBlack[1]) +' 0 0 0 '+ colorBlack[1] +' '+ (colorWhite[2]- colorBlack[2]) +' 0 0 0 '+ colorBlack[2] +' 0 0 0 ' + opacity + ' 0');\n\n    }\n  };\n  /* global createNS */\n\n\n  function SVGProLevelsFilter(filter, filterManager) {\n    (this || _global).filterManager = filterManager;\n    var effectElements = (this || _global).filterManager.effectElements;\n    var feComponentTransfer = createNS(\"feComponentTransfer\");\n\n    if (effectElements[10].p.k || effectElements[10].p.v !== 0 || effectElements[11].p.k || effectElements[11].p.v !== 1 || effectElements[12].p.k || effectElements[12].p.v !== 1 || effectElements[13].p.k || effectElements[13].p.v !== 0 || effectElements[14].p.k || effectElements[14].p.v !== 1) {\n      (this || _global).feFuncR = this.createFeFunc(\"feFuncR\", feComponentTransfer);\n    }\n\n    if (effectElements[17].p.k || effectElements[17].p.v !== 0 || effectElements[18].p.k || effectElements[18].p.v !== 1 || effectElements[19].p.k || effectElements[19].p.v !== 1 || effectElements[20].p.k || effectElements[20].p.v !== 0 || effectElements[21].p.k || effectElements[21].p.v !== 1) {\n      (this || _global).feFuncG = this.createFeFunc(\"feFuncG\", feComponentTransfer);\n    }\n\n    if (effectElements[24].p.k || effectElements[24].p.v !== 0 || effectElements[25].p.k || effectElements[25].p.v !== 1 || effectElements[26].p.k || effectElements[26].p.v !== 1 || effectElements[27].p.k || effectElements[27].p.v !== 0 || effectElements[28].p.k || effectElements[28].p.v !== 1) {\n      (this || _global).feFuncB = this.createFeFunc(\"feFuncB\", feComponentTransfer);\n    }\n\n    if (effectElements[31].p.k || effectElements[31].p.v !== 0 || effectElements[32].p.k || effectElements[32].p.v !== 1 || effectElements[33].p.k || effectElements[33].p.v !== 1 || effectElements[34].p.k || effectElements[34].p.v !== 0 || effectElements[35].p.k || effectElements[35].p.v !== 1) {\n      (this || _global).feFuncA = this.createFeFunc(\"feFuncA\", feComponentTransfer);\n    }\n\n    if ((this || _global).feFuncR || (this || _global).feFuncG || (this || _global).feFuncB || (this || _global).feFuncA) {\n      feComponentTransfer.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n      filter.appendChild(feComponentTransfer);\n      feComponentTransfer = createNS(\"feComponentTransfer\");\n    }\n\n    if (effectElements[3].p.k || effectElements[3].p.v !== 0 || effectElements[4].p.k || effectElements[4].p.v !== 1 || effectElements[5].p.k || effectElements[5].p.v !== 1 || effectElements[6].p.k || effectElements[6].p.v !== 0 || effectElements[7].p.k || effectElements[7].p.v !== 1) {\n      feComponentTransfer.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n      filter.appendChild(feComponentTransfer);\n      (this || _global).feFuncRComposed = this.createFeFunc(\"feFuncR\", feComponentTransfer);\n      (this || _global).feFuncGComposed = this.createFeFunc(\"feFuncG\", feComponentTransfer);\n      (this || _global).feFuncBComposed = this.createFeFunc(\"feFuncB\", feComponentTransfer);\n    }\n  }\n\n  SVGProLevelsFilter.prototype.createFeFunc = function (type, feComponentTransfer) {\n    var feFunc = createNS(type);\n    feFunc.setAttribute(\"type\", \"table\");\n    feComponentTransfer.appendChild(feFunc);\n    return feFunc;\n  };\n\n  SVGProLevelsFilter.prototype.getTableValue = function (inputBlack, inputWhite, gamma, outputBlack, outputWhite) {\n    var cnt = 0;\n    var segments = 256;\n    var perc;\n    var min = Math.min(inputBlack, inputWhite);\n    var max = Math.max(inputBlack, inputWhite);\n    var table = Array.call(null, {\n      length: segments\n    });\n    var colorValue;\n    var pos = 0;\n    var outputDelta = outputWhite - outputBlack;\n    var inputDelta = inputWhite - inputBlack;\n\n    while (cnt <= 256) {\n      perc = cnt / 256;\n\n      if (perc <= min) {\n        colorValue = inputDelta < 0 ? outputWhite : outputBlack;\n      } else if (perc >= max) {\n        colorValue = inputDelta < 0 ? outputBlack : outputWhite;\n      } else {\n        colorValue = outputBlack + outputDelta * Math.pow((perc - inputBlack) / inputDelta, 1 / gamma);\n      }\n\n      table[pos] = colorValue;\n      pos += 1;\n      cnt += 256 / (segments - 1);\n    }\n\n    return table.join(\" \");\n  };\n\n  SVGProLevelsFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      var val;\n      var effectElements = (this || _global).filterManager.effectElements;\n\n      if ((this || _global).feFuncRComposed && (forceRender || effectElements[3].p._mdf || effectElements[4].p._mdf || effectElements[5].p._mdf || effectElements[6].p._mdf || effectElements[7].p._mdf)) {\n        val = this.getTableValue(effectElements[3].p.v, effectElements[4].p.v, effectElements[5].p.v, effectElements[6].p.v, effectElements[7].p.v);\n\n        (this || _global).feFuncRComposed.setAttribute(\"tableValues\", val);\n\n        (this || _global).feFuncGComposed.setAttribute(\"tableValues\", val);\n\n        (this || _global).feFuncBComposed.setAttribute(\"tableValues\", val);\n      }\n\n      if ((this || _global).feFuncR && (forceRender || effectElements[10].p._mdf || effectElements[11].p._mdf || effectElements[12].p._mdf || effectElements[13].p._mdf || effectElements[14].p._mdf)) {\n        val = this.getTableValue(effectElements[10].p.v, effectElements[11].p.v, effectElements[12].p.v, effectElements[13].p.v, effectElements[14].p.v);\n\n        (this || _global).feFuncR.setAttribute(\"tableValues\", val);\n      }\n\n      if ((this || _global).feFuncG && (forceRender || effectElements[17].p._mdf || effectElements[18].p._mdf || effectElements[19].p._mdf || effectElements[20].p._mdf || effectElements[21].p._mdf)) {\n        val = this.getTableValue(effectElements[17].p.v, effectElements[18].p.v, effectElements[19].p.v, effectElements[20].p.v, effectElements[21].p.v);\n\n        (this || _global).feFuncG.setAttribute(\"tableValues\", val);\n      }\n\n      if ((this || _global).feFuncB && (forceRender || effectElements[24].p._mdf || effectElements[25].p._mdf || effectElements[26].p._mdf || effectElements[27].p._mdf || effectElements[28].p._mdf)) {\n        val = this.getTableValue(effectElements[24].p.v, effectElements[25].p.v, effectElements[26].p.v, effectElements[27].p.v, effectElements[28].p.v);\n\n        (this || _global).feFuncB.setAttribute(\"tableValues\", val);\n      }\n\n      if ((this || _global).feFuncA && (forceRender || effectElements[31].p._mdf || effectElements[32].p._mdf || effectElements[33].p._mdf || effectElements[34].p._mdf || effectElements[35].p._mdf)) {\n        val = this.getTableValue(effectElements[31].p.v, effectElements[32].p.v, effectElements[33].p.v, effectElements[34].p.v, effectElements[35].p.v);\n\n        (this || _global).feFuncA.setAttribute(\"tableValues\", val);\n      }\n    }\n  };\n  /* global createNS, rgbToHex, degToRads */\n\n\n  function SVGDropShadowEffect(filter, filterManager) {\n    var filterSize = filterManager.container.globalData.renderConfig.filterSize;\n    filter.setAttribute(\"x\", filterSize.x);\n    filter.setAttribute(\"y\", filterSize.y);\n    filter.setAttribute(\"width\", filterSize.width);\n    filter.setAttribute(\"height\", filterSize.height);\n    (this || _global).filterManager = filterManager;\n    var feGaussianBlur = createNS(\"feGaussianBlur\");\n    feGaussianBlur.setAttribute(\"in\", \"SourceAlpha\");\n    feGaussianBlur.setAttribute(\"result\", \"drop_shadow_1\");\n    feGaussianBlur.setAttribute(\"stdDeviation\", \"0\");\n    (this || _global).feGaussianBlur = feGaussianBlur;\n    filter.appendChild(feGaussianBlur);\n    var feOffset = createNS(\"feOffset\");\n    feOffset.setAttribute(\"dx\", \"25\");\n    feOffset.setAttribute(\"dy\", \"0\");\n    feOffset.setAttribute(\"in\", \"drop_shadow_1\");\n    feOffset.setAttribute(\"result\", \"drop_shadow_2\");\n    (this || _global).feOffset = feOffset;\n    filter.appendChild(feOffset);\n    var feFlood = createNS(\"feFlood\");\n    feFlood.setAttribute(\"flood-color\", \"#00ff00\");\n    feFlood.setAttribute(\"flood-opacity\", \"1\");\n    feFlood.setAttribute(\"result\", \"drop_shadow_3\");\n    (this || _global).feFlood = feFlood;\n    filter.appendChild(feFlood);\n    var feComposite = createNS(\"feComposite\");\n    feComposite.setAttribute(\"in\", \"drop_shadow_3\");\n    feComposite.setAttribute(\"in2\", \"drop_shadow_2\");\n    feComposite.setAttribute(\"operator\", \"in\");\n    feComposite.setAttribute(\"result\", \"drop_shadow_4\");\n    filter.appendChild(feComposite);\n    var feMerge = createNS(\"feMerge\");\n    filter.appendChild(feMerge);\n    var feMergeNode;\n    feMergeNode = createNS(\"feMergeNode\");\n    feMerge.appendChild(feMergeNode);\n    feMergeNode = createNS(\"feMergeNode\");\n    feMergeNode.setAttribute(\"in\", \"SourceGraphic\");\n    (this || _global).feMergeNode = feMergeNode;\n    (this || _global).feMerge = feMerge;\n    (this || _global).originalNodeAdded = false;\n    feMerge.appendChild(feMergeNode);\n  }\n\n  SVGDropShadowEffect.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      if (forceRender || (this || _global).filterManager.effectElements[4].p._mdf) {\n        (this || _global).feGaussianBlur.setAttribute(\"stdDeviation\", (this || _global).filterManager.effectElements[4].p.v / 4);\n      }\n\n      if (forceRender || (this || _global).filterManager.effectElements[0].p._mdf) {\n        var col = (this || _global).filterManager.effectElements[0].p.v;\n\n        (this || _global).feFlood.setAttribute(\"flood-color\", rgbToHex(Math.round(col[0] * 255), Math.round(col[1] * 255), Math.round(col[2] * 255)));\n      }\n\n      if (forceRender || (this || _global).filterManager.effectElements[1].p._mdf) {\n        (this || _global).feFlood.setAttribute(\"flood-opacity\", (this || _global).filterManager.effectElements[1].p.v / 255);\n      }\n\n      if (forceRender || (this || _global).filterManager.effectElements[2].p._mdf || (this || _global).filterManager.effectElements[3].p._mdf) {\n        var distance = (this || _global).filterManager.effectElements[3].p.v;\n        var angle = ((this || _global).filterManager.effectElements[2].p.v - 90) * degToRads;\n        var x = distance * Math.cos(angle);\n        var y = distance * Math.sin(angle);\n\n        (this || _global).feOffset.setAttribute(\"dx\", x);\n\n        (this || _global).feOffset.setAttribute(\"dy\", y);\n      }\n      /* if(forceRender || this.filterManager.effectElements[5].p._mdf){\r\n              if(this.filterManager.effectElements[5].p.v === 1 && this.originalNodeAdded) {\r\n                  this.feMerge.removeChild(this.feMergeNode);\r\n                  this.originalNodeAdded = false;\r\n              } else if(this.filterManager.effectElements[5].p.v === 0 && !this.originalNodeAdded) {\r\n                  this.feMerge.appendChild(this.feMergeNode);\r\n                  this.originalNodeAdded = true;\r\n              }\r\n          } */\n\n    }\n  };\n  /* global createElementID, createNS */\n\n\n  var _svgMatteSymbols = [];\n\n  function SVGMatte3Effect(filterElem, filterManager, elem) {\n    (this || _global).initialized = false;\n    (this || _global).filterManager = filterManager;\n    (this || _global).filterElem = filterElem;\n    (this || _global).elem = elem;\n    elem.matteElement = createNS(\"g\");\n    elem.matteElement.appendChild(elem.layerElement);\n    elem.matteElement.appendChild(elem.transformedElement);\n    elem.baseElement = elem.matteElement;\n  }\n\n  SVGMatte3Effect.prototype.findSymbol = function (mask) {\n    var i = 0;\n    var len = _svgMatteSymbols.length;\n\n    while (i < len) {\n      if (_svgMatteSymbols[i] === mask) {\n        return _svgMatteSymbols[i];\n      }\n\n      i += 1;\n    }\n\n    return null;\n  };\n\n  SVGMatte3Effect.prototype.replaceInParent = function (mask, symbolId) {\n    var parentNode = mask.layerElement.parentNode;\n\n    if (!parentNode) {\n      return;\n    }\n\n    var children = parentNode.children;\n    var i = 0;\n    var len = children.length;\n\n    while (i < len) {\n      if (children[i] === mask.layerElement) {\n        break;\n      }\n\n      i += 1;\n    }\n\n    var nextChild;\n\n    if (i <= len - 2) {\n      nextChild = children[i + 1];\n    }\n\n    var useElem = createNS(\"use\");\n    useElem.setAttribute(\"href\", \"#\" + symbolId);\n\n    if (nextChild) {\n      parentNode.insertBefore(useElem, nextChild);\n    } else {\n      parentNode.appendChild(useElem);\n    }\n  };\n\n  SVGMatte3Effect.prototype.setElementAsMask = function (elem, mask) {\n    if (!this.findSymbol(mask)) {\n      var symbolId = createElementID();\n      var masker = createNS(\"mask\");\n      masker.setAttribute(\"id\", mask.layerId);\n      masker.setAttribute(\"mask-type\", \"alpha\");\n\n      _svgMatteSymbols.push(mask);\n\n      var defs = elem.globalData.defs;\n      defs.appendChild(masker);\n      var symbol = createNS(\"symbol\");\n      symbol.setAttribute(\"id\", symbolId);\n      this.replaceInParent(mask, symbolId);\n      symbol.appendChild(mask.layerElement);\n      defs.appendChild(symbol);\n      var useElem = createNS(\"use\");\n      useElem.setAttribute(\"href\", \"#\" + symbolId);\n      masker.appendChild(useElem);\n      mask.data.hd = false;\n      mask.show();\n    }\n\n    elem.setMatte(mask.layerId);\n  };\n\n  SVGMatte3Effect.prototype.initialize = function () {\n    var ind = (this || _global).filterManager.effectElements[0].p.v;\n    var elements = (this || _global).elem.comp.elements;\n    var i = 0;\n    var len = elements.length;\n\n    while (i < len) {\n      if (elements[i] && elements[i].data.ind === ind) {\n        this.setElementAsMask((this || _global).elem, elements[i]);\n      }\n\n      i += 1;\n    }\n\n    (this || _global).initialized = true;\n  };\n\n  SVGMatte3Effect.prototype.renderFrame = function () {\n    if (!(this || _global).initialized) {\n      this.initialize();\n    }\n  };\n  /* global createElementID, filtersFactory, SVGTintFilter, SVGFillFilter, SVGStrokeEffect, SVGTritoneFilter,\r\n  SVGProLevelsFilter, SVGDropShadowEffect, SVGMatte3Effect, SVGGaussianBlurEffect, locationHref */\n\n\n  function SVGEffects(elem) {\n    var i;\n    var len = elem.data.ef ? elem.data.ef.length : 0;\n    var filId = createElementID();\n    var fil = filtersFactory.createFilter(filId, true);\n    var count = 0;\n    (this || _global).filters = [];\n    var filterManager;\n\n    for (i = 0; i < len; i += 1) {\n      filterManager = null;\n\n      if (elem.data.ef[i].ty === 20) {\n        count += 1;\n        filterManager = new SVGTintFilter(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 21) {\n        count += 1;\n        filterManager = new SVGFillFilter(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 22) {\n        filterManager = new SVGStrokeEffect(elem, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 23) {\n        count += 1;\n        filterManager = new SVGTritoneFilter(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 24) {\n        count += 1;\n        filterManager = new SVGProLevelsFilter(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 25) {\n        count += 1;\n        filterManager = new SVGDropShadowEffect(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 28) {\n        // count += 1;\n        filterManager = new SVGMatte3Effect(fil, elem.effectsManager.effectElements[i], elem);\n      } else if (elem.data.ef[i].ty === 29) {\n        count += 1;\n        filterManager = new SVGGaussianBlurEffect(fil, elem.effectsManager.effectElements[i]);\n      }\n\n      if (filterManager) {\n        (this || _global).filters.push(filterManager);\n      }\n    }\n\n    if (count) {\n      elem.globalData.defs.appendChild(fil);\n      elem.layerElement.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + filId + \")\");\n    }\n\n    if ((this || _global).filters.length) {\n      elem.addRenderableComponent(this || _global);\n    }\n  }\n\n  SVGEffects.prototype.renderFrame = function (_isFirstFrame) {\n    var i;\n    var len = (this || _global).filters.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).filters[i].renderFrame(_isFirstFrame);\n    }\n  };\n  /* global Matrix, createTypedArray */\n\n\n  function CVContextData() {\n    (this || _global).saved = [];\n    (this || _global).cArrPos = 0;\n    (this || _global).cTr = new Matrix();\n    (this || _global).cO = 1;\n    var i;\n    var len = 15;\n    (this || _global).savedOp = createTypedArray(\"float32\", len);\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).saved[i] = createTypedArray(\"float32\", 16);\n    }\n\n    (this || _global)._length = len;\n  }\n\n  CVContextData.prototype.duplicate = function () {\n    var newLength = (this || _global)._length * 2;\n    var currentSavedOp = (this || _global).savedOp;\n    (this || _global).savedOp = createTypedArray(\"float32\", newLength);\n\n    (this || _global).savedOp.set(currentSavedOp);\n\n    var i = 0;\n\n    for (i = (this || _global)._length; i < newLength; i += 1) {\n      (this || _global).saved[i] = createTypedArray(\"float32\", 16);\n    }\n\n    (this || _global)._length = newLength;\n  };\n\n  CVContextData.prototype.reset = function () {\n    (this || _global).cArrPos = 0;\n\n    (this || _global).cTr.reset();\n\n    (this || _global).cO = 1;\n  };\n  /* global CVEffects, getBlendMode, CVMaskElement, Matrix */\n\n\n  function CVBaseElement() {}\n\n  CVBaseElement.prototype = {\n    createElements: function () {},\n    initRendererElement: function () {},\n    createContainerElements: function () {\n      (this || _global).canvasContext = (this || _global).globalData.canvasContext;\n      (this || _global).renderableEffectsManager = new CVEffects(this || _global);\n    },\n    createContent: function () {},\n    setBlendMode: function () {\n      var globalData = (this || _global).globalData;\n\n      if (globalData.blendMode !== (this || _global).data.bm) {\n        globalData.blendMode = (this || _global).data.bm;\n        var blendModeValue = getBlendMode((this || _global).data.bm);\n        globalData.canvasContext.globalCompositeOperation = blendModeValue;\n      }\n    },\n    createRenderableComponents: function () {\n      (this || _global).maskManager = new CVMaskElement((this || _global).data, this || _global);\n    },\n    hideElement: function () {\n      if (!(this || _global).hidden && (!(this || _global).isInRange || (this || _global).isTransparent)) {\n        (this || _global).hidden = true;\n      }\n    },\n    showElement: function () {\n      if ((this || _global).isInRange && !(this || _global).isTransparent) {\n        (this || _global).hidden = false;\n        (this || _global)._isFirstFrame = true;\n        (this || _global).maskManager._isFirstFrame = true;\n      }\n    },\n    renderFrame: function () {\n      if ((this || _global).hidden || (this || _global).data.hd) {\n        return;\n      }\n\n      this.renderTransform();\n      this.renderRenderable();\n      this.setBlendMode();\n      var forceRealStack = (this || _global).data.ty === 0;\n\n      (this || _global).globalData.renderer.save(forceRealStack);\n\n      (this || _global).globalData.renderer.ctxTransform((this || _global).finalTransform.mat.props);\n\n      (this || _global).globalData.renderer.ctxOpacity((this || _global).finalTransform.mProp.o.v);\n\n      this.renderInnerContent();\n\n      (this || _global).globalData.renderer.restore(forceRealStack);\n\n      if ((this || _global).maskManager.hasMasks) {\n        (this || _global).globalData.renderer.restore(true);\n      }\n\n      if ((this || _global)._isFirstFrame) {\n        (this || _global)._isFirstFrame = false;\n      }\n    },\n    destroy: function () {\n      (this || _global).canvasContext = null;\n      (this || _global).data = null;\n      (this || _global).globalData = null;\n\n      (this || _global).maskManager.destroy();\n    },\n    mHelper: new Matrix()\n  };\n  CVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement;\n  CVBaseElement.prototype.show = CVBaseElement.prototype.showElement;\n  /* global extendPrototype, BaseElement, TransformElement, CVBaseElement,HierarchyElement, FrameElement,\r\n  RenderableElement, SVGShapeElement, IImageElement, createTag */\n\n  function CVImageElement(data, globalData, comp) {\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    (this || _global).img = globalData.imageLoader.getAsset((this || _global).assetData);\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVImageElement);\n  CVImageElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n  CVImageElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n  CVImageElement.prototype.createContent = function () {\n    if ((this || _global).img.width && ((this || _global).assetData.w !== (this || _global).img.width || (this || _global).assetData.h !== (this || _global).img.height)) {\n      var canvas = createTag(\"canvas\");\n      canvas.width = (this || _global).assetData.w;\n      canvas.height = (this || _global).assetData.h;\n      var ctx = canvas.getContext(\"2d\");\n      var imgW = (this || _global).img.width;\n      var imgH = (this || _global).img.height;\n      var imgRel = imgW / imgH;\n      var canvasRel = (this || _global).assetData.w / (this || _global).assetData.h;\n      var widthCrop;\n      var heightCrop;\n      var par = (this || _global).assetData.pr || (this || _global).globalData.renderConfig.imagePreserveAspectRatio;\n\n      if (imgRel > canvasRel && par === \"xMidYMid slice\" || imgRel < canvasRel && par !== \"xMidYMid slice\") {\n        heightCrop = imgH;\n        widthCrop = heightCrop * canvasRel;\n      } else {\n        widthCrop = imgW;\n        heightCrop = widthCrop / canvasRel;\n      }\n\n      ctx.drawImage((this || _global).img, (imgW - widthCrop) / 2, (imgH - heightCrop) / 2, widthCrop, heightCrop, 0, 0, (this || _global).assetData.w, (this || _global).assetData.h);\n      (this || _global).img = canvas;\n    }\n  };\n\n  CVImageElement.prototype.renderInnerContent = function () {\n    (this || _global).canvasContext.drawImage((this || _global).img, 0, 0);\n  };\n\n  CVImageElement.prototype.destroy = function () {\n    (this || _global).img = null;\n  };\n  /* global createSizedArray, PropertyFactory, extendPrototype, CanvasRenderer, ICompElement, CVBaseElement */\n\n\n  function CVCompElement(data, globalData, comp) {\n    (this || _global).completeLayers = false;\n    (this || _global).layers = data.layers;\n    (this || _global).pendingElements = [];\n    (this || _global).elements = createSizedArray((this || _global).layers.length);\n    this.initElement(data, globalData, comp);\n    (this || _global).tm = data.tm ? PropertyFactory.getProp(this || _global, data.tm, 0, globalData.frameRate, this || _global) : {\n      _placeholder: true\n    };\n  }\n\n  extendPrototype([CanvasRenderer, ICompElement, CVBaseElement], CVCompElement);\n\n  CVCompElement.prototype.renderInnerContent = function () {\n    var ctx = (this || _global).canvasContext;\n    ctx.beginPath();\n    ctx.moveTo(0, 0);\n    ctx.lineTo((this || _global).data.w, 0);\n    ctx.lineTo((this || _global).data.w, (this || _global).data.h);\n    ctx.lineTo(0, (this || _global).data.h);\n    ctx.lineTo(0, 0);\n    ctx.clip();\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].renderFrame();\n      }\n    }\n  };\n\n  CVCompElement.prototype.destroy = function () {\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).elements[i]) {\n        (this || _global).elements[i].destroy();\n      }\n    }\n\n    (this || _global).layers = null;\n    (this || _global).elements = null;\n  };\n  /* global createSizedArray, ShapePropertyFactory, MaskElement */\n\n\n  function CVMaskElement(data, element) {\n    (this || _global).data = data;\n    (this || _global).element = element;\n    (this || _global).masksProperties = (this || _global).data.masksProperties || [];\n    (this || _global).viewData = createSizedArray((this || _global).masksProperties.length);\n    var i;\n    var len = (this || _global).masksProperties.length;\n    var hasMasks = false;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).masksProperties[i].mode !== \"n\") {\n        hasMasks = true;\n      }\n\n      (this || _global).viewData[i] = ShapePropertyFactory.getShapeProp((this || _global).element, (this || _global).masksProperties[i], 3);\n    }\n\n    (this || _global).hasMasks = hasMasks;\n\n    if (hasMasks) {\n      (this || _global).element.addRenderableComponent(this || _global);\n    }\n  }\n\n  CVMaskElement.prototype.renderFrame = function () {\n    if (!(this || _global).hasMasks) {\n      return;\n    }\n\n    var transform = (this || _global).element.finalTransform.mat;\n    var ctx = (this || _global).element.canvasContext;\n    var i;\n    var len = (this || _global).masksProperties.length;\n    var pt;\n    var pts;\n    var data;\n    ctx.beginPath();\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).masksProperties[i].mode !== \"n\") {\n        if ((this || _global).masksProperties[i].inv) {\n          ctx.moveTo(0, 0);\n          ctx.lineTo((this || _global).element.globalData.compSize.w, 0);\n          ctx.lineTo((this || _global).element.globalData.compSize.w, (this || _global).element.globalData.compSize.h);\n          ctx.lineTo(0, (this || _global).element.globalData.compSize.h);\n          ctx.lineTo(0, 0);\n        }\n\n        data = (this || _global).viewData[i].v;\n        pt = transform.applyToPointArray(data.v[0][0], data.v[0][1], 0);\n        ctx.moveTo(pt[0], pt[1]);\n        var j;\n        var jLen = data._length;\n\n        for (j = 1; j < jLen; j += 1) {\n          pts = transform.applyToTriplePoints(data.o[j - 1], data.i[j], data.v[j]);\n          ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n        }\n\n        pts = transform.applyToTriplePoints(data.o[j - 1], data.i[0], data.v[0]);\n        ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n      }\n    }\n\n    (this || _global).element.globalData.renderer.save(true);\n\n    ctx.clip();\n  };\n\n  CVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty;\n\n  CVMaskElement.prototype.destroy = function () {\n    (this || _global).element = null;\n  };\n  /* global ShapeTransformManager, extendPrototype, BaseElement, TransformElement, CVBaseElement, IShapeElement,\r\n  HierarchyElement, FrameElement, RenderableElement, RenderableDOMElement, PropertyFactory, degToRads, GradientProperty,\r\n  DashProperty, TransformPropertyFactory, CVShapeData, ShapeModifiers, bmFloor */\n\n\n  function CVShapeElement(data, globalData, comp) {\n    (this || _global).shapes = [];\n    (this || _global).shapesData = data.shapes;\n    (this || _global).stylesList = [];\n    (this || _global).itemsData = [];\n    (this || _global).prevViewData = [];\n    (this || _global).shapeModifiers = [];\n    (this || _global).processedElements = [];\n    (this || _global).transformsManager = new ShapeTransformManager();\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableElement], CVShapeElement);\n  CVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement;\n  CVShapeElement.prototype.transformHelper = {\n    opacity: 1,\n    _opMdf: false\n  };\n  CVShapeElement.prototype.dashResetter = [];\n\n  CVShapeElement.prototype.createContent = function () {\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, true, []);\n  };\n\n  CVShapeElement.prototype.createStyleElement = function (data, transforms) {\n    var styleElem = {\n      data: data,\n      type: data.ty,\n      preTransforms: (this || _global).transformsManager.addTransformSequence(transforms),\n      transforms: [],\n      elements: [],\n      closed: data.hd === true\n    };\n    var elementData = {};\n\n    if (data.ty === \"fl\" || data.ty === \"st\") {\n      elementData.c = PropertyFactory.getProp(this || _global, data.c, 1, 255, this || _global);\n\n      if (!elementData.c.k) {\n        styleElem.co = \"rgb(\" + bmFloor(elementData.c.v[0]) + \",\" + bmFloor(elementData.c.v[1]) + \",\" + bmFloor(elementData.c.v[2]) + \")\";\n      }\n    } else if (data.ty === \"gf\" || data.ty === \"gs\") {\n      elementData.s = PropertyFactory.getProp(this || _global, data.s, 1, null, this || _global);\n      elementData.e = PropertyFactory.getProp(this || _global, data.e, 1, null, this || _global);\n      elementData.h = PropertyFactory.getProp(this || _global, data.h || {\n        k: 0\n      }, 0, 0.01, this || _global);\n      elementData.a = PropertyFactory.getProp(this || _global, data.a || {\n        k: 0\n      }, 0, degToRads, this || _global);\n      elementData.g = new GradientProperty(this || _global, data.g, this || _global);\n    }\n\n    elementData.o = PropertyFactory.getProp(this || _global, data.o, 0, 0.01, this || _global);\n\n    if (data.ty === \"st\" || data.ty === \"gs\") {\n      styleElem.lc = (this || _global).lcEnum[data.lc] || \"round\";\n      styleElem.lj = (this || _global).ljEnum[data.lj] || \"round\";\n\n      if (data.lj == 1) {\n        // eslint-disable-line eqeqeq\n        styleElem.ml = data.ml;\n      }\n\n      elementData.w = PropertyFactory.getProp(this || _global, data.w, 0, null, this || _global);\n\n      if (!elementData.w.k) {\n        styleElem.wi = elementData.w.v;\n      }\n\n      if (data.d) {\n        var d = new DashProperty(this || _global, data.d, \"canvas\", this || _global);\n        elementData.d = d;\n\n        if (!elementData.d.k) {\n          styleElem.da = elementData.d.dashArray;\n          styleElem.do = elementData.d.dashoffset[0];\n        }\n      }\n    } else {\n      styleElem.r = data.r === 2 ? \"evenodd\" : \"nonzero\";\n    }\n\n    (this || _global).stylesList.push(styleElem);\n\n    elementData.style = styleElem;\n    return elementData;\n  };\n\n  CVShapeElement.prototype.createGroupElement = function () {\n    var elementData = {\n      it: [],\n      prevViewData: []\n    };\n    return elementData;\n  };\n\n  CVShapeElement.prototype.createTransformElement = function (data) {\n    var elementData = {\n      transform: {\n        opacity: 1,\n        _opMdf: false,\n        key: (this || _global).transformsManager.getNewKey(),\n        op: PropertyFactory.getProp(this || _global, data.o, 0, 0.01, this || _global),\n        mProps: TransformPropertyFactory.getTransformProperty(this || _global, data, this || _global)\n      }\n    };\n    return elementData;\n  };\n\n  CVShapeElement.prototype.createShapeElement = function (data) {\n    var elementData = new CVShapeData(this || _global, data, (this || _global).stylesList, (this || _global).transformsManager);\n\n    (this || _global).shapes.push(elementData);\n\n    this.addShapeToModifiers(elementData);\n    return elementData;\n  };\n\n  CVShapeElement.prototype.reloadShapes = function () {\n    (this || _global)._isFirstFrame = true;\n    var i;\n    var len = (this || _global).itemsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).prevViewData[i] = (this || _global).itemsData[i];\n    }\n\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, true, []);\n    len = (this || _global).dynamicProperties.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).dynamicProperties[i].getValue();\n    }\n\n    this.renderModifiers();\n\n    (this || _global).transformsManager.processSequences((this || _global)._isFirstFrame);\n  };\n\n  CVShapeElement.prototype.addTransformToStyleList = function (transform) {\n    var i;\n    var len = (this || _global).stylesList.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (!(this || _global).stylesList[i].closed) {\n        (this || _global).stylesList[i].transforms.push(transform);\n      }\n    }\n  };\n\n  CVShapeElement.prototype.removeTransformFromStyleList = function () {\n    var i;\n    var len = (this || _global).stylesList.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (!(this || _global).stylesList[i].closed) {\n        (this || _global).stylesList[i].transforms.pop();\n      }\n    }\n  };\n\n  CVShapeElement.prototype.closeStyles = function (styles) {\n    var i;\n    var len = styles.length;\n\n    for (i = 0; i < len; i += 1) {\n      styles[i].closed = true;\n    }\n  };\n\n  CVShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, shouldRender, transforms) {\n    var i;\n    var len = arr.length - 1;\n    var j;\n    var jLen;\n    var ownStyles = [];\n    var ownModifiers = [];\n    var processedPos;\n    var modifier;\n    var currentTransform;\n    var ownTransforms = [].concat(transforms);\n\n    for (i = len; i >= 0; i -= 1) {\n      processedPos = this.searchProcessedElement(arr[i]);\n\n      if (!processedPos) {\n        arr[i]._shouldRender = shouldRender;\n      } else {\n        itemsData[i] = prevViewData[processedPos - 1];\n      }\n\n      if (arr[i].ty === \"fl\" || arr[i].ty === \"st\" || arr[i].ty === \"gf\" || arr[i].ty === \"gs\") {\n        if (!processedPos) {\n          itemsData[i] = this.createStyleElement(arr[i], ownTransforms);\n        } else {\n          itemsData[i].style.closed = false;\n        }\n\n        ownStyles.push(itemsData[i].style);\n      } else if (arr[i].ty === \"gr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createGroupElement(arr[i]);\n        } else {\n          jLen = itemsData[i].it.length;\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsData[i].prevViewData[j] = itemsData[i].it[j];\n          }\n        }\n\n        this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, shouldRender, ownTransforms);\n      } else if (arr[i].ty === \"tr\") {\n        if (!processedPos) {\n          currentTransform = this.createTransformElement(arr[i]);\n          itemsData[i] = currentTransform;\n        }\n\n        ownTransforms.push(itemsData[i]);\n        this.addTransformToStyleList(itemsData[i]);\n      } else if (arr[i].ty === \"sh\" || arr[i].ty === \"rc\" || arr[i].ty === \"el\" || arr[i].ty === \"sr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createShapeElement(arr[i]);\n        }\n      } else if (arr[i].ty === \"tm\" || arr[i].ty === \"rd\" || arr[i].ty === \"pb\") {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          modifier.init(this || _global, arr[i]);\n          itemsData[i] = modifier;\n\n          (this || _global).shapeModifiers.push(modifier);\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = false;\n        }\n\n        ownModifiers.push(modifier);\n      } else if (arr[i].ty === \"rp\") {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          itemsData[i] = modifier;\n          modifier.init(this || _global, arr, i, itemsData);\n\n          (this || _global).shapeModifiers.push(modifier);\n\n          shouldRender = false;\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = true;\n        }\n\n        ownModifiers.push(modifier);\n      }\n\n      this.addProcessedElement(arr[i], i + 1);\n    }\n\n    this.removeTransformFromStyleList();\n    this.closeStyles(ownStyles);\n    len = ownModifiers.length;\n\n    for (i = 0; i < len; i += 1) {\n      ownModifiers[i].closed = true;\n    }\n  };\n\n  CVShapeElement.prototype.renderInnerContent = function () {\n    (this || _global).transformHelper.opacity = 1;\n    (this || _global).transformHelper._opMdf = false;\n    this.renderModifiers();\n\n    (this || _global).transformsManager.processSequences((this || _global)._isFirstFrame);\n\n    this.renderShape((this || _global).transformHelper, (this || _global).shapesData, (this || _global).itemsData, true);\n  };\n\n  CVShapeElement.prototype.renderShapeTransform = function (parentTransform, groupTransform) {\n    if (parentTransform._opMdf || groupTransform.op._mdf || (this || _global)._isFirstFrame) {\n      groupTransform.opacity = parentTransform.opacity;\n      groupTransform.opacity *= groupTransform.op.v;\n      groupTransform._opMdf = true;\n    }\n  };\n\n  CVShapeElement.prototype.drawLayer = function () {\n    var i;\n    var len = (this || _global).stylesList.length;\n    var j;\n    var jLen;\n    var k;\n    var kLen;\n    var elems;\n    var nodes;\n    var renderer = (this || _global).globalData.renderer;\n    var ctx = (this || _global).globalData.canvasContext;\n    var type;\n    var currentStyle;\n\n    for (i = 0; i < len; i += 1) {\n      currentStyle = (this || _global).stylesList[i];\n      type = currentStyle.type; // Skipping style when\n      // Stroke width equals 0\n      // style should not be rendered (extra unused repeaters)\n      // current opacity equals 0\n      // global opacity equals 0\n\n      if (!((type === \"st\" || type === \"gs\") && currentStyle.wi === 0 || !currentStyle.data._shouldRender || currentStyle.coOp === 0 || (this || _global).globalData.currentGlobalAlpha === 0)) {\n        renderer.save();\n        elems = currentStyle.elements;\n\n        if (type === \"st\" || type === \"gs\") {\n          ctx.strokeStyle = type === \"st\" ? currentStyle.co : currentStyle.grd;\n          ctx.lineWidth = currentStyle.wi;\n          ctx.lineCap = currentStyle.lc;\n          ctx.lineJoin = currentStyle.lj;\n          ctx.miterLimit = currentStyle.ml || 0;\n        } else {\n          ctx.fillStyle = type === \"fl\" ? currentStyle.co : currentStyle.grd;\n        }\n\n        renderer.ctxOpacity(currentStyle.coOp);\n\n        if (type !== \"st\" && type !== \"gs\") {\n          ctx.beginPath();\n        }\n\n        renderer.ctxTransform(currentStyle.preTransforms.finalTransform.props);\n        jLen = elems.length;\n\n        for (j = 0; j < jLen; j += 1) {\n          if (type === \"st\" || type === \"gs\") {\n            ctx.beginPath();\n\n            if (currentStyle.da) {\n              ctx.setLineDash(currentStyle.da);\n              ctx.lineDashOffset = currentStyle.do;\n            }\n          }\n\n          nodes = elems[j].trNodes;\n          kLen = nodes.length;\n\n          for (k = 0; k < kLen; k += 1) {\n            if (nodes[k].t === \"m\") {\n              ctx.moveTo(nodes[k].p[0], nodes[k].p[1]);\n            } else if (nodes[k].t === \"c\") {\n              ctx.bezierCurveTo(nodes[k].pts[0], nodes[k].pts[1], nodes[k].pts[2], nodes[k].pts[3], nodes[k].pts[4], nodes[k].pts[5]);\n            } else {\n              ctx.closePath();\n            }\n          }\n\n          if (type === \"st\" || type === \"gs\") {\n            ctx.stroke();\n\n            if (currentStyle.da) {\n              ctx.setLineDash((this || _global).dashResetter);\n            }\n          }\n        }\n\n        if (type !== \"st\" && type !== \"gs\") {\n          ctx.fill(currentStyle.r);\n        }\n\n        renderer.restore();\n      }\n    }\n  };\n\n  CVShapeElement.prototype.renderShape = function (parentTransform, items, data, isMain) {\n    var i;\n    var len = items.length - 1;\n    var groupTransform;\n    groupTransform = parentTransform;\n\n    for (i = len; i >= 0; i -= 1) {\n      if (items[i].ty === \"tr\") {\n        groupTransform = data[i].transform;\n        this.renderShapeTransform(parentTransform, groupTransform);\n      } else if (items[i].ty === \"sh\" || items[i].ty === \"el\" || items[i].ty === \"rc\" || items[i].ty === \"sr\") {\n        this.renderPath(items[i], data[i]);\n      } else if (items[i].ty === \"fl\") {\n        this.renderFill(items[i], data[i], groupTransform);\n      } else if (items[i].ty === \"st\") {\n        this.renderStroke(items[i], data[i], groupTransform);\n      } else if (items[i].ty === \"gf\" || items[i].ty === \"gs\") {\n        this.renderGradientFill(items[i], data[i], groupTransform);\n      } else if (items[i].ty === \"gr\") {\n        this.renderShape(groupTransform, items[i].it, data[i].it);\n      } else if (items[i].ty === \"tm\") {//\n      }\n    }\n\n    if (isMain) {\n      this.drawLayer();\n    }\n  };\n\n  CVShapeElement.prototype.renderStyledShape = function (styledShape, shape) {\n    if ((this || _global)._isFirstFrame || shape._mdf || styledShape.transforms._mdf) {\n      var shapeNodes = styledShape.trNodes;\n      var paths = shape.paths;\n      var i;\n      var len;\n      var j;\n      var jLen = paths._length;\n      shapeNodes.length = 0;\n      var groupTransformMat = styledShape.transforms.finalTransform;\n\n      for (j = 0; j < jLen; j += 1) {\n        var pathNodes = paths.shapes[j];\n\n        if (pathNodes && pathNodes.v) {\n          len = pathNodes._length;\n\n          for (i = 1; i < len; i += 1) {\n            if (i === 1) {\n              shapeNodes.push({\n                t: \"m\",\n                p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n              });\n            }\n\n            shapeNodes.push({\n              t: \"c\",\n              pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[i], pathNodes.v[i])\n            });\n          }\n\n          if (len === 1) {\n            shapeNodes.push({\n              t: \"m\",\n              p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n            });\n          }\n\n          if (pathNodes.c && len) {\n            shapeNodes.push({\n              t: \"c\",\n              pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[0], pathNodes.v[0])\n            });\n            shapeNodes.push({\n              t: \"z\"\n            });\n          }\n        }\n      }\n\n      styledShape.trNodes = shapeNodes;\n    }\n  };\n\n  CVShapeElement.prototype.renderPath = function (pathData, itemData) {\n    if (pathData.hd !== true && pathData._shouldRender) {\n      var i;\n      var len = itemData.styledShapes.length;\n\n      for (i = 0; i < len; i += 1) {\n        this.renderStyledShape(itemData.styledShapes[i], itemData.sh);\n      }\n    }\n  };\n\n  CVShapeElement.prototype.renderFill = function (styleData, itemData, groupTransform) {\n    var styleElem = itemData.style;\n\n    if (itemData.c._mdf || (this || _global)._isFirstFrame) {\n      styleElem.co = \"rgb(\" + bmFloor(itemData.c.v[0]) + \",\" + bmFloor(itemData.c.v[1]) + \",\" + bmFloor(itemData.c.v[2]) + \")\";\n    }\n\n    if (itemData.o._mdf || groupTransform._opMdf || (this || _global)._isFirstFrame) {\n      styleElem.coOp = itemData.o.v * groupTransform.opacity;\n    }\n  };\n\n  CVShapeElement.prototype.renderGradientFill = function (styleData, itemData, groupTransform) {\n    var styleElem = itemData.style;\n    var grd;\n\n    if (!styleElem.grd || itemData.g._mdf || itemData.s._mdf || itemData.e._mdf || styleData.t !== 1 && (itemData.h._mdf || itemData.a._mdf)) {\n      var ctx = (this || _global).globalData.canvasContext;\n      var pt1 = itemData.s.v;\n      var pt2 = itemData.e.v;\n\n      if (styleData.t === 1) {\n        grd = ctx.createLinearGradient(pt1[0], pt1[1], pt2[0], pt2[1]);\n      } else {\n        var rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n        var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n        var percent = itemData.h.v;\n\n        if (percent >= 1) {\n          percent = 0.99;\n        } else if (percent <= -1) {\n          percent = -0.99;\n        }\n\n        var dist = rad * percent;\n        var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n        var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n        grd = ctx.createRadialGradient(x, y, 0, pt1[0], pt1[1], rad);\n      }\n\n      var i;\n      var len = styleData.g.p;\n      var cValues = itemData.g.c;\n      var opacity = 1;\n\n      for (i = 0; i < len; i += 1) {\n        if (itemData.g._hasOpacity && itemData.g._collapsable) {\n          opacity = itemData.g.o[i * 2 + 1];\n        }\n\n        grd.addColorStop(cValues[i * 4] / 100, \"rgba(\" + cValues[i * 4 + 1] + \",\" + cValues[i * 4 + 2] + \",\" + cValues[i * 4 + 3] + \",\" + opacity + \")\");\n      }\n\n      styleElem.grd = grd;\n    }\n\n    styleElem.coOp = itemData.o.v * groupTransform.opacity;\n  };\n\n  CVShapeElement.prototype.renderStroke = function (styleData, itemData, groupTransform) {\n    var styleElem = itemData.style;\n    var d = itemData.d;\n\n    if (d && (d._mdf || (this || _global)._isFirstFrame)) {\n      styleElem.da = d.dashArray;\n      styleElem.do = d.dashoffset[0];\n    }\n\n    if (itemData.c._mdf || (this || _global)._isFirstFrame) {\n      styleElem.co = \"rgb(\" + bmFloor(itemData.c.v[0]) + \",\" + bmFloor(itemData.c.v[1]) + \",\" + bmFloor(itemData.c.v[2]) + \")\";\n    }\n\n    if (itemData.o._mdf || groupTransform._opMdf || (this || _global)._isFirstFrame) {\n      styleElem.coOp = itemData.o.v * groupTransform.opacity;\n    }\n\n    if (itemData.w._mdf || (this || _global)._isFirstFrame) {\n      styleElem.wi = itemData.w.v;\n    }\n  };\n\n  CVShapeElement.prototype.destroy = function () {\n    (this || _global).shapesData = null;\n    (this || _global).globalData = null;\n    (this || _global).canvasContext = null;\n    (this || _global).stylesList.length = 0;\n    (this || _global).itemsData.length = 0;\n  };\n  /* global extendPrototype, BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement,\r\n  SVGShapeElement, IImageElement */\n\n\n  function CVSolidElement(data, globalData, comp) {\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement);\n  CVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n  CVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n  CVSolidElement.prototype.renderInnerContent = function () {\n    var ctx = (this || _global).canvasContext;\n    ctx.fillStyle = (this || _global).data.sc;\n    ctx.fillRect(0, 0, (this || _global).data.sw, (this || _global).data.sh); //\n  };\n  /* global extendPrototype, BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement,\r\n  RenderableElement, ITextElement, createTag, createSizedArray */\n\n\n  function CVTextElement(data, globalData, comp) {\n    (this || _global).textSpans = [];\n    (this || _global).yOffset = 0;\n    (this || _global).fillColorAnim = false;\n    (this || _global).strokeColorAnim = false;\n    (this || _global).strokeWidthAnim = false;\n    (this || _global).stroke = false;\n    (this || _global).fill = false;\n    (this || _global).justifyOffset = 0;\n    (this || _global).currentRender = null;\n    (this || _global).renderType = \"canvas\";\n    (this || _global).values = {\n      fill: \"rgba(0,0,0,0)\",\n      stroke: \"rgba(0,0,0,0)\",\n      sWidth: 0,\n      fValue: \"\"\n    };\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement, ITextElement], CVTextElement);\n  CVTextElement.prototype.tHelper = createTag(\"canvas\").getContext(\"2d\");\n\n  CVTextElement.prototype.buildNewText = function () {\n    var documentData = (this || _global).textProperty.currentData;\n    (this || _global).renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n    var hasFill = false;\n\n    if (documentData.fc) {\n      hasFill = true;\n      (this || _global).values.fill = this.buildColor(documentData.fc);\n    } else {\n      (this || _global).values.fill = \"rgba(0,0,0,0)\";\n    }\n\n    (this || _global).fill = hasFill;\n    var hasStroke = false;\n\n    if (documentData.sc) {\n      hasStroke = true;\n      (this || _global).values.stroke = this.buildColor(documentData.sc);\n      (this || _global).values.sWidth = documentData.sw;\n    }\n\n    var fontData = (this || _global).globalData.fontManager.getFontByName(documentData.f);\n\n    var i;\n    var len;\n    var letters = documentData.l;\n    var matrixHelper = (this || _global).mHelper;\n    (this || _global).stroke = hasStroke;\n    (this || _global).values.fValue = documentData.finalSize + \"px \" + (this || _global).globalData.fontManager.getFontByName(documentData.f).fFamily;\n    len = documentData.finalText.length; // this.tHelper.font = this.values.fValue;\n\n    var charData;\n    var shapeData;\n    var k;\n    var kLen;\n    var shapes;\n    var j;\n    var jLen;\n    var pathNodes;\n    var commands;\n    var pathArr;\n    var singleShape = (this || _global).data.singleShape;\n    var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n    var xPos = 0;\n    var yPos = 0;\n    var firstLine = true;\n    var cnt = 0;\n\n    for (i = 0; i < len; i += 1) {\n      charData = (this || _global).globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, (this || _global).globalData.fontManager.getFontByName(documentData.f).fFamily);\n      shapeData = charData && charData.data || {};\n      matrixHelper.reset();\n\n      if (singleShape && letters[i].n) {\n        xPos = -trackingOffset;\n        yPos += documentData.yOffset;\n        yPos += firstLine ? 1 : 0;\n        firstLine = false;\n      }\n\n      shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\n      jLen = shapes.length;\n      matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n\n      if (singleShape) {\n        this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n      }\n\n      commands = createSizedArray(jLen);\n\n      for (j = 0; j < jLen; j += 1) {\n        kLen = shapes[j].ks.k.i.length;\n        pathNodes = shapes[j].ks.k;\n        pathArr = [];\n\n        for (k = 1; k < kLen; k += 1) {\n          if (k === 1) {\n            pathArr.push(matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n          }\n\n          pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToY(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToX(pathNodes.v[k][0], pathNodes.v[k][1], 0), matrixHelper.applyToY(pathNodes.v[k][0], pathNodes.v[k][1], 0));\n        }\n\n        pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToY(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n        commands[j] = pathArr;\n      }\n\n      if (singleShape) {\n        xPos += letters[i].l;\n        xPos += trackingOffset;\n      }\n\n      if ((this || _global).textSpans[cnt]) {\n        (this || _global).textSpans[cnt].elem = commands;\n      } else {\n        (this || _global).textSpans[cnt] = {\n          elem: commands\n        };\n      }\n\n      cnt += 1;\n    }\n  };\n\n  CVTextElement.prototype.renderInnerContent = function () {\n    var ctx = (this || _global).canvasContext;\n    ctx.font = (this || _global).values.fValue;\n    ctx.lineCap = \"butt\";\n    ctx.lineJoin = \"miter\";\n    ctx.miterLimit = 4;\n\n    if (!(this || _global).data.singleShape) {\n      (this || _global).textAnimator.getMeasures((this || _global).textProperty.currentData, (this || _global).lettersChangedFlag);\n    }\n\n    var i;\n    var len;\n    var j;\n    var jLen;\n    var k;\n    var kLen;\n    var renderedLetters = (this || _global).textAnimator.renderedLetters;\n    var letters = (this || _global).textProperty.currentData.l;\n    len = letters.length;\n    var renderedLetter;\n    var lastFill = null;\n    var lastStroke = null;\n    var lastStrokeW = null;\n    var commands;\n    var pathArr;\n\n    for (i = 0; i < len; i += 1) {\n      if (!letters[i].n) {\n        renderedLetter = renderedLetters[i];\n\n        if (renderedLetter) {\n          (this || _global).globalData.renderer.save();\n\n          (this || _global).globalData.renderer.ctxTransform(renderedLetter.p);\n\n          (this || _global).globalData.renderer.ctxOpacity(renderedLetter.o);\n        }\n\n        if ((this || _global).fill) {\n          if (renderedLetter && renderedLetter.fc) {\n            if (lastFill !== renderedLetter.fc) {\n              lastFill = renderedLetter.fc;\n              ctx.fillStyle = renderedLetter.fc;\n            }\n          } else if (lastFill !== (this || _global).values.fill) {\n            lastFill = (this || _global).values.fill;\n            ctx.fillStyle = (this || _global).values.fill;\n          }\n\n          commands = (this || _global).textSpans[i].elem;\n          jLen = commands.length;\n\n          (this || _global).globalData.canvasContext.beginPath();\n\n          for (j = 0; j < jLen; j += 1) {\n            pathArr = commands[j];\n            kLen = pathArr.length;\n\n            (this || _global).globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n            for (k = 2; k < kLen; k += 6) {\n              (this || _global).globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n            }\n          }\n\n          (this || _global).globalData.canvasContext.closePath();\n\n          (this || _global).globalData.canvasContext.fill(); /// ctx.fillText(this.textSpans[i].val,0,0);\n\n        }\n\n        if ((this || _global).stroke) {\n          if (renderedLetter && renderedLetter.sw) {\n            if (lastStrokeW !== renderedLetter.sw) {\n              lastStrokeW = renderedLetter.sw;\n              ctx.lineWidth = renderedLetter.sw;\n            }\n          } else if (lastStrokeW !== (this || _global).values.sWidth) {\n            lastStrokeW = (this || _global).values.sWidth;\n            ctx.lineWidth = (this || _global).values.sWidth;\n          }\n\n          if (renderedLetter && renderedLetter.sc) {\n            if (lastStroke !== renderedLetter.sc) {\n              lastStroke = renderedLetter.sc;\n              ctx.strokeStyle = renderedLetter.sc;\n            }\n          } else if (lastStroke !== (this || _global).values.stroke) {\n            lastStroke = (this || _global).values.stroke;\n            ctx.strokeStyle = (this || _global).values.stroke;\n          }\n\n          commands = (this || _global).textSpans[i].elem;\n          jLen = commands.length;\n\n          (this || _global).globalData.canvasContext.beginPath();\n\n          for (j = 0; j < jLen; j += 1) {\n            pathArr = commands[j];\n            kLen = pathArr.length;\n\n            (this || _global).globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n            for (k = 2; k < kLen; k += 6) {\n              (this || _global).globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n            }\n          }\n\n          (this || _global).globalData.canvasContext.closePath();\n\n          (this || _global).globalData.canvasContext.stroke(); /// ctx.strokeText(letters[i].val,0,0);\n\n        }\n\n        if (renderedLetter) {\n          (this || _global).globalData.renderer.restore();\n        }\n      }\n    }\n  };\n\n  function CVEffects() {}\n\n  CVEffects.prototype.renderFrame = function () {};\n  /* global createTag, createNS, styleDiv, CVEffects, MaskElement, SVGBaseElement, HybridRenderer */\n\n\n  function HBaseElement() {}\n\n  HBaseElement.prototype = {\n    checkBlendMode: function () {},\n    initRendererElement: function () {\n      (this || _global).baseElement = createTag((this || _global).data.tg || \"div\");\n\n      if ((this || _global).data.hasMask) {\n        (this || _global).svgElement = createNS(\"svg\");\n        (this || _global).layerElement = createNS(\"g\");\n        (this || _global).maskedElement = (this || _global).layerElement;\n\n        (this || _global).svgElement.appendChild((this || _global).layerElement);\n\n        (this || _global).baseElement.appendChild((this || _global).svgElement);\n      } else {\n        (this || _global).layerElement = (this || _global).baseElement;\n      }\n\n      styleDiv((this || _global).baseElement);\n    },\n    createContainerElements: function () {\n      (this || _global).renderableEffectsManager = new CVEffects(this || _global);\n      (this || _global).transformedElement = (this || _global).baseElement;\n      (this || _global).maskedElement = (this || _global).layerElement;\n\n      if ((this || _global).data.ln) {\n        (this || _global).layerElement.setAttribute(\"id\", (this || _global).data.ln);\n      }\n\n      if ((this || _global).data.cl) {\n        (this || _global).layerElement.setAttribute(\"class\", (this || _global).data.cl);\n      }\n\n      if ((this || _global).data.bm !== 0) {\n        this.setBlendMode();\n      }\n    },\n    renderElement: function () {\n      var transformedElementStyle = (this || _global).transformedElement ? (this || _global).transformedElement.style : {};\n\n      if ((this || _global).finalTransform._matMdf) {\n        var matrixValue = (this || _global).finalTransform.mat.toCSS();\n\n        transformedElementStyle.transform = matrixValue;\n        transformedElementStyle.webkitTransform = matrixValue;\n      }\n\n      if ((this || _global).finalTransform._opMdf) {\n        transformedElementStyle.opacity = (this || _global).finalTransform.mProp.o.v;\n      }\n    },\n    renderFrame: function () {\n      // If it is exported as hidden (data.hd === true) no need to render\n      // If it is not visible no need to render\n      if ((this || _global).data.hd || (this || _global).hidden) {\n        return;\n      }\n\n      this.renderTransform();\n      this.renderRenderable();\n      this.renderElement();\n      this.renderInnerContent();\n\n      if ((this || _global)._isFirstFrame) {\n        (this || _global)._isFirstFrame = false;\n      }\n    },\n    destroy: function () {\n      (this || _global).layerElement = null;\n      (this || _global).transformedElement = null;\n\n      if ((this || _global).matteElement) {\n        (this || _global).matteElement = null;\n      }\n\n      if ((this || _global).maskManager) {\n        (this || _global).maskManager.destroy();\n\n        (this || _global).maskManager = null;\n      }\n    },\n    createRenderableComponents: function () {\n      (this || _global).maskManager = new MaskElement((this || _global).data, this || _global, (this || _global).globalData);\n    },\n    addEffects: function () {},\n    setMatte: function () {}\n  };\n  HBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement;\n  HBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy;\n  HBaseElement.prototype.buildElementParenting = HybridRenderer.prototype.buildElementParenting;\n  /* global extendPrototype, BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement,\r\n  RenderableDOMElement, createNS, createTag */\n\n  function HSolidElement(data, globalData, comp) {\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], HSolidElement);\n\n  HSolidElement.prototype.createContent = function () {\n    var rect;\n\n    if ((this || _global).data.hasMask) {\n      rect = createNS(\"rect\");\n      rect.setAttribute(\"width\", (this || _global).data.sw);\n      rect.setAttribute(\"height\", (this || _global).data.sh);\n      rect.setAttribute(\"fill\", (this || _global).data.sc);\n\n      (this || _global).svgElement.setAttribute(\"width\", (this || _global).data.sw);\n\n      (this || _global).svgElement.setAttribute(\"height\", (this || _global).data.sh);\n    } else {\n      rect = createTag(\"div\");\n      rect.style.width = (this || _global).data.sw + \"px\";\n      rect.style.height = (this || _global).data.sh + \"px\";\n      rect.style.backgroundColor = (this || _global).data.sc;\n    }\n\n    (this || _global).layerElement.appendChild(rect);\n  };\n  /* global createSizedArray, PropertyFactory, extendPrototype, HybridRenderer, ICompElement, HBaseElement */\n\n\n  function HCompElement(data, globalData, comp) {\n    (this || _global).layers = data.layers;\n    (this || _global).supports3d = !data.hasMask;\n    (this || _global).completeLayers = false;\n    (this || _global).pendingElements = [];\n    (this || _global).elements = (this || _global).layers ? createSizedArray((this || _global).layers.length) : [];\n    this.initElement(data, globalData, comp);\n    (this || _global).tm = data.tm ? PropertyFactory.getProp(this || _global, data.tm, 0, globalData.frameRate, this || _global) : {\n      _placeholder: true\n    };\n  }\n\n  extendPrototype([HybridRenderer, ICompElement, HBaseElement], HCompElement);\n  HCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements;\n\n  HCompElement.prototype.createContainerElements = function () {\n    this._createBaseContainerElements(); // divElement.style.clip = 'rect(0px, '+this.data.w+'px, '+this.data.h+'px, 0px)';\n\n\n    if ((this || _global).data.hasMask) {\n      (this || _global).svgElement.setAttribute(\"width\", (this || _global).data.w);\n\n      (this || _global).svgElement.setAttribute(\"height\", (this || _global).data.h);\n\n      (this || _global).transformedElement = (this || _global).baseElement;\n    } else {\n      (this || _global).transformedElement = (this || _global).layerElement;\n    }\n  };\n\n  HCompElement.prototype.addTo3dContainer = function (elem, pos) {\n    var j = 0;\n    var nextElement;\n\n    while (j < pos) {\n      if ((this || _global).elements[j] && (this || _global).elements[j].getBaseElement) {\n        nextElement = (this || _global).elements[j].getBaseElement();\n      }\n\n      j += 1;\n    }\n\n    if (nextElement) {\n      (this || _global).layerElement.insertBefore(elem, nextElement);\n    } else {\n      (this || _global).layerElement.appendChild(elem);\n    }\n  };\n  /* global createNS, extendPrototype, BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement,\r\n  HierarchyElement, FrameElement, RenderableElement, createNS, bmMin, bmSqrt, bmMin, bmMax, bmPow */\n\n\n  function HShapeElement(data, globalData, comp) {\n    // List of drawable elements\n    (this || _global).shapes = []; // Full shape data\n\n    (this || _global).shapesData = data.shapes; // List of styles that will be applied to shapes\n\n    (this || _global).stylesList = []; // List of modifiers that will be applied to shapes\n\n    (this || _global).shapeModifiers = []; // List of items in shape tree\n\n    (this || _global).itemsData = []; // List of items in previous shape tree\n\n    (this || _global).processedElements = []; // List of animated components\n\n    (this || _global).animatedContents = [];\n    (this || _global).shapesContainer = createNS(\"g\");\n    this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n    // List of elements that have been created\n\n    (this || _global).prevViewData = [];\n    (this || _global).currentBBox = {\n      x: 999999,\n      y: -999999,\n      h: 0,\n      w: 0\n    };\n  }\n\n  extendPrototype([BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement, HierarchyElement, FrameElement, RenderableElement], HShapeElement);\n  HShapeElement.prototype._renderShapeFrame = HShapeElement.prototype.renderInnerContent;\n\n  HShapeElement.prototype.createContent = function () {\n    var cont;\n    (this || _global).baseElement.style.fontSize = 0;\n\n    if ((this || _global).data.hasMask) {\n      (this || _global).layerElement.appendChild((this || _global).shapesContainer);\n\n      cont = (this || _global).svgElement;\n    } else {\n      cont = createNS(\"svg\");\n      var size = (this || _global).comp.data ? (this || _global).comp.data : (this || _global).globalData.compSize;\n      cont.setAttribute(\"width\", size.w);\n      cont.setAttribute(\"height\", size.h);\n      cont.appendChild((this || _global).shapesContainer);\n\n      (this || _global).layerElement.appendChild(cont);\n    }\n\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, (this || _global).shapesContainer, 0, [], true);\n    this.filterUniqueShapes();\n    (this || _global).shapeCont = cont;\n  };\n\n  HShapeElement.prototype.getTransformedPoint = function (transformers, point) {\n    var i;\n    var len = transformers.length;\n\n    for (i = 0; i < len; i += 1) {\n      point = transformers[i].mProps.v.applyToPointArray(point[0], point[1], 0);\n    }\n\n    return point;\n  };\n\n  HShapeElement.prototype.calculateShapeBoundingBox = function (item, boundingBox) {\n    var shape = item.sh.v;\n    var transformers = item.transformers;\n    var i;\n    var len = shape._length;\n    var vPoint;\n    var oPoint;\n    var nextIPoint;\n    var nextVPoint;\n\n    if (len <= 1) {\n      return;\n    }\n\n    for (i = 0; i < len - 1; i += 1) {\n      vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n      oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n      nextIPoint = this.getTransformedPoint(transformers, shape.i[i + 1]);\n      nextVPoint = this.getTransformedPoint(transformers, shape.v[i + 1]);\n      this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n    }\n\n    if (shape.c) {\n      vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n      oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n      nextIPoint = this.getTransformedPoint(transformers, shape.i[0]);\n      nextVPoint = this.getTransformedPoint(transformers, shape.v[0]);\n      this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n    }\n  };\n\n  HShapeElement.prototype.checkBounds = function (vPoint, oPoint, nextIPoint, nextVPoint, boundingBox) {\n    this.getBoundsOfCurve(vPoint, oPoint, nextIPoint, nextVPoint);\n    var bounds = (this || _global).shapeBoundingBox;\n    boundingBox.x = bmMin(bounds.left, boundingBox.x);\n    boundingBox.xMax = bmMax(bounds.right, boundingBox.xMax);\n    boundingBox.y = bmMin(bounds.top, boundingBox.y);\n    boundingBox.yMax = bmMax(bounds.bottom, boundingBox.yMax);\n  };\n\n  HShapeElement.prototype.shapeBoundingBox = {\n    left: 0,\n    right: 0,\n    top: 0,\n    bottom: 0\n  };\n  HShapeElement.prototype.tempBoundingBox = {\n    x: 0,\n    xMax: 0,\n    y: 0,\n    yMax: 0,\n    width: 0,\n    height: 0\n  };\n\n  HShapeElement.prototype.getBoundsOfCurve = function (p0, p1, p2, p3) {\n    var bounds = [[p0[0], p3[0]], [p0[1], p3[1]]];\n\n    for (var a, b, c, t, b2ac, t1, t2, i = 0; i < 2; ++i) {\n      // eslint-disable-line no-plusplus\n      b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i];\n      a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i];\n      c = 3 * p1[i] - 3 * p0[i];\n      b |= 0; // eslint-disable-line no-bitwise\n\n      a |= 0; // eslint-disable-line no-bitwise\n\n      c |= 0; // eslint-disable-line no-bitwise\n\n      if (a === 0 && b === 0) {//\n      } else if (a === 0) {\n        t = -c / b;\n\n        if (t > 0 && t < 1) {\n          bounds[i].push(this.calculateF(t, p0, p1, p2, p3, i));\n        }\n      } else {\n        b2ac = b * b - 4 * c * a;\n\n        if (b2ac >= 0) {\n          t1 = (-b + bmSqrt(b2ac)) / (2 * a);\n          if (t1 > 0 && t1 < 1) bounds[i].push(this.calculateF(t1, p0, p1, p2, p3, i));\n          t2 = (-b - bmSqrt(b2ac)) / (2 * a);\n          if (t2 > 0 && t2 < 1) bounds[i].push(this.calculateF(t2, p0, p1, p2, p3, i));\n        }\n      }\n    }\n\n    (this || _global).shapeBoundingBox.left = bmMin.apply(null, bounds[0]);\n    (this || _global).shapeBoundingBox.top = bmMin.apply(null, bounds[1]);\n    (this || _global).shapeBoundingBox.right = bmMax.apply(null, bounds[0]);\n    (this || _global).shapeBoundingBox.bottom = bmMax.apply(null, bounds[1]);\n  };\n\n  HShapeElement.prototype.calculateF = function (t, p0, p1, p2, p3, i) {\n    return bmPow(1 - t, 3) * p0[i] + 3 * bmPow(1 - t, 2) * t * p1[i] + 3 * (1 - t) * bmPow(t, 2) * p2[i] + bmPow(t, 3) * p3[i];\n  };\n\n  HShapeElement.prototype.calculateBoundingBox = function (itemsData, boundingBox) {\n    var i;\n    var len = itemsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (itemsData[i] && itemsData[i].sh) {\n        this.calculateShapeBoundingBox(itemsData[i], boundingBox);\n      } else if (itemsData[i] && itemsData[i].it) {\n        this.calculateBoundingBox(itemsData[i].it, boundingBox);\n      }\n    }\n  };\n\n  HShapeElement.prototype.currentBoxContains = function (box) {\n    return (this || _global).currentBBox.x <= box.x && (this || _global).currentBBox.y <= box.y && (this || _global).currentBBox.width + (this || _global).currentBBox.x >= box.x + box.width && (this || _global).currentBBox.height + (this || _global).currentBBox.y >= box.y + box.height;\n  };\n\n  HShapeElement.prototype.renderInnerContent = function () {\n    this._renderShapeFrame();\n\n    if (!(this || _global).hidden && ((this || _global)._isFirstFrame || (this || _global)._mdf)) {\n      var tempBoundingBox = (this || _global).tempBoundingBox;\n      var max = 999999;\n      tempBoundingBox.x = max;\n      tempBoundingBox.xMax = -max;\n      tempBoundingBox.y = max;\n      tempBoundingBox.yMax = -max;\n      this.calculateBoundingBox((this || _global).itemsData, tempBoundingBox);\n      tempBoundingBox.width = tempBoundingBox.xMax < tempBoundingBox.x ? 0 : tempBoundingBox.xMax - tempBoundingBox.x;\n      tempBoundingBox.height = tempBoundingBox.yMax < tempBoundingBox.y ? 0 : tempBoundingBox.yMax - tempBoundingBox.y; // var tempBoundingBox = this.shapeCont.getBBox();\n\n      if (this.currentBoxContains(tempBoundingBox)) {\n        return;\n      }\n\n      var changed = false;\n\n      if ((this || _global).currentBBox.w !== tempBoundingBox.width) {\n        (this || _global).currentBBox.w = tempBoundingBox.width;\n\n        (this || _global).shapeCont.setAttribute(\"width\", tempBoundingBox.width);\n\n        changed = true;\n      }\n\n      if ((this || _global).currentBBox.h !== tempBoundingBox.height) {\n        (this || _global).currentBBox.h = tempBoundingBox.height;\n\n        (this || _global).shapeCont.setAttribute(\"height\", tempBoundingBox.height);\n\n        changed = true;\n      }\n\n      if (changed || (this || _global).currentBBox.x !== tempBoundingBox.x || (this || _global).currentBBox.y !== tempBoundingBox.y) {\n        (this || _global).currentBBox.w = tempBoundingBox.width;\n        (this || _global).currentBBox.h = tempBoundingBox.height;\n        (this || _global).currentBBox.x = tempBoundingBox.x;\n        (this || _global).currentBBox.y = tempBoundingBox.y;\n\n        (this || _global).shapeCont.setAttribute(\"viewBox\", (this || _global).currentBBox.x + \" \" + (this || _global).currentBBox.y + \" \" + (this || _global).currentBBox.w + \" \" + (this || _global).currentBBox.h);\n\n        var shapeStyle = (this || _global).shapeCont.style;\n        var shapeTransform = \"translate(\" + (this || _global).currentBBox.x + \"px,\" + (this || _global).currentBBox.y + \"px)\";\n        shapeStyle.transform = shapeTransform;\n        shapeStyle.webkitTransform = shapeTransform;\n      }\n    }\n  };\n  /* global extendPrototype, BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement,\r\n  RenderableDOMElement, ITextElement, createSizedArray, createTag, styleDiv, createNS */\n\n\n  function HTextElement(data, globalData, comp) {\n    (this || _global).textSpans = [];\n    (this || _global).textPaths = [];\n    (this || _global).currentBBox = {\n      x: 999999,\n      y: -999999,\n      h: 0,\n      w: 0\n    };\n    (this || _global).renderType = \"svg\";\n    (this || _global).isMasked = false;\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], HTextElement);\n\n  HTextElement.prototype.createContent = function () {\n    (this || _global).isMasked = this.checkMasks();\n\n    if ((this || _global).isMasked) {\n      (this || _global).renderType = \"svg\";\n      (this || _global).compW = (this || _global).comp.data.w;\n      (this || _global).compH = (this || _global).comp.data.h;\n\n      (this || _global).svgElement.setAttribute(\"width\", (this || _global).compW);\n\n      (this || _global).svgElement.setAttribute(\"height\", (this || _global).compH);\n\n      var g = createNS(\"g\");\n\n      (this || _global).maskedElement.appendChild(g);\n\n      (this || _global).innerElem = g;\n    } else {\n      (this || _global).renderType = \"html\";\n      (this || _global).innerElem = (this || _global).layerElement;\n    }\n\n    this.checkParenting();\n  };\n\n  HTextElement.prototype.buildNewText = function () {\n    var documentData = (this || _global).textProperty.currentData;\n    (this || _global).renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n    var innerElemStyle = (this || _global).innerElem.style;\n    var textColor = documentData.fc ? this.buildColor(documentData.fc) : \"rgba(0,0,0,0)\";\n    innerElemStyle.fill = textColor;\n    innerElemStyle.color = textColor;\n\n    if (documentData.sc) {\n      innerElemStyle.stroke = this.buildColor(documentData.sc);\n      innerElemStyle.strokeWidth = documentData.sw + \"px\";\n    }\n\n    var fontData = (this || _global).globalData.fontManager.getFontByName(documentData.f);\n\n    if (!(this || _global).globalData.fontManager.chars) {\n      innerElemStyle.fontSize = documentData.finalSize + \"px\";\n      innerElemStyle.lineHeight = documentData.finalSize + \"px\";\n\n      if (fontData.fClass) {\n        (this || _global).innerElem.className = fontData.fClass;\n      } else {\n        innerElemStyle.fontFamily = fontData.fFamily;\n        var fWeight = documentData.fWeight;\n        var fStyle = documentData.fStyle;\n        innerElemStyle.fontStyle = fStyle;\n        innerElemStyle.fontWeight = fWeight;\n      }\n    }\n\n    var i;\n    var len;\n    var letters = documentData.l;\n    len = letters.length;\n    var tSpan;\n    var tParent;\n    var tCont;\n    var matrixHelper = (this || _global).mHelper;\n    var shapes;\n    var shapeStr = \"\";\n    var cnt = 0;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).globalData.fontManager.chars) {\n        if (!(this || _global).textPaths[cnt]) {\n          tSpan = createNS(\"path\");\n          tSpan.setAttribute(\"stroke-linecap\", \"butt\");\n          tSpan.setAttribute(\"stroke-linejoin\", \"round\");\n          tSpan.setAttribute(\"stroke-miterlimit\", \"4\");\n        } else {\n          tSpan = (this || _global).textPaths[cnt];\n        }\n\n        if (!(this || _global).isMasked) {\n          if ((this || _global).textSpans[cnt]) {\n            tParent = (this || _global).textSpans[cnt];\n            tCont = tParent.children[0];\n          } else {\n            tParent = createTag(\"div\");\n            tParent.style.lineHeight = 0;\n            tCont = createNS(\"svg\");\n            tCont.appendChild(tSpan);\n            styleDiv(tParent);\n          }\n        }\n      } else if (!(this || _global).isMasked) {\n        if ((this || _global).textSpans[cnt]) {\n          tParent = (this || _global).textSpans[cnt];\n          tSpan = (this || _global).textPaths[cnt];\n        } else {\n          tParent = createTag(\"span\");\n          styleDiv(tParent);\n          tSpan = createTag(\"span\");\n          styleDiv(tSpan);\n          tParent.appendChild(tSpan);\n        }\n      } else {\n        tSpan = (this || _global).textPaths[cnt] ? (this || _global).textPaths[cnt] : createNS(\"text\");\n      } // tSpan.setAttribute('visibility', 'hidden');\n\n\n      if ((this || _global).globalData.fontManager.chars) {\n        var charData = (this || _global).globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, (this || _global).globalData.fontManager.getFontByName(documentData.f).fFamily);\n\n        var shapeData;\n\n        if (charData) {\n          shapeData = charData.data;\n        } else {\n          shapeData = null;\n        }\n\n        matrixHelper.reset();\n\n        if (shapeData && shapeData.shapes) {\n          shapes = shapeData.shapes[0].it;\n          matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n          shapeStr = this.createPathShape(matrixHelper, shapes);\n          tSpan.setAttribute(\"d\", shapeStr);\n        }\n\n        if (!(this || _global).isMasked) {\n          (this || _global).innerElem.appendChild(tParent);\n\n          if (shapeData && shapeData.shapes) {\n            // document.body.appendChild is needed to get exact measure of shape\n            document.body.appendChild(tCont);\n            var boundingBox = tCont.getBBox();\n            tCont.setAttribute(\"width\", boundingBox.width + 2);\n            tCont.setAttribute(\"height\", boundingBox.height + 2);\n            tCont.setAttribute(\"viewBox\", boundingBox.x - 1 + \" \" + (boundingBox.y - 1) + \" \" + (boundingBox.width + 2) + \" \" + (boundingBox.height + 2));\n            var tContStyle = tCont.style;\n            var tContTranslation = \"translate(\" + (boundingBox.x - 1) + \"px,\" + (boundingBox.y - 1) + \"px)\";\n            tContStyle.transform = tContTranslation;\n            tContStyle.webkitTransform = tContTranslation;\n            letters[i].yOffset = boundingBox.y - 1;\n          } else {\n            tCont.setAttribute(\"width\", 1);\n            tCont.setAttribute(\"height\", 1);\n          }\n\n          tParent.appendChild(tCont);\n        } else {\n          (this || _global).innerElem.appendChild(tSpan);\n        }\n      } else {\n        tSpan.textContent = letters[i].val;\n        tSpan.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\");\n\n        if (!(this || _global).isMasked) {\n          (this || _global).innerElem.appendChild(tParent); //\n\n\n          var tStyle = tSpan.style;\n          var tSpanTranslation = \"translate3d(0,\" + -documentData.finalSize / 1.2 + \"px,0)\";\n          tStyle.transform = tSpanTranslation;\n          tStyle.webkitTransform = tSpanTranslation;\n        } else {\n          (this || _global).innerElem.appendChild(tSpan);\n        }\n      } //\n\n\n      if (!(this || _global).isMasked) {\n        (this || _global).textSpans[cnt] = tParent;\n      } else {\n        (this || _global).textSpans[cnt] = tSpan;\n      }\n\n      (this || _global).textSpans[cnt].style.display = \"block\";\n      (this || _global).textPaths[cnt] = tSpan;\n      cnt += 1;\n    }\n\n    while (cnt < (this || _global).textSpans.length) {\n      (this || _global).textSpans[cnt].style.display = \"none\";\n      cnt += 1;\n    }\n  };\n\n  HTextElement.prototype.renderInnerContent = function () {\n    var svgStyle;\n\n    if ((this || _global).data.singleShape) {\n      if (!(this || _global)._isFirstFrame && !(this || _global).lettersChangedFlag) {\n        return;\n      }\n\n      if ((this || _global).isMasked && (this || _global).finalTransform._matMdf) {\n        // Todo Benchmark if using this is better than getBBox\n        (this || _global).svgElement.setAttribute(\"viewBox\", -(this || _global).finalTransform.mProp.p.v[0] + \" \" + -(this || _global).finalTransform.mProp.p.v[1] + \" \" + (this || _global).compW + \" \" + (this || _global).compH);\n\n        svgStyle = (this || _global).svgElement.style;\n        var translation = \"translate(\" + -(this || _global).finalTransform.mProp.p.v[0] + \"px,\" + -(this || _global).finalTransform.mProp.p.v[1] + \"px)\";\n        svgStyle.transform = translation;\n        svgStyle.webkitTransform = translation;\n      }\n    }\n\n    (this || _global).textAnimator.getMeasures((this || _global).textProperty.currentData, (this || _global).lettersChangedFlag);\n\n    if (!(this || _global).lettersChangedFlag && !(this || _global).textAnimator.lettersChangedFlag) {\n      return;\n    }\n\n    var i;\n    var len;\n    var count = 0;\n    var renderedLetters = (this || _global).textAnimator.renderedLetters;\n    var letters = (this || _global).textProperty.currentData.l;\n    len = letters.length;\n    var renderedLetter;\n    var textSpan;\n    var textPath;\n\n    for (i = 0; i < len; i += 1) {\n      if (letters[i].n) {\n        count += 1;\n      } else {\n        textSpan = (this || _global).textSpans[i];\n        textPath = (this || _global).textPaths[i];\n        renderedLetter = renderedLetters[count];\n        count += 1;\n\n        if (renderedLetter._mdf.m) {\n          if (!(this || _global).isMasked) {\n            textSpan.style.webkitTransform = renderedLetter.m;\n            textSpan.style.transform = renderedLetter.m;\n          } else {\n            textSpan.setAttribute(\"transform\", renderedLetter.m);\n          }\n        } /// /textSpan.setAttribute('opacity',renderedLetter.o);\n\n\n        textSpan.style.opacity = renderedLetter.o;\n\n        if (renderedLetter.sw && renderedLetter._mdf.sw) {\n          textPath.setAttribute(\"stroke-width\", renderedLetter.sw);\n        }\n\n        if (renderedLetter.sc && renderedLetter._mdf.sc) {\n          textPath.setAttribute(\"stroke\", renderedLetter.sc);\n        }\n\n        if (renderedLetter.fc && renderedLetter._mdf.fc) {\n          textPath.setAttribute(\"fill\", renderedLetter.fc);\n          textPath.style.color = renderedLetter.fc;\n        }\n      }\n    }\n\n    if ((this || _global).innerElem.getBBox && !(this || _global).hidden && ((this || _global)._isFirstFrame || (this || _global)._mdf)) {\n      var boundingBox = (this || _global).innerElem.getBBox();\n\n      if ((this || _global).currentBBox.w !== boundingBox.width) {\n        (this || _global).currentBBox.w = boundingBox.width;\n\n        (this || _global).svgElement.setAttribute(\"width\", boundingBox.width);\n      }\n\n      if ((this || _global).currentBBox.h !== boundingBox.height) {\n        (this || _global).currentBBox.h = boundingBox.height;\n\n        (this || _global).svgElement.setAttribute(\"height\", boundingBox.height);\n      }\n\n      var margin = 1;\n\n      if ((this || _global).currentBBox.w !== boundingBox.width + margin * 2 || (this || _global).currentBBox.h !== boundingBox.height + margin * 2 || (this || _global).currentBBox.x !== boundingBox.x - margin || (this || _global).currentBBox.y !== boundingBox.y - margin) {\n        (this || _global).currentBBox.w = boundingBox.width + margin * 2;\n        (this || _global).currentBBox.h = boundingBox.height + margin * 2;\n        (this || _global).currentBBox.x = boundingBox.x - margin;\n        (this || _global).currentBBox.y = boundingBox.y - margin;\n\n        (this || _global).svgElement.setAttribute(\"viewBox\", (this || _global).currentBBox.x + \" \" + (this || _global).currentBBox.y + \" \" + (this || _global).currentBBox.w + \" \" + (this || _global).currentBBox.h);\n\n        svgStyle = (this || _global).svgElement.style;\n        var svgTransform = \"translate(\" + (this || _global).currentBBox.x + \"px,\" + (this || _global).currentBBox.y + \"px)\";\n        svgStyle.transform = svgTransform;\n        svgStyle.webkitTransform = svgTransform;\n      }\n    }\n  };\n  /* global extendPrototype, BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement,\r\n  FrameElement, RenderableElement, createNS */\n\n\n  function HImageElement(data, globalData, comp) {\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement, FrameElement, RenderableElement], HImageElement);\n\n  HImageElement.prototype.createContent = function () {\n    var assetPath = (this || _global).globalData.getAssetsPath((this || _global).assetData);\n\n    var img = new Image();\n\n    if ((this || _global).data.hasMask) {\n      (this || _global).imageElem = createNS(\"image\");\n\n      (this || _global).imageElem.setAttribute(\"width\", (this || _global).assetData.w + \"px\");\n\n      (this || _global).imageElem.setAttribute(\"height\", (this || _global).assetData.h + \"px\");\n\n      (this || _global).imageElem.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", assetPath);\n\n      (this || _global).layerElement.appendChild((this || _global).imageElem);\n\n      (this || _global).baseElement.setAttribute(\"width\", (this || _global).assetData.w);\n\n      (this || _global).baseElement.setAttribute(\"height\", (this || _global).assetData.h);\n    } else {\n      (this || _global).layerElement.appendChild(img);\n    }\n\n    img.crossOrigin = \"anonymous\";\n    img.src = assetPath;\n\n    if ((this || _global).data.ln) {\n      (this || _global).baseElement.setAttribute(\"id\", (this || _global).data.ln);\n    }\n  };\n  /* global PropertyFactory, degToRads, Matrix, extendPrototype, BaseElement, FrameElement, HierarchyElement */\n\n\n  function HCameraElement(data, globalData, comp) {\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    this.initHierarchy();\n    var getProp = PropertyFactory.getProp;\n    (this || _global).pe = getProp(this || _global, data.pe, 0, 0, this || _global);\n\n    if (data.ks.p.s) {\n      (this || _global).px = getProp(this || _global, data.ks.p.x, 1, 0, this || _global);\n      (this || _global).py = getProp(this || _global, data.ks.p.y, 1, 0, this || _global);\n      (this || _global).pz = getProp(this || _global, data.ks.p.z, 1, 0, this || _global);\n    } else {\n      (this || _global).p = getProp(this || _global, data.ks.p, 1, 0, this || _global);\n    }\n\n    if (data.ks.a) {\n      (this || _global).a = getProp(this || _global, data.ks.a, 1, 0, this || _global);\n    }\n\n    if (data.ks.or.k.length && data.ks.or.k[0].to) {\n      var i;\n      var len = data.ks.or.k.length;\n\n      for (i = 0; i < len; i += 1) {\n        data.ks.or.k[i].to = null;\n        data.ks.or.k[i].ti = null;\n      }\n    }\n\n    (this || _global).or = getProp(this || _global, data.ks.or, 1, degToRads, this || _global);\n    (this || _global).or.sh = true;\n    (this || _global).rx = getProp(this || _global, data.ks.rx, 0, degToRads, this || _global);\n    (this || _global).ry = getProp(this || _global, data.ks.ry, 0, degToRads, this || _global);\n    (this || _global).rz = getProp(this || _global, data.ks.rz, 0, degToRads, this || _global);\n    (this || _global).mat = new Matrix();\n    (this || _global)._prevMat = new Matrix();\n    (this || _global)._isFirstFrame = true; // TODO: find a better way to make the HCamera element to be compatible with the LayerInterface and TransformInterface.\n\n    (this || _global).finalTransform = {\n      mProp: this || _global\n    };\n  }\n\n  extendPrototype([BaseElement, FrameElement, HierarchyElement], HCameraElement);\n\n  HCameraElement.prototype.setup = function () {\n    var i;\n    var len = (this || _global).comp.threeDElements.length;\n    var comp;\n    var perspectiveStyle;\n    var containerStyle;\n\n    for (i = 0; i < len; i += 1) {\n      // [perspectiveElem,container]\n      comp = (this || _global).comp.threeDElements[i];\n\n      if (comp.type === \"3d\") {\n        perspectiveStyle = comp.perspectiveElem.style;\n        containerStyle = comp.container.style;\n        var perspective = (this || _global).pe.v + \"px\";\n        var origin = \"0px 0px 0px\";\n        var matrix = \"matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)\";\n        perspectiveStyle.perspective = perspective;\n        perspectiveStyle.webkitPerspective = perspective;\n        containerStyle.transformOrigin = origin;\n        containerStyle.mozTransformOrigin = origin;\n        containerStyle.webkitTransformOrigin = origin;\n        perspectiveStyle.transform = matrix;\n        perspectiveStyle.webkitTransform = matrix;\n      }\n    }\n  };\n\n  HCameraElement.prototype.createElements = function () {};\n\n  HCameraElement.prototype.hide = function () {};\n\n  HCameraElement.prototype.renderFrame = function () {\n    var _mdf = (this || _global)._isFirstFrame;\n    var i;\n    var len;\n\n    if ((this || _global).hierarchy) {\n      len = (this || _global).hierarchy.length;\n\n      for (i = 0; i < len; i += 1) {\n        _mdf = (this || _global).hierarchy[i].finalTransform.mProp._mdf || _mdf;\n      }\n    }\n\n    if (_mdf || (this || _global).pe._mdf || (this || _global).p && (this || _global).p._mdf || (this || _global).px && ((this || _global).px._mdf || (this || _global).py._mdf || (this || _global).pz._mdf) || (this || _global).rx._mdf || (this || _global).ry._mdf || (this || _global).rz._mdf || (this || _global).or._mdf || (this || _global).a && (this || _global).a._mdf) {\n      (this || _global).mat.reset();\n\n      if ((this || _global).hierarchy) {\n        len = (this || _global).hierarchy.length - 1;\n\n        for (i = len; i >= 0; i -= 1) {\n          var mTransf = (this || _global).hierarchy[i].finalTransform.mProp;\n\n          (this || _global).mat.translate(-mTransf.p.v[0], -mTransf.p.v[1], mTransf.p.v[2]);\n\n          (this || _global).mat.rotateX(-mTransf.or.v[0]).rotateY(-mTransf.or.v[1]).rotateZ(mTransf.or.v[2]);\n\n          (this || _global).mat.rotateX(-mTransf.rx.v).rotateY(-mTransf.ry.v).rotateZ(mTransf.rz.v);\n\n          (this || _global).mat.scale(1 / mTransf.s.v[0], 1 / mTransf.s.v[1], 1 / mTransf.s.v[2]);\n\n          (this || _global).mat.translate(mTransf.a.v[0], mTransf.a.v[1], mTransf.a.v[2]);\n        }\n      }\n\n      if ((this || _global).p) {\n        (this || _global).mat.translate(-(this || _global).p.v[0], -(this || _global).p.v[1], (this || _global).p.v[2]);\n      } else {\n        (this || _global).mat.translate(-(this || _global).px.v, -(this || _global).py.v, (this || _global).pz.v);\n      }\n\n      if ((this || _global).a) {\n        var diffVector;\n\n        if ((this || _global).p) {\n          diffVector = [(this || _global).p.v[0] - (this || _global).a.v[0], (this || _global).p.v[1] - (this || _global).a.v[1], (this || _global).p.v[2] - (this || _global).a.v[2]];\n        } else {\n          diffVector = [(this || _global).px.v - (this || _global).a.v[0], (this || _global).py.v - (this || _global).a.v[1], (this || _global).pz.v - (this || _global).a.v[2]];\n        }\n\n        var mag = Math.sqrt(Math.pow(diffVector[0], 2) + Math.pow(diffVector[1], 2) + Math.pow(diffVector[2], 2)); // var lookDir = getNormalizedPoint(getDiffVector(this.a.v,this.p.v));\n\n        var lookDir = [diffVector[0] / mag, diffVector[1] / mag, diffVector[2] / mag];\n        var lookLengthOnXZ = Math.sqrt(lookDir[2] * lookDir[2] + lookDir[0] * lookDir[0]);\n        var mRotationX = Math.atan2(lookDir[1], lookLengthOnXZ);\n        var mRotationY = Math.atan2(lookDir[0], -lookDir[2]);\n\n        (this || _global).mat.rotateY(mRotationY).rotateX(-mRotationX);\n      }\n\n      (this || _global).mat.rotateX(-(this || _global).rx.v).rotateY(-(this || _global).ry.v).rotateZ((this || _global).rz.v);\n\n      (this || _global).mat.rotateX(-(this || _global).or.v[0]).rotateY(-(this || _global).or.v[1]).rotateZ((this || _global).or.v[2]);\n\n      (this || _global).mat.translate((this || _global).globalData.compSize.w / 2, (this || _global).globalData.compSize.h / 2, 0);\n\n      (this || _global).mat.translate(0, 0, (this || _global).pe.v);\n\n      var hasMatrixChanged = !(this || _global)._prevMat.equals((this || _global).mat);\n\n      if ((hasMatrixChanged || (this || _global).pe._mdf) && (this || _global).comp.threeDElements) {\n        len = (this || _global).comp.threeDElements.length;\n        var comp;\n        var perspectiveStyle;\n        var containerStyle;\n\n        for (i = 0; i < len; i += 1) {\n          comp = (this || _global).comp.threeDElements[i];\n\n          if (comp.type === \"3d\") {\n            if (hasMatrixChanged) {\n              var matValue = (this || _global).mat.toCSS();\n\n              containerStyle = comp.container.style;\n              containerStyle.transform = matValue;\n              containerStyle.webkitTransform = matValue;\n            }\n\n            if ((this || _global).pe._mdf) {\n              perspectiveStyle = comp.perspectiveElem.style;\n              perspectiveStyle.perspective = (this || _global).pe.v + \"px\";\n              perspectiveStyle.webkitPerspective = (this || _global).pe.v + \"px\";\n            }\n          }\n        }\n\n        (this || _global).mat.clone((this || _global)._prevMat);\n      }\n    }\n\n    (this || _global)._isFirstFrame = false;\n  };\n\n  HCameraElement.prototype.prepareFrame = function (num) {\n    this.prepareProperties(num, true);\n  };\n\n  HCameraElement.prototype.destroy = function () {};\n\n  HCameraElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  function HEffects() {}\n\n  HEffects.prototype.renderFrame = function () {};\n  /* global createTag, AnimationItem */\n\n  /* exported animationManager */\n\n\n  var animationManager = function () {\n    var moduleOb = {};\n    var registeredAnimations = [];\n    var initTime = 0;\n    var len = 0;\n    var playingAnimationsNum = 0;\n    var _stopped = true;\n    var _isFrozen = false;\n\n    function removeElement(ev) {\n      var i = 0;\n      var animItem = ev.target;\n\n      while (i < len) {\n        if (registeredAnimations[i].animation === animItem) {\n          registeredAnimations.splice(i, 1);\n          i -= 1;\n          len -= 1;\n\n          if (!animItem.isPaused) {\n            subtractPlayingCount();\n          }\n        }\n\n        i += 1;\n      }\n    }\n\n    function registerAnimation(element, animationData) {\n      if (!element) {\n        return null;\n      }\n\n      var i = 0;\n\n      while (i < len) {\n        if (registeredAnimations[i].elem === element && registeredAnimations[i].elem !== null) {\n          return registeredAnimations[i].animation;\n        }\n\n        i += 1;\n      }\n\n      var animItem = new AnimationItem();\n      setupAnimation(animItem, element);\n      animItem.setData(element, animationData);\n      return animItem;\n    }\n\n    function getRegisteredAnimations() {\n      var i;\n      var lenAnims = registeredAnimations.length;\n      var animations = [];\n\n      for (i = 0; i < lenAnims; i += 1) {\n        animations.push(registeredAnimations[i].animation);\n      }\n\n      return animations;\n    }\n\n    function addPlayingCount() {\n      playingAnimationsNum += 1;\n      activate();\n    }\n\n    function subtractPlayingCount() {\n      playingAnimationsNum -= 1;\n    }\n\n    function setupAnimation(animItem, element) {\n      animItem.addEventListener(\"destroy\", removeElement);\n      animItem.addEventListener(\"_active\", addPlayingCount);\n      animItem.addEventListener(\"_idle\", subtractPlayingCount);\n      registeredAnimations.push({\n        elem: element,\n        animation: animItem\n      });\n      len += 1;\n    }\n\n    function loadAnimation(params) {\n      var animItem = new AnimationItem();\n      setupAnimation(animItem, null);\n      animItem.setParams(params);\n      return animItem;\n    }\n\n    function setSpeed(val, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.setSpeed(val, animation);\n      }\n    }\n\n    function setDirection(val, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.setDirection(val, animation);\n      }\n    }\n\n    function play(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.play(animation);\n      }\n    }\n\n    function resume(nowTime) {\n      var elapsedTime = nowTime - initTime;\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.advanceTime(elapsedTime);\n      }\n\n      initTime = nowTime;\n\n      if (playingAnimationsNum && !_isFrozen) {\n        window.requestAnimationFrame(resume);\n      } else {\n        _stopped = true;\n      }\n    }\n\n    function first(nowTime) {\n      initTime = nowTime;\n      window.requestAnimationFrame(resume);\n    }\n\n    function pause(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.pause(animation);\n      }\n    }\n\n    function goToAndStop(value, isFrame, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.goToAndStop(value, isFrame, animation);\n      }\n    }\n\n    function stop(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.stop(animation);\n      }\n    }\n\n    function togglePause(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.togglePause(animation);\n      }\n    }\n\n    function destroy(animation) {\n      var i;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        registeredAnimations[i].animation.destroy(animation);\n      }\n    }\n\n    function searchAnimations(animationData, standalone, renderer) {\n      var animElements = [].concat([].slice.call(document.getElementsByClassName(\"lottie\")), [].slice.call(document.getElementsByClassName(\"bodymovin\")));\n      var i;\n      var lenAnims = animElements.length;\n\n      for (i = 0; i < lenAnims; i += 1) {\n        if (renderer) {\n          animElements[i].setAttribute(\"data-bm-type\", renderer);\n        }\n\n        registerAnimation(animElements[i], animationData);\n      }\n\n      if (standalone && lenAnims === 0) {\n        if (!renderer) {\n          renderer = \"svg\";\n        }\n\n        var body = document.getElementsByTagName(\"body\")[0];\n        body.innerText = \"\";\n        var div = createTag(\"div\");\n        div.style.width = \"100%\";\n        div.style.height = \"100%\";\n        div.setAttribute(\"data-bm-type\", renderer);\n        body.appendChild(div);\n        registerAnimation(div, animationData);\n      }\n    }\n\n    function resize() {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.resize();\n      }\n    }\n\n    function activate() {\n      if (!_isFrozen && playingAnimationsNum) {\n        if (_stopped) {\n          window.requestAnimationFrame(first);\n          _stopped = false;\n        }\n      }\n    }\n\n    function freeze() {\n      _isFrozen = true;\n    }\n\n    function unfreeze() {\n      _isFrozen = false;\n      activate();\n    }\n\n    function setVolume(val, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.setVolume(val, animation);\n      }\n    }\n\n    function mute(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.mute(animation);\n      }\n    }\n\n    function unmute(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.unmute(animation);\n      }\n    }\n\n    moduleOb.registerAnimation = registerAnimation;\n    moduleOb.loadAnimation = loadAnimation;\n    moduleOb.setSpeed = setSpeed;\n    moduleOb.setDirection = setDirection;\n    moduleOb.play = play;\n    moduleOb.pause = pause;\n    moduleOb.stop = stop;\n    moduleOb.togglePause = togglePause;\n    moduleOb.searchAnimations = searchAnimations;\n    moduleOb.resize = resize; // moduleOb.start = start;\n\n    moduleOb.goToAndStop = goToAndStop;\n    moduleOb.destroy = destroy;\n    moduleOb.freeze = freeze;\n    moduleOb.unfreeze = unfreeze;\n    moduleOb.setVolume = setVolume;\n    moduleOb.mute = mute;\n    moduleOb.unmute = unmute;\n    moduleOb.getRegisteredAnimations = getRegisteredAnimations;\n    return moduleOb;\n  }();\n  /* global createElementID, subframeEnabled, ProjectInterface, ImagePreloader, audioControllerFactory, extendPrototype, BaseEvent,\r\n  CanvasRenderer, SVGRenderer, HybridRenderer, assetLoader, dataManager, expressionsPlugin, BMEnterFrameEvent, BMCompleteLoopEvent,\r\n  BMCompleteEvent, BMSegmentStartEvent, BMDestroyEvent, BMEnterFrameEvent, BMCompleteLoopEvent, BMCompleteEvent, BMSegmentStartEvent,\r\n  BMDestroyEvent, BMRenderFrameErrorEvent, BMConfigErrorEvent, markerParser */\n\n\n  var AnimationItem = function () {\n    (this || _global)._cbs = [];\n    (this || _global).name = \"\";\n    (this || _global).path = \"\";\n    (this || _global).isLoaded = false;\n    (this || _global).currentFrame = 0;\n    (this || _global).currentRawFrame = 0;\n    (this || _global).firstFrame = 0;\n    (this || _global).totalFrames = 0;\n    (this || _global).frameRate = 0;\n    (this || _global).frameMult = 0;\n    (this || _global).playSpeed = 1;\n    (this || _global).playDirection = 1;\n    (this || _global).playCount = 0;\n    (this || _global).animationData = {};\n    (this || _global).assets = [];\n    (this || _global).isPaused = true;\n    (this || _global).autoplay = false;\n    (this || _global).loop = true;\n    (this || _global).renderer = null;\n    (this || _global).animationID = createElementID();\n    (this || _global).assetsPath = \"\";\n    (this || _global).timeCompleted = 0;\n    (this || _global).segmentPos = 0;\n    (this || _global).isSubframeEnabled = subframeEnabled;\n    (this || _global).segments = [];\n    (this || _global)._idle = true;\n    (this || _global)._completedLoop = false;\n    (this || _global).projectInterface = ProjectInterface();\n    (this || _global).imagePreloader = new ImagePreloader();\n    (this || _global).audioController = audioControllerFactory();\n    (this || _global).markers = [];\n  };\n\n  extendPrototype([BaseEvent], AnimationItem);\n\n  AnimationItem.prototype.setParams = function (params) {\n    if (params.wrapper || params.container) {\n      (this || _global).wrapper = params.wrapper || params.container;\n    }\n\n    var animType = \"svg\";\n\n    if (params.animType) {\n      animType = params.animType;\n    } else if (params.renderer) {\n      animType = params.renderer;\n    }\n\n    switch (animType) {\n      case \"canvas\":\n        (this || _global).renderer = new CanvasRenderer(this || _global, params.rendererSettings);\n        break;\n\n      case \"svg\":\n        (this || _global).renderer = new SVGRenderer(this || _global, params.rendererSettings);\n        break;\n\n      default:\n        (this || _global).renderer = new HybridRenderer(this || _global, params.rendererSettings);\n        break;\n    }\n\n    (this || _global).imagePreloader.setCacheType(animType, (this || _global).renderer.globalData.defs);\n\n    (this || _global).renderer.setProjectInterface((this || _global).projectInterface);\n\n    (this || _global).animType = animType;\n\n    if (params.loop === \"\" || params.loop === null || params.loop === undefined || params.loop === true) {\n      (this || _global).loop = true;\n    } else if (params.loop === false) {\n      (this || _global).loop = false;\n    } else {\n      (this || _global).loop = parseInt(params.loop, 10);\n    }\n\n    (this || _global).autoplay = \"autoplay\" in params ? params.autoplay : true;\n    (this || _global).name = params.name ? params.name : \"\";\n    (this || _global).autoloadSegments = Object.prototype.hasOwnProperty.call(params, \"autoloadSegments\") ? params.autoloadSegments : true;\n    (this || _global).assetsPath = params.assetsPath;\n    (this || _global).initialSegment = params.initialSegment;\n\n    if (params.audioFactory) {\n      (this || _global).audioController.setAudioFactory(params.audioFactory);\n    }\n\n    if (params.animationData) {\n      this.configAnimation(params.animationData);\n    } else if (params.path) {\n      if (params.path.lastIndexOf(\"\\\\\") !== -1) {\n        (this || _global).path = params.path.substr(0, params.path.lastIndexOf(\"\\\\\") + 1);\n      } else {\n        (this || _global).path = params.path.substr(0, params.path.lastIndexOf(\"/\") + 1);\n      }\n\n      (this || _global).fileName = params.path.substr(params.path.lastIndexOf(\"/\") + 1);\n      (this || _global).fileName = (this || _global).fileName.substr(0, (this || _global).fileName.lastIndexOf(\".json\"));\n      assetLoader.load(params.path, (this || _global).configAnimation.bind(this || _global), function () {\n        this.trigger(\"data_failed\");\n      }.bind(this || _global));\n    }\n  };\n\n  AnimationItem.prototype.setData = function (wrapper, animationData) {\n    if (animationData) {\n      if (typeof animationData !== \"object\") {\n        animationData = JSON.parse(animationData);\n      }\n    }\n\n    var params = {\n      wrapper: wrapper,\n      animationData: animationData\n    };\n    var wrapperAttributes = wrapper.attributes;\n    params.path = wrapperAttributes.getNamedItem(\"data-animation-path\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-animation-path\").value : wrapperAttributes.getNamedItem(\"data-bm-path\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-path\").value : wrapperAttributes.getNamedItem(\"bm-path\") ? wrapperAttributes.getNamedItem(\"bm-path\").value : \"\";\n    params.animType = wrapperAttributes.getNamedItem(\"data-anim-type\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-anim-type\").value : wrapperAttributes.getNamedItem(\"data-bm-type\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-type\").value : wrapperAttributes.getNamedItem(\"bm-type\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"bm-type\").value : wrapperAttributes.getNamedItem(\"data-bm-renderer\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-renderer\").value : wrapperAttributes.getNamedItem(\"bm-renderer\") ? wrapperAttributes.getNamedItem(\"bm-renderer\").value : \"canvas\";\n    var loop = wrapperAttributes.getNamedItem(\"data-anim-loop\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-anim-loop\").value : wrapperAttributes.getNamedItem(\"data-bm-loop\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-loop\").value : wrapperAttributes.getNamedItem(\"bm-loop\") ? wrapperAttributes.getNamedItem(\"bm-loop\").value : \"\";\n\n    if (loop === \"false\") {\n      params.loop = false;\n    } else if (loop === \"true\") {\n      params.loop = true;\n    } else if (loop !== \"\") {\n      params.loop = parseInt(loop, 10);\n    }\n\n    var autoplay = wrapperAttributes.getNamedItem(\"data-anim-autoplay\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-anim-autoplay\").value : wrapperAttributes.getNamedItem(\"data-bm-autoplay\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-autoplay\").value : wrapperAttributes.getNamedItem(\"bm-autoplay\") ? wrapperAttributes.getNamedItem(\"bm-autoplay\").value : true;\n    params.autoplay = autoplay !== \"false\";\n    params.name = wrapperAttributes.getNamedItem(\"data-name\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-name\").value : wrapperAttributes.getNamedItem(\"data-bm-name\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-name\").value : wrapperAttributes.getNamedItem(\"bm-name\") ? wrapperAttributes.getNamedItem(\"bm-name\").value : \"\";\n    var prerender = wrapperAttributes.getNamedItem(\"data-anim-prerender\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-anim-prerender\").value : wrapperAttributes.getNamedItem(\"data-bm-prerender\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-prerender\").value : wrapperAttributes.getNamedItem(\"bm-prerender\") ? wrapperAttributes.getNamedItem(\"bm-prerender\").value : \"\";\n\n    if (prerender === \"false\") {\n      params.prerender = false;\n    }\n\n    this.setParams(params);\n  };\n\n  AnimationItem.prototype.includeLayers = function (data) {\n    if (data.op > (this || _global).animationData.op) {\n      (this || _global).animationData.op = data.op;\n      (this || _global).totalFrames = Math.floor(data.op - (this || _global).animationData.ip);\n    }\n\n    var layers = (this || _global).animationData.layers;\n    var i;\n    var len = layers.length;\n    var newLayers = data.layers;\n    var j;\n    var jLen = newLayers.length;\n\n    for (j = 0; j < jLen; j += 1) {\n      i = 0;\n\n      while (i < len) {\n        if (layers[i].id === newLayers[j].id) {\n          layers[i] = newLayers[j];\n          break;\n        }\n\n        i += 1;\n      }\n    }\n\n    if (data.chars || data.fonts) {\n      (this || _global).renderer.globalData.fontManager.addChars(data.chars);\n\n      (this || _global).renderer.globalData.fontManager.addFonts(data.fonts, (this || _global).renderer.globalData.defs);\n    }\n\n    if (data.assets) {\n      len = data.assets.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).animationData.assets.push(data.assets[i]);\n      }\n    }\n\n    (this || _global).animationData.__complete = false;\n    dataManager.completeData((this || _global).animationData, (this || _global).renderer.globalData.fontManager);\n\n    (this || _global).renderer.includeLayers(data.layers);\n\n    if (expressionsPlugin) {\n      expressionsPlugin.initExpressions(this || _global);\n    }\n\n    this.loadNextSegment();\n  };\n\n  AnimationItem.prototype.loadNextSegment = function () {\n    var segments = (this || _global).animationData.segments;\n\n    if (!segments || segments.length === 0 || !(this || _global).autoloadSegments) {\n      this.trigger(\"data_ready\");\n      (this || _global).timeCompleted = (this || _global).totalFrames;\n      return;\n    }\n\n    var segment = segments.shift();\n    (this || _global).timeCompleted = segment.time * (this || _global).frameRate;\n    var segmentPath = (this || _global).path + (this || _global).fileName + \"_\" + (this || _global).segmentPos + \".json\";\n    (this || _global).segmentPos += 1;\n    assetLoader.load(segmentPath, (this || _global).includeLayers.bind(this || _global), function () {\n      this.trigger(\"data_failed\");\n    }.bind(this || _global));\n  };\n\n  AnimationItem.prototype.loadSegments = function () {\n    var segments = (this || _global).animationData.segments;\n\n    if (!segments) {\n      (this || _global).timeCompleted = (this || _global).totalFrames;\n    }\n\n    this.loadNextSegment();\n  };\n\n  AnimationItem.prototype.imagesLoaded = function () {\n    this.trigger(\"loaded_images\");\n    this.checkLoaded();\n  };\n\n  AnimationItem.prototype.preloadImages = function () {\n    (this || _global).imagePreloader.setAssetsPath((this || _global).assetsPath);\n\n    (this || _global).imagePreloader.setPath((this || _global).path);\n\n    (this || _global).imagePreloader.loadAssets((this || _global).animationData.assets, (this || _global).imagesLoaded.bind(this || _global));\n  };\n\n  AnimationItem.prototype.configAnimation = function (animData) {\n    if (!(this || _global).renderer) {\n      return;\n    }\n\n    try {\n      (this || _global).animationData = animData;\n\n      if ((this || _global).initialSegment) {\n        (this || _global).totalFrames = Math.floor((this || _global).initialSegment[1] - (this || _global).initialSegment[0]);\n        (this || _global).firstFrame = Math.round((this || _global).initialSegment[0]);\n      } else {\n        (this || _global).totalFrames = Math.floor((this || _global).animationData.op - (this || _global).animationData.ip);\n        (this || _global).firstFrame = Math.round((this || _global).animationData.ip);\n      }\n\n      (this || _global).renderer.configAnimation(animData);\n\n      if (!animData.assets) {\n        animData.assets = [];\n      }\n\n      (this || _global).assets = (this || _global).animationData.assets;\n      (this || _global).frameRate = (this || _global).animationData.fr;\n      (this || _global).frameMult = (this || _global).animationData.fr / 1000;\n\n      (this || _global).renderer.searchExtraCompositions(animData.assets);\n\n      (this || _global).markers = markerParser(animData.markers || []);\n      this.trigger(\"config_ready\");\n      this.preloadImages();\n      this.loadSegments();\n      this.updaFrameModifier();\n      this.waitForFontsLoaded();\n\n      if ((this || _global).isPaused) {\n        (this || _global).audioController.pause();\n      }\n    } catch (error) {\n      this.triggerConfigError(error);\n    }\n  };\n\n  AnimationItem.prototype.waitForFontsLoaded = function () {\n    if (!(this || _global).renderer) {\n      return;\n    }\n\n    if ((this || _global).renderer.globalData.fontManager.isLoaded) {\n      this.checkLoaded();\n    } else {\n      setTimeout((this || _global).waitForFontsLoaded.bind(this || _global), 20);\n    }\n  };\n\n  AnimationItem.prototype.checkLoaded = function () {\n    if (!(this || _global).isLoaded && (this || _global).renderer.globalData.fontManager.isLoaded && ((this || _global).imagePreloader.loadedImages() || (this || _global).renderer.rendererType !== \"canvas\") && (this || _global).imagePreloader.loadedFootages()) {\n      (this || _global).isLoaded = true;\n      dataManager.completeData((this || _global).animationData, (this || _global).renderer.globalData.fontManager);\n\n      if (expressionsPlugin) {\n        expressionsPlugin.initExpressions(this || _global);\n      }\n\n      (this || _global).renderer.initItems();\n\n      setTimeout(function () {\n        this.trigger(\"DOMLoaded\");\n      }.bind(this || _global), 0);\n      this.gotoFrame();\n\n      if ((this || _global).autoplay) {\n        this.play();\n      }\n    }\n  };\n\n  AnimationItem.prototype.resize = function () {\n    (this || _global).renderer.updateContainerSize();\n  };\n\n  AnimationItem.prototype.setSubframe = function (flag) {\n    (this || _global).isSubframeEnabled = !!flag;\n  };\n\n  AnimationItem.prototype.gotoFrame = function () {\n    (this || _global).currentFrame = (this || _global).isSubframeEnabled ? (this || _global).currentRawFrame : ~~(this || _global).currentRawFrame; // eslint-disable-line no-bitwise\n\n    if ((this || _global).timeCompleted !== (this || _global).totalFrames && (this || _global).currentFrame > (this || _global).timeCompleted) {\n      (this || _global).currentFrame = (this || _global).timeCompleted;\n    }\n\n    this.trigger(\"enterFrame\");\n    this.renderFrame();\n  };\n\n  AnimationItem.prototype.renderFrame = function () {\n    if ((this || _global).isLoaded === false || !(this || _global).renderer) {\n      return;\n    }\n\n    try {\n      (this || _global).renderer.renderFrame((this || _global).currentFrame + (this || _global).firstFrame);\n    } catch (error) {\n      this.triggerRenderFrameError(error);\n    }\n  };\n\n  AnimationItem.prototype.play = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    if ((this || _global).isPaused === true) {\n      (this || _global).isPaused = false;\n\n      (this || _global).audioController.resume();\n\n      if ((this || _global)._idle) {\n        (this || _global)._idle = false;\n        this.trigger(\"_active\");\n      }\n    }\n  };\n\n  AnimationItem.prototype.pause = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    if ((this || _global).isPaused === false) {\n      (this || _global).isPaused = true;\n      (this || _global)._idle = true;\n      this.trigger(\"_idle\");\n\n      (this || _global).audioController.pause();\n    }\n  };\n\n  AnimationItem.prototype.togglePause = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    if ((this || _global).isPaused === true) {\n      this.play();\n    } else {\n      this.pause();\n    }\n  };\n\n  AnimationItem.prototype.stop = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    this.pause();\n    (this || _global).playCount = 0;\n    (this || _global)._completedLoop = false;\n    this.setCurrentRawFrameValue(0);\n  };\n\n  AnimationItem.prototype.getMarkerData = function (markerName) {\n    var marker;\n\n    for (var i = 0; i < (this || _global).markers.length; i += 1) {\n      marker = (this || _global).markers[i];\n\n      if (marker.payload && marker.payload.name === markerName) {\n        return marker;\n      }\n    }\n\n    return null;\n  };\n\n  AnimationItem.prototype.goToAndStop = function (value, isFrame, name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    var numValue = Number(value);\n\n    if (isNaN(numValue)) {\n      var marker = this.getMarkerData(value);\n\n      if (marker) {\n        this.goToAndStop(marker.time, true);\n      }\n    } else if (isFrame) {\n      this.setCurrentRawFrameValue(value);\n    } else {\n      this.setCurrentRawFrameValue(value * (this || _global).frameModifier);\n    }\n\n    this.pause();\n  };\n\n  AnimationItem.prototype.goToAndPlay = function (value, isFrame, name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    var numValue = Number(value);\n\n    if (isNaN(numValue)) {\n      var marker = this.getMarkerData(value);\n\n      if (marker) {\n        if (!marker.duration) {\n          this.goToAndStop(marker.time, true);\n        } else {\n          this.playSegments([marker.time, marker.time + marker.duration], true);\n        }\n      }\n    } else {\n      this.goToAndStop(numValue, isFrame, name);\n    }\n\n    this.play();\n  };\n\n  AnimationItem.prototype.advanceTime = function (value) {\n    if ((this || _global).isPaused === true || (this || _global).isLoaded === false) {\n      return;\n    }\n\n    var nextValue = (this || _global).currentRawFrame + value * (this || _global).frameModifier;\n    var _isComplete = false; // Checking if nextValue > totalFrames - 1 for addressing non looping and looping animations.\n    // If animation won't loop, it should stop at totalFrames - 1. If it will loop it should complete the last frame and then loop.\n\n    if (nextValue >= (this || _global).totalFrames - 1 && (this || _global).frameModifier > 0) {\n      if (!(this || _global).loop || (this || _global).playCount === (this || _global).loop) {\n        if (!this.checkSegments(nextValue > (this || _global).totalFrames ? nextValue % (this || _global).totalFrames : 0)) {\n          _isComplete = true;\n          nextValue = (this || _global).totalFrames - 1;\n        }\n      } else if (nextValue >= (this || _global).totalFrames) {\n        (this || _global).playCount += 1;\n\n        if (!this.checkSegments(nextValue % (this || _global).totalFrames)) {\n          this.setCurrentRawFrameValue(nextValue % (this || _global).totalFrames);\n          (this || _global)._completedLoop = true;\n          this.trigger(\"loopComplete\");\n        }\n      } else {\n        this.setCurrentRawFrameValue(nextValue);\n      }\n    } else if (nextValue < 0) {\n      if (!this.checkSegments(nextValue % (this || _global).totalFrames)) {\n        if ((this || _global).loop && !((this || _global).playCount-- <= 0 && (this || _global).loop !== true)) {\n          // eslint-disable-line no-plusplus\n          this.setCurrentRawFrameValue((this || _global).totalFrames + nextValue % (this || _global).totalFrames);\n\n          if (!(this || _global)._completedLoop) {\n            (this || _global)._completedLoop = true;\n          } else {\n            this.trigger(\"loopComplete\");\n          }\n        } else {\n          _isComplete = true;\n          nextValue = 0;\n        }\n      }\n    } else {\n      this.setCurrentRawFrameValue(nextValue);\n    }\n\n    if (_isComplete) {\n      this.setCurrentRawFrameValue(nextValue);\n      this.pause();\n      this.trigger(\"complete\");\n    }\n  };\n\n  AnimationItem.prototype.adjustSegment = function (arr, offset) {\n    (this || _global).playCount = 0;\n\n    if (arr[1] < arr[0]) {\n      if ((this || _global).frameModifier > 0) {\n        if ((this || _global).playSpeed < 0) {\n          this.setSpeed(-(this || _global).playSpeed);\n        } else {\n          this.setDirection(-1);\n        }\n      }\n\n      (this || _global).totalFrames = arr[0] - arr[1];\n      (this || _global).timeCompleted = (this || _global).totalFrames;\n      (this || _global).firstFrame = arr[1];\n      this.setCurrentRawFrameValue((this || _global).totalFrames - 0.001 - offset);\n    } else if (arr[1] > arr[0]) {\n      if ((this || _global).frameModifier < 0) {\n        if ((this || _global).playSpeed < 0) {\n          this.setSpeed(-(this || _global).playSpeed);\n        } else {\n          this.setDirection(1);\n        }\n      }\n\n      (this || _global).totalFrames = arr[1] - arr[0];\n      (this || _global).timeCompleted = (this || _global).totalFrames;\n      (this || _global).firstFrame = arr[0];\n      this.setCurrentRawFrameValue(0.001 + offset);\n    }\n\n    this.trigger(\"segmentStart\");\n  };\n\n  AnimationItem.prototype.setSegment = function (init, end) {\n    var pendingFrame = -1;\n\n    if ((this || _global).isPaused) {\n      if ((this || _global).currentRawFrame + (this || _global).firstFrame < init) {\n        pendingFrame = init;\n      } else if ((this || _global).currentRawFrame + (this || _global).firstFrame > end) {\n        pendingFrame = end - init;\n      }\n    }\n\n    (this || _global).firstFrame = init;\n    (this || _global).totalFrames = end - init;\n    (this || _global).timeCompleted = (this || _global).totalFrames;\n\n    if (pendingFrame !== -1) {\n      this.goToAndStop(pendingFrame, true);\n    }\n  };\n\n  AnimationItem.prototype.playSegments = function (arr, forceFlag) {\n    if (forceFlag) {\n      (this || _global).segments.length = 0;\n    }\n\n    if (typeof arr[0] === \"object\") {\n      var i;\n      var len = arr.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).segments.push(arr[i]);\n      }\n    } else {\n      (this || _global).segments.push(arr);\n    }\n\n    if ((this || _global).segments.length && forceFlag) {\n      this.adjustSegment((this || _global).segments.shift(), 0);\n    }\n\n    if ((this || _global).isPaused) {\n      this.play();\n    }\n  };\n\n  AnimationItem.prototype.resetSegments = function (forceFlag) {\n    (this || _global).segments.length = 0;\n\n    (this || _global).segments.push([(this || _global).animationData.ip, (this || _global).animationData.op]); // this.segments.push([this.animationData.ip*this.frameRate,Math.floor(this.animationData.op - this.animationData.ip+this.animationData.ip*this.frameRate)]);\n\n\n    if (forceFlag) {\n      this.checkSegments(0);\n    }\n  };\n\n  AnimationItem.prototype.checkSegments = function (offset) {\n    if ((this || _global).segments.length) {\n      this.adjustSegment((this || _global).segments.shift(), offset);\n      return true;\n    }\n\n    return false;\n  };\n\n  AnimationItem.prototype.destroy = function (name) {\n    if (name && (this || _global).name !== name || !(this || _global).renderer) {\n      return;\n    }\n\n    (this || _global).renderer.destroy();\n\n    (this || _global).imagePreloader.destroy();\n\n    this.trigger(\"destroy\");\n    (this || _global)._cbs = null;\n    (this || _global).onEnterFrame = null;\n    (this || _global).onLoopComplete = null;\n    (this || _global).onComplete = null;\n    (this || _global).onSegmentStart = null;\n    (this || _global).onDestroy = null;\n    (this || _global).renderer = null;\n    (this || _global).renderer = null;\n    (this || _global).imagePreloader = null;\n    (this || _global).projectInterface = null;\n  };\n\n  AnimationItem.prototype.setCurrentRawFrameValue = function (value) {\n    (this || _global).currentRawFrame = value;\n    this.gotoFrame();\n  };\n\n  AnimationItem.prototype.setSpeed = function (val) {\n    (this || _global).playSpeed = val;\n    this.updaFrameModifier();\n  };\n\n  AnimationItem.prototype.setDirection = function (val) {\n    (this || _global).playDirection = val < 0 ? -1 : 1;\n    this.updaFrameModifier();\n  };\n\n  AnimationItem.prototype.setVolume = function (val, name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    (this || _global).audioController.setVolume(val);\n  };\n\n  AnimationItem.prototype.getVolume = function () {\n    return (this || _global).audioController.getVolume();\n  };\n\n  AnimationItem.prototype.mute = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    (this || _global).audioController.mute();\n  };\n\n  AnimationItem.prototype.unmute = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    (this || _global).audioController.unmute();\n  };\n\n  AnimationItem.prototype.updaFrameModifier = function () {\n    (this || _global).frameModifier = (this || _global).frameMult * (this || _global).playSpeed * (this || _global).playDirection;\n\n    (this || _global).audioController.setRate((this || _global).playSpeed * (this || _global).playDirection);\n  };\n\n  AnimationItem.prototype.getPath = function () {\n    return (this || _global).path;\n  };\n\n  AnimationItem.prototype.getAssetsPath = function (assetData) {\n    var path = \"\";\n\n    if (assetData.e) {\n      path = assetData.p;\n    } else if ((this || _global).assetsPath) {\n      var imagePath = assetData.p;\n\n      if (imagePath.indexOf(\"images/\") !== -1) {\n        imagePath = imagePath.split(\"/\")[1];\n      }\n\n      path = (this || _global).assetsPath + imagePath;\n    } else {\n      path = (this || _global).path;\n      path += assetData.u ? assetData.u : \"\";\n      path += assetData.p;\n    }\n\n    return path;\n  };\n\n  AnimationItem.prototype.getAssetData = function (id) {\n    var i = 0;\n    var len = (this || _global).assets.length;\n\n    while (i < len) {\n      if (id === (this || _global).assets[i].id) {\n        return (this || _global).assets[i];\n      }\n\n      i += 1;\n    }\n\n    return null;\n  };\n\n  AnimationItem.prototype.hide = function () {\n    (this || _global).renderer.hide();\n  };\n\n  AnimationItem.prototype.show = function () {\n    (this || _global).renderer.show();\n  };\n\n  AnimationItem.prototype.getDuration = function (isFrame) {\n    return isFrame ? (this || _global).totalFrames : (this || _global).totalFrames / (this || _global).frameRate;\n  };\n\n  AnimationItem.prototype.trigger = function (name) {\n    if ((this || _global)._cbs && (this || _global)._cbs[name]) {\n      switch (name) {\n        case \"enterFrame\":\n          this.triggerEvent(name, new BMEnterFrameEvent(name, (this || _global).currentFrame, (this || _global).totalFrames, (this || _global).frameModifier));\n          break;\n\n        case \"loopComplete\":\n          this.triggerEvent(name, new BMCompleteLoopEvent(name, (this || _global).loop, (this || _global).playCount, (this || _global).frameMult));\n          break;\n\n        case \"complete\":\n          this.triggerEvent(name, new BMCompleteEvent(name, (this || _global).frameMult));\n          break;\n\n        case \"segmentStart\":\n          this.triggerEvent(name, new BMSegmentStartEvent(name, (this || _global).firstFrame, (this || _global).totalFrames));\n          break;\n\n        case \"destroy\":\n          this.triggerEvent(name, new BMDestroyEvent(name, this || _global));\n          break;\n\n        default:\n          this.triggerEvent(name);\n      }\n    }\n\n    if (name === \"enterFrame\" && (this || _global).onEnterFrame) {\n      (this || _global).onEnterFrame.call(this || _global, new BMEnterFrameEvent(name, (this || _global).currentFrame, (this || _global).totalFrames, (this || _global).frameMult));\n    }\n\n    if (name === \"loopComplete\" && (this || _global).onLoopComplete) {\n      (this || _global).onLoopComplete.call(this || _global, new BMCompleteLoopEvent(name, (this || _global).loop, (this || _global).playCount, (this || _global).frameMult));\n    }\n\n    if (name === \"complete\" && (this || _global).onComplete) {\n      (this || _global).onComplete.call(this || _global, new BMCompleteEvent(name, (this || _global).frameMult));\n    }\n\n    if (name === \"segmentStart\" && (this || _global).onSegmentStart) {\n      (this || _global).onSegmentStart.call(this || _global, new BMSegmentStartEvent(name, (this || _global).firstFrame, (this || _global).totalFrames));\n    }\n\n    if (name === \"destroy\" && (this || _global).onDestroy) {\n      (this || _global).onDestroy.call(this || _global, new BMDestroyEvent(name, this || _global));\n    }\n  };\n\n  AnimationItem.prototype.triggerRenderFrameError = function (nativeError) {\n    var error = new BMRenderFrameErrorEvent(nativeError, (this || _global).currentFrame);\n    this.triggerEvent(\"error\", error);\n\n    if ((this || _global).onError) {\n      (this || _global).onError.call(this || _global, error);\n    }\n  };\n\n  AnimationItem.prototype.triggerConfigError = function (nativeError) {\n    var error = new BMConfigErrorEvent(nativeError, (this || _global).currentFrame);\n    this.triggerEvent(\"error\", error);\n\n    if ((this || _global).onError) {\n      (this || _global).onError.call(this || _global, error);\n    }\n  };\n  /* global CompExpressionInterface, expressionsPlugin: writable */\n\n  /* exported expressionsPlugin */\n\n\n  var Expressions = function () {\n    var ob = {};\n    ob.initExpressions = initExpressions;\n\n    function initExpressions(animation) {\n      var stackCount = 0;\n      var registers = [];\n\n      function pushExpression() {\n        stackCount += 1;\n      }\n\n      function popExpression() {\n        stackCount -= 1;\n\n        if (stackCount === 0) {\n          releaseInstances();\n        }\n      }\n\n      function registerExpressionProperty(expression) {\n        if (registers.indexOf(expression) === -1) {\n          registers.push(expression);\n        }\n      }\n\n      function releaseInstances() {\n        var i;\n        var len = registers.length;\n\n        for (i = 0; i < len; i += 1) {\n          registers[i].release();\n        }\n\n        registers.length = 0;\n      }\n\n      animation.renderer.compInterface = CompExpressionInterface(animation.renderer);\n      animation.renderer.globalData.projectInterface.registerComposition(animation.renderer);\n      animation.renderer.globalData.pushExpression = pushExpression;\n      animation.renderer.globalData.popExpression = popExpression;\n      animation.renderer.globalData.registerExpressionProperty = registerExpressionProperty;\n    }\n\n    return ob;\n  }();\n\n  expressionsPlugin = Expressions;\n  /* eslint-disable camelcase, no-unused-vars */\n\n  /* global BMMath, BezierFactory, createTypedArray, degToRads, shapePool */\n\n  var ExpressionManager = function () {\n    'use strict';\n\n    var ob = {};\n    var Math = BMMath;\n    var window = null;\n    var document = null;\n\n    function $bm_isInstanceOfArray(arr) {\n      return arr.constructor === Array || arr.constructor === Float32Array;\n    }\n\n    function isNumerable(tOfV, v) {\n      return tOfV === \"number\" || tOfV === \"boolean\" || tOfV === \"string\" || v instanceof Number;\n    }\n\n    function $bm_neg(a) {\n      var tOfA = typeof a;\n\n      if (tOfA === \"number\" || tOfA === \"boolean\" || a instanceof Number) {\n        return -a;\n      }\n\n      if ($bm_isInstanceOfArray(a)) {\n        var i;\n        var lenA = a.length;\n        var retArr = [];\n\n        for (i = 0; i < lenA; i += 1) {\n          retArr[i] = -a[i];\n        }\n\n        return retArr;\n      }\n\n      if (a.propType) {\n        return a.v;\n      }\n\n      return -a;\n    }\n\n    var easeInBez = BezierFactory.getBezierEasing(0.333, 0, 0.833, 0.833, \"easeIn\").get;\n    var easeOutBez = BezierFactory.getBezierEasing(0.167, 0.167, 0.667, 1, \"easeOut\").get;\n    var easeInOutBez = BezierFactory.getBezierEasing(0.33, 0, 0.667, 1, \"easeInOut\").get;\n\n    function sum(a, b) {\n      var tOfA = typeof a;\n      var tOfB = typeof b;\n\n      if (tOfA === \"string\" || tOfB === \"string\") {\n        return a + b;\n      }\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        return a + b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        a = a.slice(0);\n        a[0] += b;\n        return a;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        b = b.slice(0);\n        b[0] = a + b[0];\n        return b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n        var i = 0;\n        var lenA = a.length;\n        var lenB = b.length;\n        var retArr = [];\n\n        while (i < lenA || i < lenB) {\n          if ((typeof a[i] === \"number\" || a[i] instanceof Number) && (typeof b[i] === \"number\" || b[i] instanceof Number)) {\n            retArr[i] = a[i] + b[i];\n          } else {\n            retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n          }\n\n          i += 1;\n        }\n\n        return retArr;\n      }\n\n      return 0;\n    }\n\n    var add = sum;\n\n    function sub(a, b) {\n      var tOfA = typeof a;\n      var tOfB = typeof b;\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        if (tOfA === \"string\") {\n          a = parseInt(a, 10);\n        }\n\n        if (tOfB === \"string\") {\n          b = parseInt(b, 10);\n        }\n\n        return a - b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        a = a.slice(0);\n        a[0] -= b;\n        return a;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        b = b.slice(0);\n        b[0] = a - b[0];\n        return b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n        var i = 0;\n        var lenA = a.length;\n        var lenB = b.length;\n        var retArr = [];\n\n        while (i < lenA || i < lenB) {\n          if ((typeof a[i] === \"number\" || a[i] instanceof Number) && (typeof b[i] === \"number\" || b[i] instanceof Number)) {\n            retArr[i] = a[i] - b[i];\n          } else {\n            retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n          }\n\n          i += 1;\n        }\n\n        return retArr;\n      }\n\n      return 0;\n    }\n\n    function mul(a, b) {\n      var tOfA = typeof a;\n      var tOfB = typeof b;\n      var arr;\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        return a * b;\n      }\n\n      var i;\n      var len;\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        len = a.length;\n        arr = createTypedArray(\"float32\", len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a[i] * b;\n        }\n\n        return arr;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        len = b.length;\n        arr = createTypedArray(\"float32\", len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a * b[i];\n        }\n\n        return arr;\n      }\n\n      return 0;\n    }\n\n    function div(a, b) {\n      var tOfA = typeof a;\n      var tOfB = typeof b;\n      var arr;\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        return a / b;\n      }\n\n      var i;\n      var len;\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        len = a.length;\n        arr = createTypedArray(\"float32\", len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a[i] / b;\n        }\n\n        return arr;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        len = b.length;\n        arr = createTypedArray(\"float32\", len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a / b[i];\n        }\n\n        return arr;\n      }\n\n      return 0;\n    }\n\n    function mod(a, b) {\n      if (typeof a === \"string\") {\n        a = parseInt(a, 10);\n      }\n\n      if (typeof b === \"string\") {\n        b = parseInt(b, 10);\n      }\n\n      return a % b;\n    }\n\n    var $bm_sum = sum;\n    var $bm_sub = sub;\n    var $bm_mul = mul;\n    var $bm_div = div;\n    var $bm_mod = mod;\n\n    function clamp(num, min, max) {\n      if (min > max) {\n        var mm = max;\n        max = min;\n        min = mm;\n      }\n\n      return Math.min(Math.max(num, min), max);\n    }\n\n    function radiansToDegrees(val) {\n      return val / degToRads;\n    }\n\n    var radians_to_degrees = radiansToDegrees;\n\n    function degreesToRadians(val) {\n      return val * degToRads;\n    }\n\n    var degrees_to_radians = radiansToDegrees;\n    var helperLengthArray = [0, 0, 0, 0, 0, 0];\n\n    function length(arr1, arr2) {\n      if (typeof arr1 === \"number\" || arr1 instanceof Number) {\n        arr2 = arr2 || 0;\n        return Math.abs(arr1 - arr2);\n      }\n\n      if (!arr2) {\n        arr2 = helperLengthArray;\n      }\n\n      var i;\n      var len = Math.min(arr1.length, arr2.length);\n      var addedLength = 0;\n\n      for (i = 0; i < len; i += 1) {\n        addedLength += Math.pow(arr2[i] - arr1[i], 2);\n      }\n\n      return Math.sqrt(addedLength);\n    }\n\n    function normalize(vec) {\n      return div(vec, length(vec));\n    }\n\n    function rgbToHsl(val) {\n      var r = val[0];\n      var g = val[1];\n      var b = val[2];\n      var max = Math.max(r, g, b);\n      var min = Math.min(r, g, b);\n      var h;\n      var s;\n      var l = (max + min) / 2;\n\n      if (max === min) {\n        h = 0; // achromatic\n\n        s = 0; // achromatic\n      } else {\n        var d = max - min;\n        s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n        switch (max) {\n          case r:\n            h = (g - b) / d + (g < b ? 6 : 0);\n            break;\n\n          case g:\n            h = (b - r) / d + 2;\n            break;\n\n          case b:\n            h = (r - g) / d + 4;\n            break;\n\n          default:\n            break;\n        }\n\n        h /= 6;\n      }\n\n      return [h, s, l, val[3]];\n    }\n\n    function hue2rgb(p, q, t) {\n      if (t < 0) t += 1;\n      if (t > 1) t -= 1;\n      if (t < 1 / 6) return p + (q - p) * 6 * t;\n      if (t < 1 / 2) return q;\n      if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n      return p;\n    }\n\n    function hslToRgb(val) {\n      var h = val[0];\n      var s = val[1];\n      var l = val[2];\n      var r;\n      var g;\n      var b;\n\n      if (s === 0) {\n        r = l; // achromatic\n\n        b = l; // achromatic\n\n        g = l; // achromatic\n      } else {\n        var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n        var p = 2 * l - q;\n        r = hue2rgb(p, q, h + 1 / 3);\n        g = hue2rgb(p, q, h);\n        b = hue2rgb(p, q, h - 1 / 3);\n      }\n\n      return [r, g, b, val[3]];\n    }\n\n    function linear(t, tMin, tMax, value1, value2) {\n      if (value1 === undefined || value2 === undefined) {\n        value1 = tMin;\n        value2 = tMax;\n        tMin = 0;\n        tMax = 1;\n      }\n\n      if (tMax < tMin) {\n        var _tMin = tMax;\n        tMax = tMin;\n        tMin = _tMin;\n      }\n\n      if (t <= tMin) {\n        return value1;\n      }\n\n      if (t >= tMax) {\n        return value2;\n      }\n\n      var perc = tMax === tMin ? 0 : (t - tMin) / (tMax - tMin);\n\n      if (!value1.length) {\n        return value1 + (value2 - value1) * perc;\n      }\n\n      var i;\n      var len = value1.length;\n      var arr = createTypedArray(\"float32\", len);\n\n      for (i = 0; i < len; i += 1) {\n        arr[i] = value1[i] + (value2[i] - value1[i]) * perc;\n      }\n\n      return arr;\n    }\n\n    function random(min, max) {\n      if (max === undefined) {\n        if (min === undefined) {\n          min = 0;\n          max = 1;\n        } else {\n          max = min;\n          min = undefined;\n        }\n      }\n\n      if (max.length) {\n        var i;\n        var len = max.length;\n\n        if (!min) {\n          min = createTypedArray(\"float32\", len);\n        }\n\n        var arr = createTypedArray(\"float32\", len);\n        var rnd = BMMath.random();\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = min[i] + rnd * (max[i] - min[i]);\n        }\n\n        return arr;\n      }\n\n      if (min === undefined) {\n        min = 0;\n      }\n\n      var rndm = BMMath.random();\n      return min + rndm * (max - min);\n    }\n\n    function createPath(points, inTangents, outTangents, closed) {\n      var i;\n      var len = points.length;\n      var path = shapePool.newElement();\n      path.setPathData(!!closed, len);\n      var arrPlaceholder = [0, 0];\n      var inVertexPoint;\n      var outVertexPoint;\n\n      for (i = 0; i < len; i += 1) {\n        inVertexPoint = inTangents && inTangents[i] ? inTangents[i] : arrPlaceholder;\n        outVertexPoint = outTangents && outTangents[i] ? outTangents[i] : arrPlaceholder;\n        path.setTripleAt(points[i][0], points[i][1], outVertexPoint[0] + points[i][0], outVertexPoint[1] + points[i][1], inVertexPoint[0] + points[i][0], inVertexPoint[1] + points[i][1], i, true);\n      }\n\n      return path;\n    }\n\n    function initiateExpression(elem, data, property) {\n      var val = data.x;\n      var needsVelocity = /velocity(?![\\w\\d])/.test(val);\n\n      var _needsRandom = val.indexOf(\"random\") !== -1;\n\n      var elemType = elem.data.ty;\n      var transform;\n      var $bm_transform;\n      var content;\n      var effect;\n      var thisProperty = property;\n      thisProperty.valueAtTime = thisProperty.getValueAtTime;\n      Object.defineProperty(thisProperty, \"value\", {\n        get: function () {\n          return thisProperty.v;\n        }\n      });\n      elem.comp.frameDuration = 1 / elem.comp.globalData.frameRate;\n      elem.comp.displayStartTime = 0;\n      var inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n      var outPoint = elem.data.op / elem.comp.globalData.frameRate;\n      var width = elem.data.sw ? elem.data.sw : 0;\n      var height = elem.data.sh ? elem.data.sh : 0;\n      var name = elem.data.nm;\n      var loopIn;\n      var loop_in;\n      var loopOut;\n      var loop_out;\n      var smooth;\n      var toWorld;\n      var fromWorld;\n      var fromComp;\n      var toComp;\n      var fromCompToSurface;\n      var position;\n      var rotation;\n      var anchorPoint;\n      var scale;\n      var thisLayer;\n      var thisComp;\n      var mask;\n      var valueAtTime;\n      var velocityAtTime;\n      var scoped_bm_rt;\n      var expression_function = eval(\"[function _expression_function(){\" + val + \";scoped_bm_rt=$bm_rt}]\")[0]; // eslint-disable-line no-eval\n\n      var numKeys = property.kf ? data.k.length : 0;\n      var active = !(this || _global).data || (this || _global).data.hd !== true;\n\n      var wiggle = function wiggle(freq, amp) {\n        var iWiggle;\n        var j;\n        var lenWiggle = (this || _global).pv.length ? (this || _global).pv.length : 1;\n        var addedAmps = createTypedArray(\"float32\", lenWiggle);\n        freq = 5;\n        var iterations = Math.floor(time * freq);\n        iWiggle = 0;\n        j = 0;\n\n        while (iWiggle < iterations) {\n          // var rnd = BMMath.random();\n          for (j = 0; j < lenWiggle; j += 1) {\n            addedAmps[j] += -amp + amp * 2 * BMMath.random(); // addedAmps[j] += -amp + amp*2*rnd;\n          }\n\n          iWiggle += 1;\n        } // var rnd2 = BMMath.random();\n\n\n        var periods = time * freq;\n        var perc = periods - Math.floor(periods);\n        var arr = createTypedArray(\"float32\", lenWiggle);\n\n        if (lenWiggle > 1) {\n          for (j = 0; j < lenWiggle; j += 1) {\n            arr[j] = (this || _global).pv[j] + addedAmps[j] + (-amp + amp * 2 * BMMath.random()) * perc; // arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp*2*rnd)*perc;\n            // arr[i] = this.pv[i] + addedAmp + amp1*perc + amp2*(1-perc);\n          }\n\n          return arr;\n        }\n\n        return (this || _global).pv + addedAmps[0] + (-amp + amp * 2 * BMMath.random()) * perc;\n      }.bind(this || _global);\n\n      if (thisProperty.loopIn) {\n        loopIn = thisProperty.loopIn.bind(thisProperty);\n        loop_in = loopIn;\n      }\n\n      if (thisProperty.loopOut) {\n        loopOut = thisProperty.loopOut.bind(thisProperty);\n        loop_out = loopOut;\n      }\n\n      if (thisProperty.smooth) {\n        smooth = thisProperty.smooth.bind(thisProperty);\n      }\n\n      function loopInDuration(type, duration) {\n        return loopIn(type, duration, true);\n      }\n\n      function loopOutDuration(type, duration) {\n        return loopOut(type, duration, true);\n      }\n\n      if ((this || _global).getValueAtTime) {\n        valueAtTime = (this || _global).getValueAtTime.bind(this || _global);\n      }\n\n      if ((this || _global).getVelocityAtTime) {\n        velocityAtTime = (this || _global).getVelocityAtTime.bind(this || _global);\n      }\n\n      var comp = elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface);\n\n      function lookAt(elem1, elem2) {\n        var fVec = [elem2[0] - elem1[0], elem2[1] - elem1[1], elem2[2] - elem1[2]];\n        var pitch = Math.atan2(fVec[0], Math.sqrt(fVec[1] * fVec[1] + fVec[2] * fVec[2])) / degToRads;\n        var yaw = -Math.atan2(fVec[1], fVec[2]) / degToRads;\n        return [yaw, pitch, 0];\n      }\n\n      function easeOut(t, tMin, tMax, val1, val2) {\n        return applyEase(easeOutBez, t, tMin, tMax, val1, val2);\n      }\n\n      function easeIn(t, tMin, tMax, val1, val2) {\n        return applyEase(easeInBez, t, tMin, tMax, val1, val2);\n      }\n\n      function ease(t, tMin, tMax, val1, val2) {\n        return applyEase(easeInOutBez, t, tMin, tMax, val1, val2);\n      }\n\n      function applyEase(fn, t, tMin, tMax, val1, val2) {\n        if (val1 === undefined) {\n          val1 = tMin;\n          val2 = tMax;\n        } else {\n          t = (t - tMin) / (tMax - tMin);\n        }\n\n        if (t > 1) {\n          t = 1;\n        } else if (t < 0) {\n          t = 0;\n        }\n\n        var mult = fn(t);\n\n        if ($bm_isInstanceOfArray(val1)) {\n          var iKey;\n          var lenKey = val1.length;\n          var arr = createTypedArray(\"float32\", lenKey);\n\n          for (iKey = 0; iKey < lenKey; iKey += 1) {\n            arr[iKey] = (val2[iKey] - val1[iKey]) * mult + val1[iKey];\n          }\n\n          return arr;\n        }\n\n        return (val2 - val1) * mult + val1;\n      }\n\n      function nearestKey(time) {\n        var iKey;\n        var lenKey = data.k.length;\n        var index;\n        var keyTime;\n\n        if (!data.k.length || typeof data.k[0] === \"number\") {\n          index = 0;\n          keyTime = 0;\n        } else {\n          index = -1;\n          time *= elem.comp.globalData.frameRate;\n\n          if (time < data.k[0].t) {\n            index = 1;\n            keyTime = data.k[0].t;\n          } else {\n            for (iKey = 0; iKey < lenKey - 1; iKey += 1) {\n              if (time === data.k[iKey].t) {\n                index = iKey + 1;\n                keyTime = data.k[iKey].t;\n                break;\n              } else if (time > data.k[iKey].t && time < data.k[iKey + 1].t) {\n                if (time - data.k[iKey].t > data.k[iKey + 1].t - time) {\n                  index = iKey + 2;\n                  keyTime = data.k[iKey + 1].t;\n                } else {\n                  index = iKey + 1;\n                  keyTime = data.k[iKey].t;\n                }\n\n                break;\n              }\n            }\n\n            if (index === -1) {\n              index = iKey + 1;\n              keyTime = data.k[iKey].t;\n            }\n          }\n        }\n\n        var obKey = {};\n        obKey.index = index;\n        obKey.time = keyTime / elem.comp.globalData.frameRate;\n        return obKey;\n      }\n\n      function key(ind) {\n        var obKey;\n        var iKey;\n        var lenKey;\n\n        if (!data.k.length || typeof data.k[0] === \"number\") {\n          throw new Error(\"The property has no keyframe at index \" + ind);\n        }\n\n        ind -= 1;\n        obKey = {\n          time: data.k[ind].t / elem.comp.globalData.frameRate,\n          value: []\n        };\n        var arr = Object.prototype.hasOwnProperty.call(data.k[ind], \"s\") ? data.k[ind].s : data.k[ind - 1].e;\n        lenKey = arr.length;\n\n        for (iKey = 0; iKey < lenKey; iKey += 1) {\n          obKey[iKey] = arr[iKey];\n          obKey.value[iKey] = arr[iKey];\n        }\n\n        return obKey;\n      }\n\n      function framesToTime(frames, fps) {\n        if (!fps) {\n          fps = elem.comp.globalData.frameRate;\n        }\n\n        return frames / fps;\n      }\n\n      function timeToFrames(t, fps) {\n        if (!t && t !== 0) {\n          t = time;\n        }\n\n        if (!fps) {\n          fps = elem.comp.globalData.frameRate;\n        }\n\n        return t * fps;\n      }\n\n      function seedRandom(seed) {\n        BMMath.seedrandom(randSeed + seed);\n      }\n\n      function sourceRectAtTime() {\n        return elem.sourceRectAtTime();\n      }\n\n      function substring(init, end) {\n        if (typeof value === \"string\") {\n          if (end === undefined) {\n            return value.substring(init);\n          }\n\n          return value.substring(init, end);\n        }\n\n        return \"\";\n      }\n\n      function substr(init, end) {\n        if (typeof value === \"string\") {\n          if (end === undefined) {\n            return value.substr(init);\n          }\n\n          return value.substr(init, end);\n        }\n\n        return \"\";\n      }\n\n      function posterizeTime(framesPerSecond) {\n        time = framesPerSecond === 0 ? 0 : Math.floor(time * framesPerSecond) / framesPerSecond;\n        value = valueAtTime(time);\n      }\n\n      var time;\n      var velocity;\n      var value;\n      var text;\n      var textIndex;\n      var textTotal;\n      var selectorValue;\n      var index = elem.data.ind;\n      var hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n      var parent;\n      var randSeed = Math.floor(Math.random() * 1000000);\n      var globalData = elem.globalData;\n\n      function executeExpression(_value) {\n        // globalData.pushExpression();\n        value = _value;\n\n        if (_needsRandom) {\n          seedRandom(randSeed);\n        }\n\n        if ((this || _global).frameExpressionId === elem.globalData.frameId && (this || _global).propType !== \"textSelector\") {\n          return value;\n        }\n\n        if ((this || _global).propType === \"textSelector\") {\n          textIndex = (this || _global).textIndex;\n          textTotal = (this || _global).textTotal;\n          selectorValue = (this || _global).selectorValue;\n        }\n\n        if (!thisLayer) {\n          text = elem.layerInterface.text;\n          thisLayer = elem.layerInterface;\n          thisComp = elem.comp.compInterface;\n          toWorld = thisLayer.toWorld.bind(thisLayer);\n          fromWorld = thisLayer.fromWorld.bind(thisLayer);\n          fromComp = thisLayer.fromComp.bind(thisLayer);\n          toComp = thisLayer.toComp.bind(thisLayer);\n          mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null;\n          fromCompToSurface = fromComp;\n        }\n\n        if (!transform) {\n          transform = elem.layerInterface(\"ADBE Transform Group\");\n          $bm_transform = transform;\n\n          if (transform) {\n            anchorPoint = transform.anchorPoint;\n            /* position = transform.position;\r\n                      rotation = transform.rotation;\r\n                      scale = transform.scale; */\n          }\n        }\n\n        if (elemType === 4 && !content) {\n          content = thisLayer(\"ADBE Root Vectors Group\");\n        }\n\n        if (!effect) {\n          effect = thisLayer(4);\n        }\n\n        hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n\n        if (hasParent && !parent) {\n          parent = elem.hierarchy[0].layerInterface;\n        }\n\n        time = (this || _global).comp.renderedFrame / (this || _global).comp.globalData.frameRate;\n\n        if (needsVelocity) {\n          velocity = velocityAtTime(time);\n        }\n\n        expression_function();\n        (this || _global).frameExpressionId = elem.globalData.frameId; // TODO: Check if it's possible to return on ShapeInterface the .v value\n\n        if (scoped_bm_rt.propType === \"shape\") {\n          scoped_bm_rt = scoped_bm_rt.v;\n        } // globalData.popExpression();\n\n\n        return scoped_bm_rt;\n      }\n\n      return executeExpression;\n    }\n\n    ob.initiateExpression = initiateExpression;\n    return ob;\n  }();\n  /* global ExpressionManager, createTypedArray */\n\n  /* exported expressionHelpers */\n\n\n  var expressionHelpers = function () {\n    function searchExpressions(elem, data, prop) {\n      if (data.x) {\n        prop.k = true;\n        prop.x = true;\n        prop.initiateExpression = ExpressionManager.initiateExpression;\n        prop.effectsSequence.push(prop.initiateExpression(elem, data, prop).bind(prop));\n      }\n    }\n\n    function getValueAtTime(frameNum) {\n      frameNum *= (this || _global).elem.globalData.frameRate;\n      frameNum -= (this || _global).offsetTime;\n\n      if (frameNum !== (this || _global)._cachingAtTime.lastFrame) {\n        (this || _global)._cachingAtTime.lastIndex = (this || _global)._cachingAtTime.lastFrame < frameNum ? (this || _global)._cachingAtTime.lastIndex : 0;\n        (this || _global)._cachingAtTime.value = this.interpolateValue(frameNum, (this || _global)._cachingAtTime);\n        (this || _global)._cachingAtTime.lastFrame = frameNum;\n      }\n\n      return (this || _global)._cachingAtTime.value;\n    }\n\n    function getSpeedAtTime(frameNum) {\n      var delta = -0.01;\n      var v1 = this.getValueAtTime(frameNum);\n      var v2 = this.getValueAtTime(frameNum + delta);\n      var speed = 0;\n\n      if (v1.length) {\n        var i;\n\n        for (i = 0; i < v1.length; i += 1) {\n          speed += Math.pow(v2[i] - v1[i], 2);\n        }\n\n        speed = Math.sqrt(speed) * 100;\n      } else {\n        speed = 0;\n      }\n\n      return speed;\n    }\n\n    function getVelocityAtTime(frameNum) {\n      if ((this || _global).vel !== undefined) {\n        return (this || _global).vel;\n      }\n\n      var delta = -0.001; // frameNum += this.elem.data.st;\n\n      var v1 = this.getValueAtTime(frameNum);\n      var v2 = this.getValueAtTime(frameNum + delta);\n      var velocity;\n\n      if (v1.length) {\n        velocity = createTypedArray(\"float32\", v1.length);\n        var i;\n\n        for (i = 0; i < v1.length; i += 1) {\n          // removing frameRate\n          // if needed, don't add it here\n          // velocity[i] = this.elem.globalData.frameRate*((v2[i] - v1[i])/delta);\n          velocity[i] = (v2[i] - v1[i]) / delta;\n        }\n      } else {\n        velocity = (v2 - v1) / delta;\n      }\n\n      return velocity;\n    }\n\n    function getStaticValueAtTime() {\n      return (this || _global).pv;\n    }\n\n    function setGroupProperty(propertyGroup) {\n      (this || _global).propertyGroup = propertyGroup;\n    }\n\n    return {\n      searchExpressions: searchExpressions,\n      getSpeedAtTime: getSpeedAtTime,\n      getVelocityAtTime: getVelocityAtTime,\n      getValueAtTime: getValueAtTime,\n      getStaticValueAtTime: getStaticValueAtTime,\n      setGroupProperty: setGroupProperty\n    };\n  }();\n  /* global createTypedArray, Matrix, TransformPropertyFactory, expressionHelpers, PropertyFactory, expressionHelpers,\r\n  initialDefaultFrame, shapePool, ShapePropertyFactory, bez, extendPrototype, ExpressionManager, createSizedArray */\n\n\n  (function addPropertyDecorator() {\n    function loopOut(type, duration, durationFlag) {\n      if (!(this || _global).k || !(this || _global).keyframes) {\n        return (this || _global).pv;\n      }\n\n      type = type ? type.toLowerCase() : \"\";\n      var currentFrame = (this || _global).comp.renderedFrame;\n      var keyframes = (this || _global).keyframes;\n      var lastKeyFrame = keyframes[keyframes.length - 1].t;\n\n      if (currentFrame <= lastKeyFrame) {\n        return (this || _global).pv;\n      }\n\n      var cycleDuration;\n      var firstKeyFrame;\n\n      if (!durationFlag) {\n        if (!duration || duration > keyframes.length - 1) {\n          duration = keyframes.length - 1;\n        }\n\n        firstKeyFrame = keyframes[keyframes.length - 1 - duration].t;\n        cycleDuration = lastKeyFrame - firstKeyFrame;\n      } else {\n        if (!duration) {\n          cycleDuration = Math.max(0, lastKeyFrame - (this || _global).elem.data.ip);\n        } else {\n          cycleDuration = Math.abs(lastKeyFrame - (this || _global).elem.comp.globalData.frameRate * duration);\n        }\n\n        firstKeyFrame = lastKeyFrame - cycleDuration;\n      }\n\n      var i;\n      var len;\n      var ret;\n\n      if (type === \"pingpong\") {\n        var iterations = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n        if (iterations % 2 !== 0) {\n          return this.getValueAtTime((cycleDuration - (currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n        }\n      } else if (type === \"offset\") {\n        var initV = this.getValueAtTime(firstKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var endV = this.getValueAtTime(lastKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var current = this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n\n        var repeats = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n        if ((this || _global).pv.length) {\n          ret = new Array(initV.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = (endV[i] - initV[i]) * repeats + current[i];\n          }\n\n          return ret;\n        }\n\n        return (endV - initV) * repeats + current;\n      } else if (type === \"continue\") {\n        var lastValue = this.getValueAtTime(lastKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var nextLastValue = this.getValueAtTime((lastKeyFrame - 0.001) / (this || _global).comp.globalData.frameRate, 0);\n\n        if ((this || _global).pv.length) {\n          ret = new Array(lastValue.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = lastValue[i] + (lastValue[i] - nextLastValue[i]) * ((currentFrame - lastKeyFrame) / (this || _global).comp.globalData.frameRate) / 0.0005; // eslint-disable-line\n          }\n\n          return ret;\n        }\n\n        return lastValue + (lastValue - nextLastValue) * ((currentFrame - lastKeyFrame) / 0.001);\n      }\n\n      return this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n    }\n\n    function loopIn(type, duration, durationFlag) {\n      if (!(this || _global).k) {\n        return (this || _global).pv;\n      }\n\n      type = type ? type.toLowerCase() : \"\";\n      var currentFrame = (this || _global).comp.renderedFrame;\n      var keyframes = (this || _global).keyframes;\n      var firstKeyFrame = keyframes[0].t;\n\n      if (currentFrame >= firstKeyFrame) {\n        return (this || _global).pv;\n      }\n\n      var cycleDuration;\n      var lastKeyFrame;\n\n      if (!durationFlag) {\n        if (!duration || duration > keyframes.length - 1) {\n          duration = keyframes.length - 1;\n        }\n\n        lastKeyFrame = keyframes[duration].t;\n        cycleDuration = lastKeyFrame - firstKeyFrame;\n      } else {\n        if (!duration) {\n          cycleDuration = Math.max(0, (this || _global).elem.data.op - firstKeyFrame);\n        } else {\n          cycleDuration = Math.abs((this || _global).elem.comp.globalData.frameRate * duration);\n        }\n\n        lastKeyFrame = firstKeyFrame + cycleDuration;\n      }\n\n      var i;\n      var len;\n      var ret;\n\n      if (type === \"pingpong\") {\n        var iterations = Math.floor((firstKeyFrame - currentFrame) / cycleDuration);\n\n        if (iterations % 2 === 0) {\n          return this.getValueAtTime(((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n        }\n      } else if (type === \"offset\") {\n        var initV = this.getValueAtTime(firstKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var endV = this.getValueAtTime(lastKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var current = this.getValueAtTime((cycleDuration - (firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0);\n        var repeats = Math.floor((firstKeyFrame - currentFrame) / cycleDuration) + 1;\n\n        if ((this || _global).pv.length) {\n          ret = new Array(initV.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = current[i] - (endV[i] - initV[i]) * repeats;\n          }\n\n          return ret;\n        }\n\n        return current - (endV - initV) * repeats;\n      } else if (type === \"continue\") {\n        var firstValue = this.getValueAtTime(firstKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var nextFirstValue = this.getValueAtTime((firstKeyFrame + 0.001) / (this || _global).comp.globalData.frameRate, 0);\n\n        if ((this || _global).pv.length) {\n          ret = new Array(firstValue.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = firstValue[i] + (firstValue[i] - nextFirstValue[i]) * (firstKeyFrame - currentFrame) / 0.001;\n          }\n\n          return ret;\n        }\n\n        return firstValue + (firstValue - nextFirstValue) * (firstKeyFrame - currentFrame) / 0.001;\n      }\n\n      return this.getValueAtTime((cycleDuration - ((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame)) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n    }\n\n    function smooth(width, samples) {\n      if (!(this || _global).k) {\n        return (this || _global).pv;\n      }\n\n      width = (width || 0.4) * 0.5;\n      samples = Math.floor(samples || 5);\n\n      if (samples <= 1) {\n        return (this || _global).pv;\n      }\n\n      var currentTime = (this || _global).comp.renderedFrame / (this || _global).comp.globalData.frameRate;\n      var initFrame = currentTime - width;\n      var endFrame = currentTime + width;\n      var sampleFrequency = samples > 1 ? (endFrame - initFrame) / (samples - 1) : 1;\n      var i = 0;\n      var j = 0;\n      var value;\n\n      if ((this || _global).pv.length) {\n        value = createTypedArray(\"float32\", (this || _global).pv.length);\n      } else {\n        value = 0;\n      }\n\n      var sampleValue;\n\n      while (i < samples) {\n        sampleValue = this.getValueAtTime(initFrame + i * sampleFrequency);\n\n        if ((this || _global).pv.length) {\n          for (j = 0; j < (this || _global).pv.length; j += 1) {\n            value[j] += sampleValue[j];\n          }\n        } else {\n          value += sampleValue;\n        }\n\n        i += 1;\n      }\n\n      if ((this || _global).pv.length) {\n        for (j = 0; j < (this || _global).pv.length; j += 1) {\n          value[j] /= samples;\n        }\n      } else {\n        value /= samples;\n      }\n\n      return value;\n    }\n\n    function getTransformValueAtTime(time) {\n      if (!(this || _global)._transformCachingAtTime) {\n        (this || _global)._transformCachingAtTime = {\n          v: new Matrix()\n        };\n      } /// /\n\n\n      var matrix = (this || _global)._transformCachingAtTime.v;\n      matrix.cloneFromProps((this || _global).pre.props);\n\n      if ((this || _global).appliedTransformations < 1) {\n        var anchor = (this || _global).a.getValueAtTime(time);\n\n        matrix.translate(-anchor[0] * (this || _global).a.mult, -anchor[1] * (this || _global).a.mult, anchor[2] * (this || _global).a.mult);\n      }\n\n      if ((this || _global).appliedTransformations < 2) {\n        var scale = (this || _global).s.getValueAtTime(time);\n\n        matrix.scale(scale[0] * (this || _global).s.mult, scale[1] * (this || _global).s.mult, scale[2] * (this || _global).s.mult);\n      }\n\n      if ((this || _global).sk && (this || _global).appliedTransformations < 3) {\n        var skew = (this || _global).sk.getValueAtTime(time);\n\n        var skewAxis = (this || _global).sa.getValueAtTime(time);\n\n        matrix.skewFromAxis(-skew * (this || _global).sk.mult, skewAxis * (this || _global).sa.mult);\n      }\n\n      if ((this || _global).r && (this || _global).appliedTransformations < 4) {\n        var rotation = (this || _global).r.getValueAtTime(time);\n\n        matrix.rotate(-rotation * (this || _global).r.mult);\n      } else if (!(this || _global).r && (this || _global).appliedTransformations < 4) {\n        var rotationZ = (this || _global).rz.getValueAtTime(time);\n\n        var rotationY = (this || _global).ry.getValueAtTime(time);\n\n        var rotationX = (this || _global).rx.getValueAtTime(time);\n\n        var orientation = (this || _global).or.getValueAtTime(time);\n\n        matrix.rotateZ(-rotationZ * (this || _global).rz.mult).rotateY(rotationY * (this || _global).ry.mult).rotateX(rotationX * (this || _global).rx.mult).rotateZ(-orientation[2] * (this || _global).or.mult).rotateY(orientation[1] * (this || _global).or.mult).rotateX(orientation[0] * (this || _global).or.mult);\n      }\n\n      if ((this || _global).data.p && (this || _global).data.p.s) {\n        var positionX = (this || _global).px.getValueAtTime(time);\n\n        var positionY = (this || _global).py.getValueAtTime(time);\n\n        if ((this || _global).data.p.z) {\n          var positionZ = (this || _global).pz.getValueAtTime(time);\n\n          matrix.translate(positionX * (this || _global).px.mult, positionY * (this || _global).py.mult, -positionZ * (this || _global).pz.mult);\n        } else {\n          matrix.translate(positionX * (this || _global).px.mult, positionY * (this || _global).py.mult, 0);\n        }\n      } else {\n        var position = (this || _global).p.getValueAtTime(time);\n\n        matrix.translate(position[0] * (this || _global).p.mult, position[1] * (this || _global).p.mult, -position[2] * (this || _global).p.mult);\n      }\n\n      return matrix; /// /\n    }\n\n    function getTransformStaticValueAtTime() {\n      return (this || _global).v.clone(new Matrix());\n    }\n\n    var getTransformProperty = TransformPropertyFactory.getTransformProperty;\n\n    TransformPropertyFactory.getTransformProperty = function (elem, data, container) {\n      var prop = getTransformProperty(elem, data, container);\n\n      if (prop.dynamicProperties.length) {\n        prop.getValueAtTime = getTransformValueAtTime.bind(prop);\n      } else {\n        prop.getValueAtTime = getTransformStaticValueAtTime.bind(prop);\n      }\n\n      prop.setGroupProperty = expressionHelpers.setGroupProperty;\n      return prop;\n    };\n\n    var propertyGetProp = PropertyFactory.getProp;\n\n    PropertyFactory.getProp = function (elem, data, type, mult, container) {\n      var prop = propertyGetProp(elem, data, type, mult, container); // prop.getVelocityAtTime = getVelocityAtTime;\n      // prop.loopOut = loopOut;\n      // prop.loopIn = loopIn;\n\n      if (prop.kf) {\n        prop.getValueAtTime = expressionHelpers.getValueAtTime.bind(prop);\n      } else {\n        prop.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(prop);\n      }\n\n      prop.setGroupProperty = expressionHelpers.setGroupProperty;\n      prop.loopOut = loopOut;\n      prop.loopIn = loopIn;\n      prop.smooth = smooth;\n      prop.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(prop);\n      prop.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(prop);\n      prop.numKeys = data.a === 1 ? data.k.length : 0;\n      prop.propertyIndex = data.ix;\n      var value = 0;\n\n      if (type !== 0) {\n        value = createTypedArray(\"float32\", data.a === 1 ? data.k[0].s.length : data.k.length);\n      }\n\n      prop._cachingAtTime = {\n        lastFrame: initialDefaultFrame,\n        lastIndex: 0,\n        value: value\n      };\n      expressionHelpers.searchExpressions(elem, data, prop);\n\n      if (prop.k) {\n        container.addDynamicProperty(prop);\n      }\n\n      return prop;\n    };\n\n    function getShapeValueAtTime(frameNum) {\n      // For now this caching object is created only when needed instead of creating it when the shape is initialized.\n      if (!(this || _global)._cachingAtTime) {\n        (this || _global)._cachingAtTime = {\n          shapeValue: shapePool.clone((this || _global).pv),\n          lastIndex: 0,\n          lastTime: initialDefaultFrame\n        };\n      }\n\n      frameNum *= (this || _global).elem.globalData.frameRate;\n      frameNum -= (this || _global).offsetTime;\n\n      if (frameNum !== (this || _global)._cachingAtTime.lastTime) {\n        (this || _global)._cachingAtTime.lastIndex = (this || _global)._cachingAtTime.lastTime < frameNum ? (this || _global)._caching.lastIndex : 0;\n        (this || _global)._cachingAtTime.lastTime = frameNum;\n        this.interpolateShape(frameNum, (this || _global)._cachingAtTime.shapeValue, (this || _global)._cachingAtTime);\n      }\n\n      return (this || _global)._cachingAtTime.shapeValue;\n    }\n\n    var ShapePropertyConstructorFunction = ShapePropertyFactory.getConstructorFunction();\n    var KeyframedShapePropertyConstructorFunction = ShapePropertyFactory.getKeyframedConstructorFunction();\n\n    function ShapeExpressions() {}\n\n    ShapeExpressions.prototype = {\n      vertices: function (prop, time) {\n        if ((this || _global).k) {\n          this.getValue();\n        }\n\n        var shapePath = (this || _global).v;\n\n        if (time !== undefined) {\n          shapePath = this.getValueAtTime(time, 0);\n        }\n\n        var i;\n        var len = shapePath._length;\n        var vertices = shapePath[prop];\n        var points = shapePath.v;\n        var arr = createSizedArray(len);\n\n        for (i = 0; i < len; i += 1) {\n          if (prop === \"i\" || prop === \"o\") {\n            arr[i] = [vertices[i][0] - points[i][0], vertices[i][1] - points[i][1]];\n          } else {\n            arr[i] = [vertices[i][0], vertices[i][1]];\n          }\n        }\n\n        return arr;\n      },\n      points: function (time) {\n        return this.vertices(\"v\", time);\n      },\n      inTangents: function (time) {\n        return this.vertices(\"i\", time);\n      },\n      outTangents: function (time) {\n        return this.vertices(\"o\", time);\n      },\n      isClosed: function () {\n        return (this || _global).v.c;\n      },\n      pointOnPath: function (perc, time) {\n        var shapePath = (this || _global).v;\n\n        if (time !== undefined) {\n          shapePath = this.getValueAtTime(time, 0);\n        }\n\n        if (!(this || _global)._segmentsLength) {\n          (this || _global)._segmentsLength = bez.getSegmentsLength(shapePath);\n        }\n\n        var segmentsLength = (this || _global)._segmentsLength;\n        var lengths = segmentsLength.lengths;\n        var lengthPos = segmentsLength.totalLength * perc;\n        var i = 0;\n        var len = lengths.length;\n        var accumulatedLength = 0;\n        var pt;\n\n        while (i < len) {\n          if (accumulatedLength + lengths[i].addedLength > lengthPos) {\n            var initIndex = i;\n            var endIndex = shapePath.c && i === len - 1 ? 0 : i + 1;\n            var segmentPerc = (lengthPos - accumulatedLength) / lengths[i].addedLength;\n            pt = bez.getPointInSegment(shapePath.v[initIndex], shapePath.v[endIndex], shapePath.o[initIndex], shapePath.i[endIndex], segmentPerc, lengths[i]);\n            break;\n          } else {\n            accumulatedLength += lengths[i].addedLength;\n          }\n\n          i += 1;\n        }\n\n        if (!pt) {\n          pt = shapePath.c ? [shapePath.v[0][0], shapePath.v[0][1]] : [shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1]];\n        }\n\n        return pt;\n      },\n      vectorOnPath: function (perc, time, vectorType) {\n        // perc doesn't use triple equality because it can be a Number object as well as a primitive.\n        if (perc == 1) {\n          // eslint-disable-line eqeqeq\n          perc = (this || _global).v.c;\n        } else if (perc == 0) {\n          // eslint-disable-line eqeqeq\n          perc = 0.999;\n        }\n\n        var pt1 = this.pointOnPath(perc, time);\n        var pt2 = this.pointOnPath(perc + 0.001, time);\n        var xLength = pt2[0] - pt1[0];\n        var yLength = pt2[1] - pt1[1];\n        var magnitude = Math.sqrt(Math.pow(xLength, 2) + Math.pow(yLength, 2));\n\n        if (magnitude === 0) {\n          return [0, 0];\n        }\n\n        var unitVector = vectorType === \"tangent\" ? [xLength / magnitude, yLength / magnitude] : [-yLength / magnitude, xLength / magnitude];\n        return unitVector;\n      },\n      tangentOnPath: function (perc, time) {\n        return this.vectorOnPath(perc, time, \"tangent\");\n      },\n      normalOnPath: function (perc, time) {\n        return this.vectorOnPath(perc, time, \"normal\");\n      },\n      setGroupProperty: expressionHelpers.setGroupProperty,\n      getValueAtTime: expressionHelpers.getStaticValueAtTime\n    };\n    extendPrototype([ShapeExpressions], ShapePropertyConstructorFunction);\n    extendPrototype([ShapeExpressions], KeyframedShapePropertyConstructorFunction);\n    KeyframedShapePropertyConstructorFunction.prototype.getValueAtTime = getShapeValueAtTime;\n    KeyframedShapePropertyConstructorFunction.prototype.initiateExpression = ExpressionManager.initiateExpression;\n    var propertyGetShapeProp = ShapePropertyFactory.getShapeProp;\n\n    ShapePropertyFactory.getShapeProp = function (elem, data, type, arr, trims) {\n      var prop = propertyGetShapeProp(elem, data, type, arr, trims);\n      prop.propertyIndex = data.ix;\n      prop.lock = false;\n\n      if (type === 3) {\n        expressionHelpers.searchExpressions(elem, data.pt, prop);\n      } else if (type === 4) {\n        expressionHelpers.searchExpressions(elem, data.ks, prop);\n      }\n\n      if (prop.k) {\n        elem.addDynamicProperty(prop);\n      }\n\n      return prop;\n    };\n  })();\n  /* global ExpressionManager, TextProperty */\n\n\n  (function addDecorator() {\n    function searchExpressions() {\n      if ((this || _global).data.d.x) {\n        (this || _global).calculateExpression = ExpressionManager.initiateExpression.bind(this || _global)((this || _global).elem, (this || _global).data.d, this || _global);\n        this.addEffect((this || _global).getExpressionValue.bind(this || _global));\n        return true;\n      }\n\n      return null;\n    }\n\n    TextProperty.prototype.getExpressionValue = function (currentValue, text) {\n      var newValue = this.calculateExpression(text);\n\n      if (currentValue.t !== newValue) {\n        var newData = {};\n        this.copyData(newData, currentValue);\n        newData.t = newValue.toString();\n        newData.__complete = false;\n        return newData;\n      }\n\n      return currentValue;\n    };\n\n    TextProperty.prototype.searchProperty = function () {\n      var isKeyframed = this.searchKeyframes();\n      var hasExpressions = this.searchExpressions();\n      (this || _global).kf = isKeyframed || hasExpressions;\n      return (this || _global).kf;\n    };\n\n    TextProperty.prototype.searchExpressions = searchExpressions;\n  })();\n  /* global propertyGroupFactory, PropertyInterface */\n\n  /* exported ShapePathInterface */\n\n\n  var ShapePathInterface = function () {\n    return function pathInterfaceFactory(shape, view, propertyGroup) {\n      var prop = view.sh;\n\n      function interfaceFunction(val) {\n        if (val === \"Shape\" || val === \"shape\" || val === \"Path\" || val === \"path\" || val === \"ADBE Vector Shape\" || val === 2) {\n          return interfaceFunction.path;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      prop.setGroupProperty(PropertyInterface(\"Path\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        path: {\n          get: function () {\n            if (prop.k) {\n              prop.getValue();\n            }\n\n            return prop;\n          }\n        },\n        shape: {\n          get: function () {\n            if (prop.k) {\n              prop.getValue();\n            }\n\n            return prop;\n          }\n        },\n        _name: {\n          value: shape.nm\n        },\n        ix: {\n          value: shape.ix\n        },\n        propertyIndex: {\n          value: shape.ix\n        },\n        mn: {\n          value: shape.mn\n        },\n        propertyGroup: {\n          value: propertyGroup\n        }\n      });\n      return interfaceFunction;\n    };\n  }();\n  /* exported propertyGroupFactory */\n\n\n  var propertyGroupFactory = function () {\n    return function (interfaceFunction, parentPropertyGroup) {\n      return function (val) {\n        val = val === undefined ? 1 : val;\n\n        if (val <= 0) {\n          return interfaceFunction;\n        }\n\n        return parentPropertyGroup(val - 1);\n      };\n    };\n  }();\n  /* exported PropertyInterface */\n\n\n  var PropertyInterface = function () {\n    return function (propertyName, propertyGroup) {\n      var interfaceFunction = {\n        _name: propertyName\n      };\n\n      function _propertyGroup(val) {\n        val = val === undefined ? 1 : val;\n\n        if (val <= 0) {\n          return interfaceFunction;\n        }\n\n        return propertyGroup(val - 1);\n      }\n\n      return _propertyGroup;\n    };\n  }();\n  /* global ExpressionPropertyInterface, PropertyInterface, propertyGroupFactory, ShapePathInterface */\n\n  /* exported ShapeExpressionInterface */\n\n\n  var ShapeExpressionInterface = function () {\n    function iterateElements(shapes, view, propertyGroup) {\n      var arr = [];\n      var i;\n      var len = shapes ? shapes.length : 0;\n\n      for (i = 0; i < len; i += 1) {\n        if (shapes[i].ty === \"gr\") {\n          arr.push(groupInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"fl\") {\n          arr.push(fillInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"st\") {\n          arr.push(strokeInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"tm\") {\n          arr.push(trimInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"tr\") {// arr.push(transformInterfaceFactory(shapes[i],view[i],propertyGroup));\n        } else if (shapes[i].ty === \"el\") {\n          arr.push(ellipseInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"sr\") {\n          arr.push(starInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"sh\") {\n          arr.push(ShapePathInterface(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"rc\") {\n          arr.push(rectInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"rd\") {\n          arr.push(roundedInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"rp\") {\n          arr.push(repeaterInterfaceFactory(shapes[i], view[i], propertyGroup));\n        }\n      }\n\n      return arr;\n    }\n\n    function contentsInterfaceFactory(shape, view, propertyGroup) {\n      var interfaces;\n\n      var interfaceFunction = function _interfaceFunction(value) {\n        var i = 0;\n        var len = interfaces.length;\n\n        while (i < len) {\n          if (interfaces[i]._name === value || interfaces[i].mn === value || interfaces[i].propertyIndex === value || interfaces[i].ix === value || interfaces[i].ind === value) {\n            return interfaces[i];\n          }\n\n          i += 1;\n        }\n\n        if (typeof value === \"number\") {\n          return interfaces[value - 1];\n        }\n\n        return null;\n      };\n\n      interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n      interfaces = iterateElements(shape.it, view.it, interfaceFunction.propertyGroup);\n      interfaceFunction.numProperties = interfaces.length;\n      var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n      interfaceFunction.transform = transformInterface;\n      interfaceFunction.propertyIndex = shape.cix;\n      interfaceFunction._name = shape.nm;\n      return interfaceFunction;\n    }\n\n    function groupInterfaceFactory(shape, view, propertyGroup) {\n      var interfaceFunction = function _interfaceFunction(value) {\n        switch (value) {\n          case \"ADBE Vectors Group\":\n          case \"Contents\":\n          case 2:\n            return interfaceFunction.content;\n          // Not necessary for now. Keeping them here in case a new case appears\n          // case 'ADBE Vector Transform Group':\n          // case 3:\n\n          default:\n            return interfaceFunction.transform;\n        }\n      };\n\n      interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n      var content = contentsInterfaceFactory(shape, view, interfaceFunction.propertyGroup);\n      var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n      interfaceFunction.content = content;\n      interfaceFunction.transform = transformInterface;\n      Object.defineProperty(interfaceFunction, \"_name\", {\n        get: function () {\n          return shape.nm;\n        }\n      }); // interfaceFunction.content = interfaceFunction;\n\n      interfaceFunction.numProperties = shape.np;\n      interfaceFunction.propertyIndex = shape.ix;\n      interfaceFunction.nm = shape.nm;\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function fillInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(val) {\n        if (val === \"Color\" || val === \"color\") {\n          return interfaceFunction.color;\n        }\n\n        if (val === \"Opacity\" || val === \"opacity\") {\n          return interfaceFunction.opacity;\n        }\n\n        return null;\n      }\n\n      Object.defineProperties(interfaceFunction, {\n        color: {\n          get: ExpressionPropertyInterface(view.c)\n        },\n        opacity: {\n          get: ExpressionPropertyInterface(view.o)\n        },\n        _name: {\n          value: shape.nm\n        },\n        mn: {\n          value: shape.mn\n        }\n      });\n      view.c.setGroupProperty(PropertyInterface(\"Color\", propertyGroup));\n      view.o.setGroupProperty(PropertyInterface(\"Opacity\", propertyGroup));\n      return interfaceFunction;\n    }\n\n    function strokeInterfaceFactory(shape, view, propertyGroup) {\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var _dashPropertyGroup = propertyGroupFactory(dashOb, _propertyGroup);\n\n      function addPropertyToDashOb(i) {\n        Object.defineProperty(dashOb, shape.d[i].nm, {\n          get: ExpressionPropertyInterface(view.d.dataProps[i].p)\n        });\n      }\n\n      var i;\n      var len = shape.d ? shape.d.length : 0;\n      var dashOb = {};\n\n      for (i = 0; i < len; i += 1) {\n        addPropertyToDashOb(i);\n        view.d.dataProps[i].p.setGroupProperty(_dashPropertyGroup);\n      }\n\n      function interfaceFunction(val) {\n        if (val === \"Color\" || val === \"color\") {\n          return interfaceFunction.color;\n        }\n\n        if (val === \"Opacity\" || val === \"opacity\") {\n          return interfaceFunction.opacity;\n        }\n\n        if (val === \"Stroke Width\" || val === \"stroke width\") {\n          return interfaceFunction.strokeWidth;\n        }\n\n        return null;\n      }\n\n      Object.defineProperties(interfaceFunction, {\n        color: {\n          get: ExpressionPropertyInterface(view.c)\n        },\n        opacity: {\n          get: ExpressionPropertyInterface(view.o)\n        },\n        strokeWidth: {\n          get: ExpressionPropertyInterface(view.w)\n        },\n        dash: {\n          get: function () {\n            return dashOb;\n          }\n        },\n        _name: {\n          value: shape.nm\n        },\n        mn: {\n          value: shape.mn\n        }\n      });\n      view.c.setGroupProperty(PropertyInterface(\"Color\", _propertyGroup));\n      view.o.setGroupProperty(PropertyInterface(\"Opacity\", _propertyGroup));\n      view.w.setGroupProperty(PropertyInterface(\"Stroke Width\", _propertyGroup));\n      return interfaceFunction;\n    }\n\n    function trimInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(val) {\n        if (val === shape.e.ix || val === \"End\" || val === \"end\") {\n          return interfaceFunction.end;\n        }\n\n        if (val === shape.s.ix) {\n          return interfaceFunction.start;\n        }\n\n        if (val === shape.o.ix) {\n          return interfaceFunction.offset;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      interfaceFunction.propertyIndex = shape.ix;\n      view.s.setGroupProperty(PropertyInterface(\"Start\", _propertyGroup));\n      view.e.setGroupProperty(PropertyInterface(\"End\", _propertyGroup));\n      view.o.setGroupProperty(PropertyInterface(\"Offset\", _propertyGroup));\n      interfaceFunction.propertyIndex = shape.ix;\n      interfaceFunction.propertyGroup = propertyGroup;\n      Object.defineProperties(interfaceFunction, {\n        start: {\n          get: ExpressionPropertyInterface(view.s)\n        },\n        end: {\n          get: ExpressionPropertyInterface(view.e)\n        },\n        offset: {\n          get: ExpressionPropertyInterface(view.o)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function transformInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.a.ix === value || value === \"Anchor Point\") {\n          return interfaceFunction.anchorPoint;\n        }\n\n        if (shape.o.ix === value || value === \"Opacity\") {\n          return interfaceFunction.opacity;\n        }\n\n        if (shape.p.ix === value || value === \"Position\") {\n          return interfaceFunction.position;\n        }\n\n        if (shape.r.ix === value || value === \"Rotation\" || value === \"ADBE Vector Rotation\") {\n          return interfaceFunction.rotation;\n        }\n\n        if (shape.s.ix === value || value === \"Scale\") {\n          return interfaceFunction.scale;\n        }\n\n        if (shape.sk && shape.sk.ix === value || value === \"Skew\") {\n          return interfaceFunction.skew;\n        }\n\n        if (shape.sa && shape.sa.ix === value || value === \"Skew Axis\") {\n          return interfaceFunction.skewAxis;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      view.transform.mProps.o.setGroupProperty(PropertyInterface(\"Opacity\", _propertyGroup));\n      view.transform.mProps.p.setGroupProperty(PropertyInterface(\"Position\", _propertyGroup));\n      view.transform.mProps.a.setGroupProperty(PropertyInterface(\"Anchor Point\", _propertyGroup));\n      view.transform.mProps.s.setGroupProperty(PropertyInterface(\"Scale\", _propertyGroup));\n      view.transform.mProps.r.setGroupProperty(PropertyInterface(\"Rotation\", _propertyGroup));\n\n      if (view.transform.mProps.sk) {\n        view.transform.mProps.sk.setGroupProperty(PropertyInterface(\"Skew\", _propertyGroup));\n        view.transform.mProps.sa.setGroupProperty(PropertyInterface(\"Skew Angle\", _propertyGroup));\n      }\n\n      view.transform.op.setGroupProperty(PropertyInterface(\"Opacity\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        opacity: {\n          get: ExpressionPropertyInterface(view.transform.mProps.o)\n        },\n        position: {\n          get: ExpressionPropertyInterface(view.transform.mProps.p)\n        },\n        anchorPoint: {\n          get: ExpressionPropertyInterface(view.transform.mProps.a)\n        },\n        scale: {\n          get: ExpressionPropertyInterface(view.transform.mProps.s)\n        },\n        rotation: {\n          get: ExpressionPropertyInterface(view.transform.mProps.r)\n        },\n        skew: {\n          get: ExpressionPropertyInterface(view.transform.mProps.sk)\n        },\n        skewAxis: {\n          get: ExpressionPropertyInterface(view.transform.mProps.sa)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.ty = \"tr\";\n      interfaceFunction.mn = shape.mn;\n      interfaceFunction.propertyGroup = propertyGroup;\n      return interfaceFunction;\n    }\n\n    function ellipseInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.p.ix === value) {\n          return interfaceFunction.position;\n        }\n\n        if (shape.s.ix === value) {\n          return interfaceFunction.size;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      interfaceFunction.propertyIndex = shape.ix;\n      var prop = view.sh.ty === \"tm\" ? view.sh.prop : view.sh;\n      prop.s.setGroupProperty(PropertyInterface(\"Size\", _propertyGroup));\n      prop.p.setGroupProperty(PropertyInterface(\"Position\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        size: {\n          get: ExpressionPropertyInterface(prop.s)\n        },\n        position: {\n          get: ExpressionPropertyInterface(prop.p)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function starInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.p.ix === value) {\n          return interfaceFunction.position;\n        }\n\n        if (shape.r.ix === value) {\n          return interfaceFunction.rotation;\n        }\n\n        if (shape.pt.ix === value) {\n          return interfaceFunction.points;\n        }\n\n        if (shape.or.ix === value || value === \"ADBE Vector Star Outer Radius\") {\n          return interfaceFunction.outerRadius;\n        }\n\n        if (shape.os.ix === value) {\n          return interfaceFunction.outerRoundness;\n        }\n\n        if (shape.ir && (shape.ir.ix === value || value === \"ADBE Vector Star Inner Radius\")) {\n          return interfaceFunction.innerRadius;\n        }\n\n        if (shape.is && shape.is.ix === value) {\n          return interfaceFunction.innerRoundness;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view.sh.ty === \"tm\" ? view.sh.prop : view.sh;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.or.setGroupProperty(PropertyInterface(\"Outer Radius\", _propertyGroup));\n      prop.os.setGroupProperty(PropertyInterface(\"Outer Roundness\", _propertyGroup));\n      prop.pt.setGroupProperty(PropertyInterface(\"Points\", _propertyGroup));\n      prop.p.setGroupProperty(PropertyInterface(\"Position\", _propertyGroup));\n      prop.r.setGroupProperty(PropertyInterface(\"Rotation\", _propertyGroup));\n\n      if (shape.ir) {\n        prop.ir.setGroupProperty(PropertyInterface(\"Inner Radius\", _propertyGroup));\n        prop.is.setGroupProperty(PropertyInterface(\"Inner Roundness\", _propertyGroup));\n      }\n\n      Object.defineProperties(interfaceFunction, {\n        position: {\n          get: ExpressionPropertyInterface(prop.p)\n        },\n        rotation: {\n          get: ExpressionPropertyInterface(prop.r)\n        },\n        points: {\n          get: ExpressionPropertyInterface(prop.pt)\n        },\n        outerRadius: {\n          get: ExpressionPropertyInterface(prop.or)\n        },\n        outerRoundness: {\n          get: ExpressionPropertyInterface(prop.os)\n        },\n        innerRadius: {\n          get: ExpressionPropertyInterface(prop.ir)\n        },\n        innerRoundness: {\n          get: ExpressionPropertyInterface(prop.is)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function rectInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.p.ix === value) {\n          return interfaceFunction.position;\n        }\n\n        if (shape.r.ix === value) {\n          return interfaceFunction.roundness;\n        }\n\n        if (shape.s.ix === value || value === \"Size\" || value === \"ADBE Vector Rect Size\") {\n          return interfaceFunction.size;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view.sh.ty === \"tm\" ? view.sh.prop : view.sh;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.p.setGroupProperty(PropertyInterface(\"Position\", _propertyGroup));\n      prop.s.setGroupProperty(PropertyInterface(\"Size\", _propertyGroup));\n      prop.r.setGroupProperty(PropertyInterface(\"Rotation\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        position: {\n          get: ExpressionPropertyInterface(prop.p)\n        },\n        roundness: {\n          get: ExpressionPropertyInterface(prop.r)\n        },\n        size: {\n          get: ExpressionPropertyInterface(prop.s)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function roundedInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.r.ix === value || value === \"Round Corners 1\") {\n          return interfaceFunction.radius;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.rd.setGroupProperty(PropertyInterface(\"Radius\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        radius: {\n          get: ExpressionPropertyInterface(prop.rd)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function repeaterInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.c.ix === value || value === \"Copies\") {\n          return interfaceFunction.copies;\n        }\n\n        if (shape.o.ix === value || value === \"Offset\") {\n          return interfaceFunction.offset;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.c.setGroupProperty(PropertyInterface(\"Copies\", _propertyGroup));\n      prop.o.setGroupProperty(PropertyInterface(\"Offset\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        copies: {\n          get: ExpressionPropertyInterface(prop.c)\n        },\n        offset: {\n          get: ExpressionPropertyInterface(prop.o)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    return function (shapes, view, propertyGroup) {\n      var interfaces;\n\n      function _interfaceFunction(value) {\n        if (typeof value === \"number\") {\n          value = value === undefined ? 1 : value;\n\n          if (value === 0) {\n            return propertyGroup;\n          }\n\n          return interfaces[value - 1];\n        }\n\n        var i = 0;\n        var len = interfaces.length;\n\n        while (i < len) {\n          if (interfaces[i]._name === value) {\n            return interfaces[i];\n          }\n\n          i += 1;\n        }\n\n        return null;\n      }\n\n      function parentGroupWrapper() {\n        return propertyGroup;\n      }\n\n      _interfaceFunction.propertyGroup = propertyGroupFactory(_interfaceFunction, parentGroupWrapper);\n      interfaces = iterateElements(shapes, view, _interfaceFunction.propertyGroup);\n      _interfaceFunction.numProperties = interfaces.length;\n      _interfaceFunction._name = \"Contents\";\n      return _interfaceFunction;\n    };\n  }();\n  /* exported TextExpressionInterface */\n\n\n  var TextExpressionInterface = function () {\n    return function (elem) {\n      var _prevValue;\n\n      var _sourceText;\n\n      function _thisLayerFunction(name) {\n        switch (name) {\n          case \"ADBE Text Document\":\n            return _thisLayerFunction.sourceText;\n\n          default:\n            return null;\n        }\n      }\n\n      Object.defineProperty(_thisLayerFunction, \"sourceText\", {\n        get: function () {\n          elem.textProperty.getValue();\n          var stringValue = elem.textProperty.currentData.t;\n\n          if (stringValue !== _prevValue) {\n            elem.textProperty.currentData.t = _prevValue;\n            _sourceText = new String(stringValue); // eslint-disable-line no-new-wrappers\n            // If stringValue is an empty string, eval returns undefined, so it has to be returned as a String primitive\n\n            _sourceText.value = stringValue || new String(stringValue); // eslint-disable-line no-new-wrappers\n          }\n\n          return _sourceText;\n        }\n      });\n      return _thisLayerFunction;\n    };\n  }();\n  /* global Matrix, MaskManagerInterface, TransformExpressionInterface, getDescriptor */\n\n  /* exported LayerExpressionInterface */\n\n\n  var LayerExpressionInterface = function () {\n    function getMatrix(time) {\n      var toWorldMat = new Matrix();\n\n      if (time !== undefined) {\n        var propMatrix = (this || _global)._elem.finalTransform.mProp.getValueAtTime(time);\n\n        propMatrix.clone(toWorldMat);\n      } else {\n        var transformMat = (this || _global)._elem.finalTransform.mProp;\n        transformMat.applyToMatrix(toWorldMat);\n      }\n\n      return toWorldMat;\n    }\n\n    function toWorldVec(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      toWorldMat.props[12] = 0;\n      toWorldMat.props[13] = 0;\n      toWorldMat.props[14] = 0;\n      return this.applyPoint(toWorldMat, arr);\n    }\n\n    function toWorld(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      return this.applyPoint(toWorldMat, arr);\n    }\n\n    function fromWorldVec(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      toWorldMat.props[12] = 0;\n      toWorldMat.props[13] = 0;\n      toWorldMat.props[14] = 0;\n      return this.invertPoint(toWorldMat, arr);\n    }\n\n    function fromWorld(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      return this.invertPoint(toWorldMat, arr);\n    }\n\n    function applyPoint(matrix, arr) {\n      if ((this || _global)._elem.hierarchy && (this || _global)._elem.hierarchy.length) {\n        var i;\n        var len = (this || _global)._elem.hierarchy.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global)._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n        }\n      }\n\n      return matrix.applyToPointArray(arr[0], arr[1], arr[2] || 0);\n    }\n\n    function invertPoint(matrix, arr) {\n      if ((this || _global)._elem.hierarchy && (this || _global)._elem.hierarchy.length) {\n        var i;\n        var len = (this || _global)._elem.hierarchy.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global)._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n        }\n      }\n\n      return matrix.inversePoint(arr);\n    }\n\n    function fromComp(arr) {\n      var toWorldMat = new Matrix();\n      toWorldMat.reset();\n\n      (this || _global)._elem.finalTransform.mProp.applyToMatrix(toWorldMat);\n\n      if ((this || _global)._elem.hierarchy && (this || _global)._elem.hierarchy.length) {\n        var i;\n        var len = (this || _global)._elem.hierarchy.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global)._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat);\n        }\n\n        return toWorldMat.inversePoint(arr);\n      }\n\n      return toWorldMat.inversePoint(arr);\n    }\n\n    function sampleImage() {\n      return [1, 1, 1, 1];\n    }\n\n    return function (elem) {\n      var transformInterface;\n\n      function _registerMaskInterface(maskManager) {\n        _thisLayerFunction.mask = new MaskManagerInterface(maskManager, elem);\n      }\n\n      function _registerEffectsInterface(effects) {\n        _thisLayerFunction.effect = effects;\n      }\n\n      function _thisLayerFunction(name) {\n        switch (name) {\n          case \"ADBE Root Vectors Group\":\n          case \"Contents\":\n          case 2:\n            return _thisLayerFunction.shapeInterface;\n\n          case 1:\n          case 6:\n          case \"Transform\":\n          case \"transform\":\n          case \"ADBE Transform Group\":\n            return transformInterface;\n\n          case 4:\n          case \"ADBE Effect Parade\":\n          case \"effects\":\n          case \"Effects\":\n            return _thisLayerFunction.effect;\n\n          case \"ADBE Text Properties\":\n            return _thisLayerFunction.textInterface;\n\n          default:\n            return null;\n        }\n      }\n\n      _thisLayerFunction.getMatrix = getMatrix;\n      _thisLayerFunction.invertPoint = invertPoint;\n      _thisLayerFunction.applyPoint = applyPoint;\n      _thisLayerFunction.toWorld = toWorld;\n      _thisLayerFunction.toWorldVec = toWorldVec;\n      _thisLayerFunction.fromWorld = fromWorld;\n      _thisLayerFunction.fromWorldVec = fromWorldVec;\n      _thisLayerFunction.toComp = toWorld;\n      _thisLayerFunction.fromComp = fromComp;\n      _thisLayerFunction.sampleImage = sampleImage;\n      _thisLayerFunction.sourceRectAtTime = elem.sourceRectAtTime.bind(elem);\n      _thisLayerFunction._elem = elem;\n      transformInterface = TransformExpressionInterface(elem.finalTransform.mProp);\n      var anchorPointDescriptor = getDescriptor(transformInterface, \"anchorPoint\");\n      Object.defineProperties(_thisLayerFunction, {\n        hasParent: {\n          get: function () {\n            return elem.hierarchy.length;\n          }\n        },\n        parent: {\n          get: function () {\n            return elem.hierarchy[0].layerInterface;\n          }\n        },\n        rotation: getDescriptor(transformInterface, \"rotation\"),\n        scale: getDescriptor(transformInterface, \"scale\"),\n        position: getDescriptor(transformInterface, \"position\"),\n        opacity: getDescriptor(transformInterface, \"opacity\"),\n        anchorPoint: anchorPointDescriptor,\n        anchor_point: anchorPointDescriptor,\n        transform: {\n          get: function () {\n            return transformInterface;\n          }\n        },\n        active: {\n          get: function () {\n            return elem.isInRange;\n          }\n        }\n      });\n      _thisLayerFunction.startTime = elem.data.st;\n      _thisLayerFunction.index = elem.data.ind;\n      _thisLayerFunction.source = elem.data.refId;\n      _thisLayerFunction.height = elem.data.ty === 0 ? elem.data.h : 100;\n      _thisLayerFunction.width = elem.data.ty === 0 ? elem.data.w : 100;\n      _thisLayerFunction.inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n      _thisLayerFunction.outPoint = elem.data.op / elem.comp.globalData.frameRate;\n      _thisLayerFunction._name = elem.data.nm;\n      _thisLayerFunction.registerMaskInterface = _registerMaskInterface;\n      _thisLayerFunction.registerEffectsInterface = _registerEffectsInterface;\n      return _thisLayerFunction;\n    };\n  }();\n  /* global */\n\n  /* exported FootageInterface */\n\n\n  var FootageInterface = function () {\n    var outlineInterfaceFactory = function (elem) {\n      var currentPropertyName = \"\";\n      var currentProperty = elem.getFootageData();\n\n      function init() {\n        currentPropertyName = \"\";\n        currentProperty = elem.getFootageData();\n        return searchProperty;\n      }\n\n      function searchProperty(value) {\n        if (currentProperty[value]) {\n          currentPropertyName = value;\n          currentProperty = currentProperty[value];\n\n          if (typeof currentProperty === \"object\") {\n            return searchProperty;\n          }\n\n          return currentProperty;\n        }\n\n        var propertyNameIndex = value.indexOf(currentPropertyName);\n\n        if (propertyNameIndex !== -1) {\n          var index = parseInt(value.substr(propertyNameIndex + currentPropertyName.length), 10);\n          currentProperty = currentProperty[index];\n\n          if (typeof currentProperty === \"object\") {\n            return searchProperty;\n          }\n\n          return currentProperty;\n        }\n\n        return \"\";\n      }\n\n      return init;\n    };\n\n    var dataInterfaceFactory = function (elem) {\n      function interfaceFunction(value) {\n        if (value === \"Outline\") {\n          return interfaceFunction.outlineInterface();\n        }\n\n        return null;\n      }\n\n      interfaceFunction._name = \"Outline\";\n      interfaceFunction.outlineInterface = outlineInterfaceFactory(elem);\n      return interfaceFunction;\n    };\n\n    return function (elem) {\n      function _interfaceFunction(value) {\n        if (value === \"Data\") {\n          return _interfaceFunction.dataInterface;\n        }\n\n        return null;\n      }\n\n      _interfaceFunction._name = \"Data\";\n      _interfaceFunction.dataInterface = dataInterfaceFactory(elem);\n      return _interfaceFunction;\n    };\n  }();\n  /* exported CompExpressionInterface */\n\n\n  var CompExpressionInterface = function () {\n    return function (comp) {\n      function _thisLayerFunction(name) {\n        var i = 0;\n        var len = comp.layers.length;\n\n        while (i < len) {\n          if (comp.layers[i].nm === name || comp.layers[i].ind === name) {\n            return comp.elements[i].layerInterface;\n          }\n\n          i += 1;\n        }\n\n        return null; // return {active:false};\n      }\n\n      Object.defineProperty(_thisLayerFunction, \"_name\", {\n        value: comp.data.nm\n      });\n      _thisLayerFunction.layer = _thisLayerFunction;\n      _thisLayerFunction.pixelAspect = 1;\n      _thisLayerFunction.height = comp.data.h || comp.globalData.compSize.h;\n      _thisLayerFunction.width = comp.data.w || comp.globalData.compSize.w;\n      _thisLayerFunction.pixelAspect = 1;\n      _thisLayerFunction.frameDuration = 1 / comp.globalData.frameRate;\n      _thisLayerFunction.displayStartTime = 0;\n      _thisLayerFunction.numLayers = comp.layers.length;\n      return _thisLayerFunction;\n    };\n  }();\n  /* global ExpressionPropertyInterface */\n\n  /* exported TransformExpressionInterface */\n\n\n  var TransformExpressionInterface = function () {\n    return function (transform) {\n      function _thisFunction(name) {\n        switch (name) {\n          case \"scale\":\n          case \"Scale\":\n          case \"ADBE Scale\":\n          case 6:\n            return _thisFunction.scale;\n\n          case \"rotation\":\n          case \"Rotation\":\n          case \"ADBE Rotation\":\n          case \"ADBE Rotate Z\":\n          case 10:\n            return _thisFunction.rotation;\n\n          case \"ADBE Rotate X\":\n            return _thisFunction.xRotation;\n\n          case \"ADBE Rotate Y\":\n            return _thisFunction.yRotation;\n\n          case \"position\":\n          case \"Position\":\n          case \"ADBE Position\":\n          case 2:\n            return _thisFunction.position;\n\n          case \"ADBE Position_0\":\n            return _thisFunction.xPosition;\n\n          case \"ADBE Position_1\":\n            return _thisFunction.yPosition;\n\n          case \"ADBE Position_2\":\n            return _thisFunction.zPosition;\n\n          case \"anchorPoint\":\n          case \"AnchorPoint\":\n          case \"Anchor Point\":\n          case \"ADBE AnchorPoint\":\n          case 1:\n            return _thisFunction.anchorPoint;\n\n          case \"opacity\":\n          case \"Opacity\":\n          case 11:\n            return _thisFunction.opacity;\n\n          default:\n            return null;\n        }\n      }\n\n      Object.defineProperty(_thisFunction, \"rotation\", {\n        get: ExpressionPropertyInterface(transform.r || transform.rz)\n      });\n      Object.defineProperty(_thisFunction, \"zRotation\", {\n        get: ExpressionPropertyInterface(transform.rz || transform.r)\n      });\n      Object.defineProperty(_thisFunction, \"xRotation\", {\n        get: ExpressionPropertyInterface(transform.rx)\n      });\n      Object.defineProperty(_thisFunction, \"yRotation\", {\n        get: ExpressionPropertyInterface(transform.ry)\n      });\n      Object.defineProperty(_thisFunction, \"scale\", {\n        get: ExpressionPropertyInterface(transform.s)\n      });\n\n      var _px;\n\n      var _py;\n\n      var _pz;\n\n      var _transformFactory;\n\n      if (transform.p) {\n        _transformFactory = ExpressionPropertyInterface(transform.p);\n      } else {\n        _px = ExpressionPropertyInterface(transform.px);\n        _py = ExpressionPropertyInterface(transform.py);\n\n        if (transform.pz) {\n          _pz = ExpressionPropertyInterface(transform.pz);\n        }\n      }\n\n      Object.defineProperty(_thisFunction, \"position\", {\n        get: function () {\n          if (transform.p) {\n            return _transformFactory();\n          }\n\n          return [_px(), _py(), _pz ? _pz() : 0];\n        }\n      });\n      Object.defineProperty(_thisFunction, \"xPosition\", {\n        get: ExpressionPropertyInterface(transform.px)\n      });\n      Object.defineProperty(_thisFunction, \"yPosition\", {\n        get: ExpressionPropertyInterface(transform.py)\n      });\n      Object.defineProperty(_thisFunction, \"zPosition\", {\n        get: ExpressionPropertyInterface(transform.pz)\n      });\n      Object.defineProperty(_thisFunction, \"anchorPoint\", {\n        get: ExpressionPropertyInterface(transform.a)\n      });\n      Object.defineProperty(_thisFunction, \"opacity\", {\n        get: ExpressionPropertyInterface(transform.o)\n      });\n      Object.defineProperty(_thisFunction, \"skew\", {\n        get: ExpressionPropertyInterface(transform.sk)\n      });\n      Object.defineProperty(_thisFunction, \"skewAxis\", {\n        get: ExpressionPropertyInterface(transform.sa)\n      });\n      Object.defineProperty(_thisFunction, \"orientation\", {\n        get: ExpressionPropertyInterface(transform.or)\n      });\n      return _thisFunction;\n    };\n  }();\n  /* exported ProjectInterface */\n\n\n  ProjectInterface = function () {\n    function registerComposition(comp) {\n      (this || _global).compositions.push(comp);\n    }\n\n    return function () {\n      function _thisProjectFunction(name) {\n        var i = 0;\n        var len = (this || _global).compositions.length;\n\n        while (i < len) {\n          if ((this || _global).compositions[i].data && (this || _global).compositions[i].data.nm === name) {\n            if ((this || _global).compositions[i].prepareFrame && (this || _global).compositions[i].data.xt) {\n              (this || _global).compositions[i].prepareFrame((this || _global).currentFrame);\n            }\n\n            return (this || _global).compositions[i].compInterface;\n          }\n\n          i += 1;\n        }\n\n        return null;\n      }\n\n      _thisProjectFunction.compositions = [];\n      _thisProjectFunction.currentFrame = 0;\n      _thisProjectFunction.registerComposition = registerComposition;\n      return _thisProjectFunction;\n    };\n  }();\n  /* global propertyGroupFactory, ExpressionPropertyInterface, PropertyInterface */\n\n  /* exported EffectsExpressionInterface */\n\n\n  var EffectsExpressionInterface = function () {\n    var ob = {\n      createEffectsInterface: createEffectsInterface\n    };\n\n    function createEffectsInterface(elem, propertyGroup) {\n      if (elem.effectsManager) {\n        var effectElements = [];\n        var effectsData = elem.data.ef;\n        var i;\n        var len = elem.effectsManager.effectElements.length;\n\n        for (i = 0; i < len; i += 1) {\n          effectElements.push(createGroupInterface(effectsData[i], elem.effectsManager.effectElements[i], propertyGroup, elem));\n        }\n\n        var effects = elem.data.ef || [];\n\n        var groupInterface = function (name) {\n          i = 0;\n          len = effects.length;\n\n          while (i < len) {\n            if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n              return effectElements[i];\n            }\n\n            i += 1;\n          }\n\n          return null;\n        };\n\n        Object.defineProperty(groupInterface, \"numProperties\", {\n          get: function () {\n            return effects.length;\n          }\n        });\n        return groupInterface;\n      }\n\n      return null;\n    }\n\n    function createGroupInterface(data, elements, propertyGroup, elem) {\n      function groupInterface(name) {\n        var effects = data.ef;\n        var i = 0;\n        var len = effects.length;\n\n        while (i < len) {\n          if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n            if (effects[i].ty === 5) {\n              return effectElements[i];\n            }\n\n            return effectElements[i]();\n          }\n\n          i += 1;\n        }\n\n        throw new Error();\n      }\n\n      var _propertyGroup = propertyGroupFactory(groupInterface, propertyGroup);\n\n      var effectElements = [];\n      var i;\n      var len = data.ef.length;\n\n      for (i = 0; i < len; i += 1) {\n        if (data.ef[i].ty === 5) {\n          effectElements.push(createGroupInterface(data.ef[i], elements.effectElements[i], elements.effectElements[i].propertyGroup, elem));\n        } else {\n          effectElements.push(createValueInterface(elements.effectElements[i], data.ef[i].ty, elem, _propertyGroup));\n        }\n      }\n\n      if (data.mn === \"ADBE Color Control\") {\n        Object.defineProperty(groupInterface, \"color\", {\n          get: function () {\n            return effectElements[0]();\n          }\n        });\n      }\n\n      Object.defineProperties(groupInterface, {\n        numProperties: {\n          get: function () {\n            return data.np;\n          }\n        },\n        _name: {\n          value: data.nm\n        },\n        propertyGroup: {\n          value: _propertyGroup\n        }\n      });\n      groupInterface.enabled = data.en !== 0;\n      groupInterface.active = groupInterface.enabled;\n      return groupInterface;\n    }\n\n    function createValueInterface(element, type, elem, propertyGroup) {\n      var expressionProperty = ExpressionPropertyInterface(element.p);\n\n      function interfaceFunction() {\n        if (type === 10) {\n          return elem.comp.compInterface(element.p.v);\n        }\n\n        return expressionProperty();\n      }\n\n      if (element.p.setGroupProperty) {\n        element.p.setGroupProperty(PropertyInterface(\"\", propertyGroup));\n      }\n\n      return interfaceFunction;\n    }\n\n    return ob;\n  }();\n  /* global createSizedArray */\n\n  /* exported MaskManagerInterface */\n\n\n  var MaskManagerInterface = function () {\n    function MaskInterface(mask, data) {\n      (this || _global)._mask = mask;\n      (this || _global)._data = data;\n    }\n\n    Object.defineProperty(MaskInterface.prototype, \"maskPath\", {\n      get: function () {\n        if ((this || _global)._mask.prop.k) {\n          (this || _global)._mask.prop.getValue();\n        }\n\n        return (this || _global)._mask.prop;\n      }\n    });\n    Object.defineProperty(MaskInterface.prototype, \"maskOpacity\", {\n      get: function () {\n        if ((this || _global)._mask.op.k) {\n          (this || _global)._mask.op.getValue();\n        }\n\n        return (this || _global)._mask.op.v * 100;\n      }\n    });\n\n    var MaskManager = function (maskManager) {\n      var _masksInterfaces = createSizedArray(maskManager.viewData.length);\n\n      var i;\n      var len = maskManager.viewData.length;\n\n      for (i = 0; i < len; i += 1) {\n        _masksInterfaces[i] = new MaskInterface(maskManager.viewData[i], maskManager.masksProperties[i]);\n      }\n\n      var maskFunction = function (name) {\n        i = 0;\n\n        while (i < len) {\n          if (maskManager.masksProperties[i].nm === name) {\n            return _masksInterfaces[i];\n          }\n\n          i += 1;\n        }\n\n        return null;\n      };\n\n      return maskFunction;\n    };\n\n    return MaskManager;\n  }();\n  /* global createTypedArray */\n\n  /* exported ExpressionPropertyInterface */\n\n\n  var ExpressionPropertyInterface = function () {\n    var defaultUnidimensionalValue = {\n      pv: 0,\n      v: 0,\n      mult: 1\n    };\n    var defaultMultidimensionalValue = {\n      pv: [0, 0, 0],\n      v: [0, 0, 0],\n      mult: 1\n    };\n\n    function completeProperty(expressionValue, property, type) {\n      Object.defineProperty(expressionValue, \"velocity\", {\n        get: function () {\n          return property.getVelocityAtTime(property.comp.currentFrame);\n        }\n      });\n      expressionValue.numKeys = property.keyframes ? property.keyframes.length : 0;\n\n      expressionValue.key = function (pos) {\n        if (!expressionValue.numKeys) {\n          return 0;\n        }\n\n        var value = \"\";\n\n        if (\"s\" in property.keyframes[pos - 1]) {\n          value = property.keyframes[pos - 1].s;\n        } else if (\"e\" in property.keyframes[pos - 2]) {\n          value = property.keyframes[pos - 2].e;\n        } else {\n          value = property.keyframes[pos - 2].s;\n        }\n\n        var valueProp = type === \"unidimensional\" ? new Number(value) : Object.assign({}, value); // eslint-disable-line no-new-wrappers\n\n        valueProp.time = property.keyframes[pos - 1].t / property.elem.comp.globalData.frameRate;\n        valueProp.value = type === \"unidimensional\" ? value[0] : value;\n        return valueProp;\n      };\n\n      expressionValue.valueAtTime = property.getValueAtTime;\n      expressionValue.speedAtTime = property.getSpeedAtTime;\n      expressionValue.velocityAtTime = property.getVelocityAtTime;\n      expressionValue.propertyGroup = property.propertyGroup;\n    }\n\n    function UnidimensionalPropertyInterface(property) {\n      if (!property || !(\"pv\" in property)) {\n        property = defaultUnidimensionalValue;\n      }\n\n      var mult = 1 / property.mult;\n      var val = property.pv * mult;\n      var expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n      expressionValue.value = val;\n      completeProperty(expressionValue, property, \"unidimensional\");\n      return function () {\n        if (property.k) {\n          property.getValue();\n        }\n\n        val = property.v * mult;\n\n        if (expressionValue.value !== val) {\n          expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n          expressionValue.value = val;\n          completeProperty(expressionValue, property, \"unidimensional\");\n        }\n\n        return expressionValue;\n      };\n    }\n\n    function MultidimensionalPropertyInterface(property) {\n      if (!property || !(\"pv\" in property)) {\n        property = defaultMultidimensionalValue;\n      }\n\n      var mult = 1 / property.mult;\n      var len = property.data && property.data.l || property.pv.length;\n      var expressionValue = createTypedArray(\"float32\", len);\n      var arrValue = createTypedArray(\"float32\", len);\n      expressionValue.value = arrValue;\n      completeProperty(expressionValue, property, \"multidimensional\");\n      return function () {\n        if (property.k) {\n          property.getValue();\n        }\n\n        for (var i = 0; i < len; i += 1) {\n          arrValue[i] = property.v[i] * mult;\n          expressionValue[i] = arrValue[i];\n        }\n\n        return expressionValue;\n      };\n    } // TODO: try to avoid using this getter\n\n\n    function defaultGetter() {\n      return defaultUnidimensionalValue;\n    }\n\n    return function (property) {\n      if (!property) {\n        return defaultGetter;\n      }\n\n      if (property.propType === \"unidimensional\") {\n        return UnidimensionalPropertyInterface(property);\n      }\n\n      return MultidimensionalPropertyInterface(property);\n    };\n  }();\n  /* global expressionHelpers, TextSelectorProp, ExpressionManager */\n\n  /* exported TextExpressionSelectorProp */\n\n\n  (function () {\n    var TextExpressionSelectorProp = function () {\n      // eslint-disable-line no-unused-vars\n      function getValueProxy(index, total) {\n        (this || _global).textIndex = index + 1;\n        (this || _global).textTotal = total;\n        (this || _global).v = this.getValue() * (this || _global).mult;\n        return (this || _global).v;\n      }\n\n      return function TextExpressionSelectorPropFactory(elem, data) {\n        (this || _global).pv = 1;\n        (this || _global).comp = elem.comp;\n        (this || _global).elem = elem;\n        (this || _global).mult = 0.01;\n        (this || _global).propType = \"textSelector\";\n        (this || _global).textTotal = data.totalChars;\n        (this || _global).selectorValue = 100;\n        (this || _global).lastValue = [1, 1, 1];\n        (this || _global).k = true;\n        (this || _global).x = true;\n        (this || _global).getValue = ExpressionManager.initiateExpression.bind(this || _global)(elem, data, this || _global);\n        (this || _global).getMult = getValueProxy;\n        (this || _global).getVelocityAtTime = expressionHelpers.getVelocityAtTime;\n\n        if ((this || _global).kf) {\n          (this || _global).getValueAtTime = expressionHelpers.getValueAtTime.bind(this || _global);\n        } else {\n          (this || _global).getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(this || _global);\n        }\n\n        (this || _global).setGroupProperty = expressionHelpers.setGroupProperty;\n      };\n    }();\n\n    var propertyGetTextProp = TextSelectorProp.getTextSelectorProp;\n\n    TextSelectorProp.getTextSelectorProp = function (elem, data, arr) {\n      if (data.t === 1) {\n        return new TextExpressionSelectorPropFactory(elem, data, arr); // eslint-disable-line no-undef\n      }\n\n      return propertyGetTextProp(elem, data, arr);\n    };\n  })();\n  /* global PropertyFactory */\n\n  /* exported SliderEffect, AngleEffect, ColorEffect, PointEffect, LayerIndexEffect, MaskIndexEffect, CheckboxEffect, NoValueEffect */\n\n\n  function SliderEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function AngleEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function ColorEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n  }\n\n  function PointEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n  }\n\n  function LayerIndexEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function MaskIndexEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function CheckboxEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function NoValueEffect() {\n    (this || _global).p = {};\n  }\n  /* global extendPrototype, SliderEffect, AngleEffect, ColorEffect, PointEffect, CheckboxEffect, LayerIndexEffect,\r\n  MaskIndexEffect, NoValueEffect, DynamicPropertyContainer */\n\n\n  function EffectsManager(data, element) {\n    var effects = data.ef || [];\n    (this || _global).effectElements = [];\n    var i;\n    var len = effects.length;\n    var effectItem;\n\n    for (i = 0; i < len; i += 1) {\n      effectItem = new GroupEffect(effects[i], element);\n\n      (this || _global).effectElements.push(effectItem);\n    }\n  }\n\n  function GroupEffect(data, element) {\n    this.init(data, element);\n  }\n\n  extendPrototype([DynamicPropertyContainer], GroupEffect);\n  GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties;\n\n  GroupEffect.prototype.init = function (data, element) {\n    (this || _global).data = data;\n    (this || _global).effectElements = [];\n    this.initDynamicPropertyContainer(element);\n    var i;\n    var len = (this || _global).data.ef.length;\n    var eff;\n    var effects = (this || _global).data.ef;\n\n    for (i = 0; i < len; i += 1) {\n      eff = null;\n\n      switch (effects[i].ty) {\n        case 0:\n          eff = new SliderEffect(effects[i], element, this || _global);\n          break;\n\n        case 1:\n          eff = new AngleEffect(effects[i], element, this || _global);\n          break;\n\n        case 2:\n          eff = new ColorEffect(effects[i], element, this || _global);\n          break;\n\n        case 3:\n          eff = new PointEffect(effects[i], element, this || _global);\n          break;\n\n        case 4:\n        case 7:\n          eff = new CheckboxEffect(effects[i], element, this || _global);\n          break;\n\n        case 10:\n          eff = new LayerIndexEffect(effects[i], element, this || _global);\n          break;\n\n        case 11:\n          eff = new MaskIndexEffect(effects[i], element, this || _global);\n          break;\n\n        case 5:\n          eff = new EffectsManager(effects[i], element, this || _global);\n          break;\n        // case 6:\n\n        default:\n          eff = new NoValueEffect(effects[i], element, this || _global);\n          break;\n      }\n\n      if (eff) {\n        (this || _global).effectElements.push(eff);\n      }\n    }\n  };\n\n  var lottie = {};\n\n  function setLocationHref(href) {\n    locationHref = href;\n  }\n\n  function searchAnimations() {\n    if (standalone === true) {\n      animationManager.searchAnimations(animationData, standalone, renderer);\n    } else {\n      animationManager.searchAnimations();\n    }\n  }\n\n  function setSubframeRendering(flag) {\n    subframeEnabled = flag;\n  }\n\n  function loadAnimation(params) {\n    if (standalone === true) {\n      params.animationData = JSON.parse(animationData);\n    }\n\n    return animationManager.loadAnimation(params);\n  }\n\n  function setQuality(value) {\n    if (typeof value === \"string\") {\n      switch (value) {\n        case \"high\":\n          defaultCurveSegments = 200;\n          break;\n\n        default:\n        case \"medium\":\n          defaultCurveSegments = 50;\n          break;\n\n        case \"low\":\n          defaultCurveSegments = 10;\n          break;\n      }\n    } else if (!isNaN(value) && value > 1) {\n      defaultCurveSegments = value;\n    }\n\n    if (defaultCurveSegments >= 50) {\n      roundValues(false);\n    } else {\n      roundValues(true);\n    }\n  }\n\n  function inBrowser() {\n    return typeof navigator !== \"undefined\";\n  }\n\n  function installPlugin(type, plugin) {\n    if (type === \"expressions\") {\n      expressionsPlugin = plugin;\n    }\n  }\n\n  function getFactory(name) {\n    switch (name) {\n      case \"propertyFactory\":\n        return PropertyFactory;\n\n      case \"shapePropertyFactory\":\n        return ShapePropertyFactory;\n\n      case \"matrix\":\n        return Matrix;\n\n      default:\n        return null;\n    }\n  }\n\n  lottie.play = animationManager.play;\n  lottie.pause = animationManager.pause;\n  lottie.setLocationHref = setLocationHref;\n  lottie.togglePause = animationManager.togglePause;\n  lottie.setSpeed = animationManager.setSpeed;\n  lottie.setDirection = animationManager.setDirection;\n  lottie.stop = animationManager.stop;\n  lottie.searchAnimations = searchAnimations;\n  lottie.registerAnimation = animationManager.registerAnimation;\n  lottie.loadAnimation = loadAnimation;\n  lottie.setSubframeRendering = setSubframeRendering;\n  lottie.resize = animationManager.resize; // lottie.start = start;\n\n  lottie.goToAndStop = animationManager.goToAndStop;\n  lottie.destroy = animationManager.destroy;\n  lottie.setQuality = setQuality;\n  lottie.inBrowser = inBrowser;\n  lottie.installPlugin = installPlugin;\n  lottie.freeze = animationManager.freeze;\n  lottie.unfreeze = animationManager.unfreeze;\n  lottie.setVolume = animationManager.setVolume;\n  lottie.mute = animationManager.mute;\n  lottie.unmute = animationManager.unmute;\n  lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations;\n  lottie.__getFactory = getFactory;\n  lottie.version = \"5.7.8\";\n\n  function checkReady() {\n    if (document.readyState === \"complete\") {\n      clearInterval(readyStateCheckInterval);\n      searchAnimations();\n    }\n  }\n\n  function getQueryVariable(variable) {\n    var vars = queryString.split(\"&\");\n\n    for (var i = 0; i < vars.length; i += 1) {\n      var pair = vars[i].split(\"=\");\n\n      if (decodeURIComponent(pair[0]) == variable) {\n        // eslint-disable-line eqeqeq\n        return decodeURIComponent(pair[1]);\n      }\n    }\n\n    return null;\n  }\n\n  var standalone = \"__[STANDALONE]__\";\n  var animationData = \"__[ANIMATIONDATA]__\";\n  var renderer = \"\";\n  var queryString;\n\n  if (standalone) {\n    var scripts = document.getElementsByTagName(\"script\");\n    var index = scripts.length - 1;\n    var myScript = scripts[index] || {\n      src: \"\"\n    };\n    queryString = myScript.src.replace(/^[^\\?]+\\??/, \"\"); // eslint-disable-line no-useless-escape\n\n    renderer = getQueryVariable(\"renderer\");\n  }\n\n  var readyStateCheckInterval = setInterval(checkReady, 100);\n  return lottie;\n});\nvar exports$1 = exports;\n\nexport default exports$1;\n\n//# sourceMappingURL=npm:lottie-web@5.7.8!cjs.map", "// Generated by Framer (677c5d1)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getLoadingLazyAtYPosition,Image,RichText,SmartComponentScopedContainer,SVG,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import{Icon as Hero}from\"https://framerusercontent.com/modules/hKjtTuWGYB451ckw6eTN/bbq95ZQZ142lE2fXscHd/Hero.js\";const HeroFonts=getFonts(Hero);const cycleOrder=[\"YuUgrsuOO\",\"JDbnctdYf\",\"CNcwhbT9L\"];const serializationHash=\"framer-83av4\";const variantClassNames={CNcwhbT9L:\"framer-v-1gulmr3\",JDbnctdYf:\"framer-v-kaym5v\",YuUgrsuOO:\"framer-v-tladb\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const transformTemplate1=(_,t)=>`translateY(-50%) ${t}`;const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={Desktop:\"YuUgrsuOO\",Mobile:\"CNcwhbT9L\",Tablet:\"JDbnctdYf\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"YuUgrsuOO\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"YuUgrsuOO\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if(baseVariant===\"CNcwhbT9L\")return false;return true;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-tladb\",className,classNames),\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"YuUgrsuOO\",ref:refBinding,style:{...style},...addPropertyOverrides({CNcwhbT9L:{\"data-framer-name\":\"Mobile\"},JDbnctdYf:{\"data-framer-name\":\"Tablet\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-qi9lbt\",layoutDependency:layoutDependency,layoutId:\"PfobMgqM2\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-y4xkfx\",layoutDependency:layoutDependency,layoutId:\"njrHtofAE\",style:{backgroundColor:\"rgb(255, 255, 255)\",borderTopLeftRadius:8,borderTopRightRadius:8},children:[/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+((componentViewport?.height||498)-0-470+0+0)+0+11.000000000000007),pixelHeight:381,pixelWidth:381,src:\"https://framerusercontent.com/images/FEw9frtTBrE2LsslG1ssap66VE8.png\"},className:\"framer-70643s\",layoutDependency:layoutDependency,layoutId:\"yLHf1ZnE2\",style:{borderBottomLeftRadius:100,borderBottomRightRadius:100,borderTopLeftRadius:100,borderTopRightRadius:100},...addPropertyOverrides({CNcwhbT9L:{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+0+0+11),pixelHeight:381,pixelWidth:381,src:\"https://framerusercontent.com/images/FEw9frtTBrE2LsslG1ssap66VE8.png\"}},JDbnctdYf:{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+((componentViewport?.height||387)-0-362+0+0)+0+8),pixelHeight:381,pixelWidth:381,src:\"https://framerusercontent.com/images/FEw9frtTBrE2LsslG1ssap66VE8.png\"}}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1lwz2nw\",\"data-framer-name\":\"Graphic\",fill:\"black\",intrinsicHeight:24,intrinsicWidth:25,layoutDependency:layoutDependency,layoutId:\"P_OXPt1Eh\",svg:'<svg width=\"25\" height=\"24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"7.376\" cy=\"11.597\" r=\"1.47\" fill=\"#000\"/><circle cx=\"12.767\" cy=\"11.597\" r=\"1.47\" fill=\"#000\"/><circle cx=\"18.157\" cy=\"11.597\" r=\"1.47\" fill=\"#000\"/></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"X19TRi1VSS1EaXNwbGF5LVNlbWlib2xkX18=\",\"--framer-font-family\":'\".SFNSDisplay-Semibold\", \"SFProDisplay-Semibold\", \"SFUIDisplay-Semibold\", \".SFUIDisplay-Semibold\", \"SF Pro Display\", \"-apple-system\", \"BlinkMacSystemFont\", sans-serif',\"--framer-font-size\":\"13px\",\"--framer-font-weight\":\"599\",\"--framer-letter-spacing\":\"-0.02em\",\"--framer-line-height\":\"1em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-4b3730a1-4433-420e-9b36-0664f7b0a131, rgb(0, 0, 0)))\"},children:\"@theoutsidevision\"})}),className:\"framer-1n0mva4\",fonts:[\"__SF-UI-Display-Semibold__\"],layoutDependency:layoutDependency,layoutId:\"JZD9ECAsu\",style:{\"--extracted-r6o4lv\":\"var(--token-4b3730a1-4433-420e-9b36-0664f7b0a131, rgb(0, 0, 0))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},transformTemplate:transformTemplate1,verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({CNcwhbT9L:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"X19TRi1VSS1EaXNwbGF5LVNlbWlib2xkX18=\",\"--framer-font-family\":'\".SFNSDisplay-Semibold\", \"SFProDisplay-Semibold\", \"SFUIDisplay-Semibold\", \".SFUIDisplay-Semibold\", \"SF Pro Display\", \"-apple-system\", \"BlinkMacSystemFont\", sans-serif',\"--framer-font-size\":\"14px\",\"--framer-font-weight\":\"599\",\"--framer-letter-spacing\":\"-0.02em\",\"--framer-line-height\":\"1em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-4b3730a1-4433-420e-9b36-0664f7b0a131, rgb(0, 0, 0)))\"},children:\"@theoutsidevision\"})}),transformTemplate:undefined},JDbnctdYf:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"X19TRi1VSS1EaXNwbGF5LVNlbWlib2xkX18=\",\"--framer-font-family\":'\".SFNSDisplay-Semibold\", \"SFProDisplay-Semibold\", \"SFUIDisplay-Semibold\", \".SFUIDisplay-Semibold\", \"SF Pro Display\", \"-apple-system\", \"BlinkMacSystemFont\", sans-serif',\"--framer-font-size\":\"10px\",\"--framer-font-weight\":\"599\",\"--framer-letter-spacing\":\"-0.02em\",\"--framer-line-height\":\"1em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-4b3730a1-4433-420e-9b36-0664f7b0a131, rgb(0, 0, 0)))\"},children:\"@theoutsidevision\"})}),transformTemplate:undefined}},baseVariant,gestureVariant)})]}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-syu2wf\",layoutDependency:layoutDependency,layoutId:\"a2b86rUPc\",children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+((componentViewport?.height||498)-0-470+0+0)+52.500000000000114+0),pixelHeight:360,pixelWidth:315,positionX:\"center\",positionY:\"center\",src:\"https://framerusercontent.com/images/SZv4ez1bxTbLfBEnkLginmbUV0.png\"},className:\"framer-f2cdv7\",layoutDependency:layoutDependency,layoutId:\"B8zert9h0\",...addPropertyOverrides({CNcwhbT9L:{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+0+53+0),pixelHeight:555,pixelWidth:456,positionX:\"center\",positionY:\"center\",sizes:\"347px\",src:\"https://framerusercontent.com/images/x0ATmfA1e9u4FFrwlTjsxRWA.png\",srcSet:\"https://framerusercontent.com/images/x0ATmfA1e9u4FFrwlTjsxRWA.png 456w\"}},JDbnctdYf:{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+((componentViewport?.height||387)-0-362+0+0)+41+0),pixelHeight:360,pixelWidth:315,positionX:\"center\",positionY:\"center\",src:\"https://framerusercontent.com/images/SZv4ez1bxTbLfBEnkLginmbUV0.png\"}}},baseVariant,gestureVariant)})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-zuqrlj\",layoutDependency:layoutDependency,layoutId:\"E30oNfJmZ\",style:{backgroundColor:\"rgb(255, 255, 255)\",borderBottomLeftRadius:8,borderBottomRightRadius:8},children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-ty21ir-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"UMoGarU3l-container\",nodeId:\"UMoGarU3l\",rendersWithMotion:true,scopeId:\"YIqzMMZxV\",children:/*#__PURE__*/_jsx(Hero,{color:\"rgb(219, 0, 0)\",height:\"100%\",iconSearch:\"Home\",iconSelection:\"Heart\",id:\"UMoGarU3l\",layoutId:\"UMoGarU3l\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsx(SVG,{className:\"framer-izylex\",\"data-framer-name\":\"Graphic\",fill:\"black\",intrinsicHeight:22,intrinsicWidth:23,layoutDependency:layoutDependency,layoutId:\"Xp7_yv5rm\",svg:'<svg width=\"23\" height=\"22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M20.201 16.103a.882.882 0 0 0-.095.68l.972 3.627-3.624-.971a.881.881 0 0 0-.681.095 9.845 9.845 0 0 1-5.074 1.397c-5.465 0-9.895-4.43-9.895-9.896 0-5.465 4.43-9.895 9.895-9.895 5.466 0 9.896 4.43 9.896 9.895a9.845 9.845 0 0 1-1.394 5.068Z\" stroke=\"#000\" stroke-width=\"1.764\" stroke-linejoin=\"round\"/></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-3v7jwv\",\"data-framer-name\":\"Graphic\",fill:\"black\",intrinsicHeight:20,intrinsicWidth:22,layoutDependency:layoutDependency,layoutId:\"DMmJ29ARn\",svg:'<svg width=\"22\" height=\"20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"m9.412 8.94 1.973 6.47 6.591-11.416L9.412 8.94Zm1.81 10.28a.294.294 0 0 1-.536-.06L7.58 8.98.314 1.196A.294.294 0 0 1 .529.7h21.385L11.22 19.221Zm5.876-16.755H3.91l4.62 4.948 8.566-4.948Z\" fill=\"#000\"/></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1bh8guh\",\"data-framer-name\":\"Graphic\",fill:\"black\",intrinsicHeight:22,intrinsicWidth:19,layoutDependency:layoutDependency,layoutId:\"xM2klsT4J\",svg:'<svg width=\"19\" height=\"22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.288 19.93V1.14H17.16v18.79l-7.37-6.143a.882.882 0 0 0-1.13 0L1.289 19.93Z\" stroke=\"#000\" stroke-width=\"1.764\" stroke-linejoin=\"round\"/></svg>',withExternalLayout:true})]}),isDisplayed()&&/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:638.5,intrinsicWidth:480.5,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+((componentViewport?.height||498)-0-470+0+0)+-217),pixelHeight:1277,pixelWidth:961,sizes:\"481px\",src:\"https://framerusercontent.com/images/6Y8iYnCs3aAvGwSS2EhqK1jiFo.png?scale-down-to=1024\",srcSet:\"https://framerusercontent.com/images/6Y8iYnCs3aAvGwSS2EhqK1jiFo.png?scale-down-to=1024 770w,https://framerusercontent.com/images/6Y8iYnCs3aAvGwSS2EhqK1jiFo.png 961w\"},className:\"framer-2ttwxw\",\"data-framer-name\":\"Image-instagram\",layoutDependency:layoutDependency,layoutId:\"zVrzIEAM6\",...addPropertyOverrides({JDbnctdYf:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:638.5,intrinsicWidth:480.5,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+((componentViewport?.height||387)-0-362+0+0)+-170),pixelHeight:1277,pixelWidth:961,positionX:\"right\",positionY:\"center\",src:\"https://framerusercontent.com/images/6Y8iYnCs3aAvGwSS2EhqK1jiFo.png?scale-down-to=1024\"}}},baseVariant,gestureVariant)})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-83av4.framer-1pp3zzr, .framer-83av4 .framer-1pp3zzr { display: block; }\",\".framer-83av4.framer-tladb { align-content: flex-start; align-items: flex-start; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 6px; height: 498px; justify-content: flex-end; overflow: hidden; padding: 0px; position: relative; width: 357px; }\",\".framer-83av4 .framer-qi9lbt { flex: none; height: 470px; overflow: visible; position: relative; width: 318px; }\",\".framer-83av4 .framer-y4xkfx { flex: none; height: 47px; left: calc(50.00000000000002% - 318px / 2); overflow: hidden; position: absolute; top: 0px; width: 318px; will-change: var(--framer-will-change-override, transform); }\",\".framer-83av4 .framer-70643s { flex: none; height: 26px; left: 16px; overflow: hidden; position: absolute; top: calc(51.06382978723406% - 26px / 2); width: 26px; will-change: var(--framer-will-change-override, transform); }\",\".framer-83av4 .framer-1lwz2nw { flex: none; height: 24px; position: absolute; right: 10px; top: calc(51.06382978723406% - 24px / 2); width: 25px; }\",\".framer-83av4 .framer-1n0mva4 { flex: none; height: auto; left: 50px; position: absolute; top: 51%; white-space: pre; width: auto; }\",\".framer-83av4 .framer-syu2wf { flex: none; height: 359px; left: calc(50.00000000000002% - 318px / 2); overflow: hidden; position: absolute; top: calc(49.3617021276596% - 359px / 2); width: 318px; }\",\".framer-83av4 .framer-f2cdv7 { bottom: 0px; flex: none; left: 0px; overflow: hidden; position: absolute; right: 0px; top: 0px; }\",\".framer-83av4 .framer-zuqrlj { bottom: 0px; flex: none; height: 52px; left: calc(50.00000000000002% - 318px / 2); overflow: hidden; position: absolute; width: 318px; will-change: var(--framer-will-change-override, transform); }\",\".framer-83av4 .framer-ty21ir-container { flex: none; height: 26px; left: 13px; position: absolute; right: 279px; top: calc(50.00000000000002% - 26px / 2); }\",\".framer-83av4 .framer-izylex { flex: none; height: 20px; left: 51px; position: absolute; right: 245px; top: calc(50.00000000000002% - 20px / 2); }\",\".framer-83av4 .framer-3v7jwv { aspect-ratio: 1.1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 20px); left: 86px; position: absolute; right: 210px; top: 16px; }\",\".framer-83av4 .framer-1bh8guh { aspect-ratio: 0.8636363636363636 / 1; bottom: 15px; flex: none; height: var(--framer-aspect-ratio-supported, 21px); position: absolute; right: 15px; width: 18px; }\",\".framer-83av4 .framer-2ttwxw { aspect-ratio: 0.7525450274079875 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 639px); left: -18px; overflow: visible; position: absolute; right: -145px; top: -217px; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-83av4.framer-tladb { gap: 0px; } .framer-83av4.framer-tladb > * { margin: 0px; margin-bottom: calc(6px / 2); margin-top: calc(6px / 2); } .framer-83av4.framer-tladb > :first-child { margin-top: 0px; } .framer-83av4.framer-tladb > :last-child { margin-bottom: 0px; } }\",\".framer-83av4.framer-v-kaym5v.framer-tladb { height: 387px; overflow: visible; width: 276px; }\",\".framer-83av4.framer-v-kaym5v .framer-qi9lbt { height: 362px; order: 0; width: 244px; }\",\".framer-83av4.framer-v-kaym5v .framer-y4xkfx { height: 36px; left: 0px; width: 244px; }\",\".framer-83av4.framer-v-kaym5v .framer-70643s { height: 19px; left: 14px; top: 8px; width: 19px; }\",\".framer-83av4.framer-v-kaym5v .framer-1lwz2nw { height: 17px; left: 211px; right: unset; top: 9px; width: 18px; }\",\".framer-83av4.framer-v-kaym5v .framer-1n0mva4 { left: 40px; top: 13px; }\",\".framer-83av4.framer-v-kaym5v .framer-syu2wf { height: 276px; left: 0px; top: 41px; width: 244px; }\",\".framer-83av4.framer-v-kaym5v .framer-zuqrlj { bottom: unset; height: 40px; left: 0px; top: 322px; width: 244px; }\",\".framer-83av4.framer-v-kaym5v .framer-ty21ir-container { height: 19px; left: 16px; right: unset; top: 10px; width: 19px; }\",\".framer-83av4.framer-v-kaym5v .framer-izylex { height: 15px; left: 44px; right: unset; top: 12px; width: 16px; }\",\".framer-83av4.framer-v-kaym5v .framer-3v7jwv { height: var(--framer-aspect-ratio-supported, 15px); left: 69px; right: unset; top: 12px; width: 16px; }\",\".framer-83av4.framer-v-kaym5v .framer-1bh8guh { bottom: unset; height: var(--framer-aspect-ratio-supported, 16px); left: 215px; right: unset; top: 12px; width: 13px; }\",\".framer-83av4.framer-v-kaym5v .framer-2ttwxw { aspect-ratio: unset; height: 494px; left: -14px; right: unset; top: -170px; width: 372px; }\",\".framer-83av4.framer-v-1gulmr3.framer-tladb { height: 457px; justify-content: flex-start; overflow: visible; width: 342px; }\",\".framer-83av4.framer-v-1gulmr3 .framer-qi9lbt { height: 457px; order: 0; width: 342px; }\",\".framer-83av4.framer-v-1gulmr3 .framer-y4xkfx { height: 48px; left: 0px; width: 342px; }\",\".framer-83av4.framer-v-1gulmr3 .framer-70643s { top: 11px; }\",\".framer-83av4.framer-v-1gulmr3 .framer-1lwz2nw { height: 21px; left: 304px; right: unset; top: 13px; width: 22px; }\",\".framer-83av4.framer-v-1gulmr3 .framer-1n0mva4 { left: 54px; top: 17px; }\",\".framer-83av4.framer-v-1gulmr3 .framer-syu2wf { height: 350px; left: 0px; top: 53px; width: 342px; }\",\".framer-83av4.framer-v-1gulmr3 .framer-f2cdv7 { left: -5px; }\",\".framer-83av4.framer-v-1gulmr3 .framer-zuqrlj { bottom: unset; height: 50px; left: 0px; top: 407px; width: 342px; }\",\".framer-83av4.framer-v-1gulmr3 .framer-ty21ir-container { height: 24px; left: 16px; right: unset; top: 13px; width: 24px; }\",\".framer-83av4.framer-v-1gulmr3 .framer-izylex { height: 18px; left: 52px; right: unset; top: 16px; width: 20px; }\",\".framer-83av4.framer-v-1gulmr3 .framer-3v7jwv { height: var(--framer-aspect-ratio-supported, 18px); left: 84px; right: unset; top: 16px; width: 20px; }\",\".framer-83av4.framer-v-1gulmr3 .framer-1bh8guh { bottom: unset; left: 310px; right: unset; top: 14px; width: 16px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 498\n * @framerIntrinsicWidth 357\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"JDbnctdYf\":{\"layout\":[\"fixed\",\"fixed\"]},\"CNcwhbT9L\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerYIqzMMZxV=withCSS(Component,css,\"framer-83av4\");export default FramerYIqzMMZxV;FramerYIqzMMZxV.displayName=\"Instagram post 2\";FramerYIqzMMZxV.defaultProps={height:498,width:357};addPropertyControls(FramerYIqzMMZxV,{variant:{options:[\"YuUgrsuOO\",\"JDbnctdYf\",\"CNcwhbT9L\"],optionTitles:[\"Desktop\",\"Tablet\",\"Mobile\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerYIqzMMZxV,[{explicitInter:true,fonts:[]},...HeroFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerYIqzMMZxV\",\"slots\":[],\"annotations\":{\"framerDisplayContentsDiv\":\"false\",\"framerContractVersion\":\"1\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"JDbnctdYf\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"CNcwhbT9L\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"498\",\"framerIntrinsicWidth\":\"357\",\"framerComponentViewportWidth\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./YIqzMMZxV.map", "import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{useState,useEffect,useRef}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{motion}from\"framer-motion\";import{NullState}from\"https://framer.com/m/framer/icon-nullstate.js@0.7.0\";import HomeFactory from\"https://framer.com/m/hero-icons/Home.js@0.0.28\";import{defaultEvents,useIconSelection}from\"https://framerusercontent.com/modules/Ma20hU0GGRxLxZphbywl/OSpwWF91FHPVFyQJjMHt/utils.js\";export const iconKeys=[\"AcademicCap\",\"AdjustmentsVertical\",\"ArchiveBox\",\"ArchiveBoxArrowDown\",\"ArchiveBoxXMark\",\"ArrowDown\",\"ArrowDownCircle\",\"ArrowDownLeft\",\"ArrowDownOnSquare\",\"ArrowDownRight\",\"ArrowDownTray\",\"ArrowLeft\",\"ArrowLeftCircle\",\"ArrowLeftOnRectangle\",\"ArrowLongDown\",\"ArrowLongLeft\",\"ArrowLongRight\",\"ArrowLongUp\",\"ArrowPath\",\"ArrowRight\",\"ArrowRightCircle\",\"ArrowSmallDown\",\"ArrowSmallLeft\",\"ArrowSmallRight\",\"ArrowSmallUp\",\"ArrowTrendingDown\",\"ArrowTrendingUp\",\"ArrowUp\",\"ArrowUpCircle\",\"ArrowUpLeft\",\"ArrowUpOnSquare\",\"ArrowUpOnSquareStack\",\"ArrowUpRight\",\"ArrowUpTray\",\"ArrowUturnDown\",\"ArrowUturnLeft\",\"ArrowUturnRight\",\"ArrowUturnUp\",\"ArrowsPointingIn\",\"ArrowsPointingOut\",\"ArrowsRightLeft\",\"ArrowsUpDown\",\"AtSymbol\",\"Backspace\",\"Backward\",\"Banknotes\",\"Bars2\",\"Bars3\",\"Bars3BottomLeft\",\"Bars3BottomRight\",\"Bars3CenterLeft\",\"Bars4\",\"BarsArrowDown\",\"BarsArrowUp\",\"Battery0\",\"Battery100\",\"Battery50\",\"Beaker\",\"Bell\",\"BellAlert\",\"BellSlash\",\"BellSnooze\",\"Bolt\",\"BoltSlash\",\"BookOpen\",\"Bookmark\",\"BookmarkSlash\",\"BookmarkSquare\",\"Briefcase\",\"BugAnt\",\"BuildingLibrary\",\"BuildingOffice\",\"BuildingOffice2\",\"BuildingStorefront\",\"Cake\",\"Calculator\",\"Calendar\",\"CalendarDays\",\"Camera\",\"ChartBar\",\"ChartBarSquare\",\"ChartPie\",\"ChatBubbleLeft\",\"ChatBubbleLeftRight\",\"ChatBubbleOvalLeft\",\"Check\",\"CheckBadge\",\"CheckCircle\",\"ChevronDoubleDown\",\"ChevronDoubleLeft\",\"ChevronDoubleRight\",\"ChevronDoubleUp\",\"ChevronDown\",\"ChevronLeft\",\"ChevronRight\",\"ChevronUp\",\"ChevronUpDown\",\"CircleStack\",\"Clipboard\",\"ClipboardDocument\",\"Clock\",\"Cloud\",\"CloudArrowDown\",\"CloudArrowUp\",\"CodeBracket\",\"CodeBracketSquare\",\"Cog\",\"Cog6Tooth\",\"Cog8Tooth\",\"CommandLine\",\"ComputerDesktop\",\"CpuChip\",\"CreditCard\",\"Cube\",\"CubeTransparent\",\"CurrencyBangladeshi\",\"CurrencyDollar\",\"CurrencyEuro\",\"CurrencyPound\",\"CurrencyRupee\",\"CurrencyYen\",\"CursorArrowRays\",\"CursorArrowRipple\",\"DevicePhoneMobile\",\"DeviceTablet\",\"Document\",\"DocumentArrowDown\",\"DocumentArrowUp\",\"DocumentChartBar\",\"DocumentCheck\",\"DocumentDuplicate\",\"DocumentMinus\",\"DocumentPlus\",\"DocumentText\",\"EllipsisHorizontal\",\"EllipsisVertical\",\"Envelope\",\"EnvelopeOpen\",\"ExclamationCircle\",\"ExclamationTriangle\",\"Eye\",\"EyeDropper\",\"EyeSlash\",\"FaceFrown\",\"FaceSmile\",\"Film\",\"FingerPrint\",\"Fire\",\"Flag\",\"Folder\",\"FolderArrowDown\",\"FolderMinus\",\"FolderOpen\",\"FolderPlus\",\"Forward\",\"Funnel\",\"Gif\",\"Gift\",\"GiftTop\",\"GlobeAlt\",\"GlobeAmericas\",\"GlobeAsiaAustralia\",\"GlobeEuropeAfrica\",\"HandRaised\",\"HandThumbDown\",\"HandThumbUp\",\"Hashtag\",\"Heart\",\"Home\",\"HomeModern\",\"Identification\",\"Inbox\",\"InboxArrowDown\",\"InboxStack\",\"InformationCircle\",\"Key\",\"Language\",\"Lifebuoy\",\"LightBulb\",\"Link\",\"ListBullet\",\"LockClosed\",\"LockOpen\",\"MagnifyingGlass\",\"MagnifyingGlassMinus\",\"MagnifyingGlassPlus\",\"Map\",\"MapPin\",\"Megaphone\",\"Microphone\",\"Minus\",\"MinusCircle\",\"MinusSmall\",\"Moon\",\"MusicalNote\",\"Newspaper\",\"NoSymbol\",\"PaintBrush\",\"PaperAirplane\",\"PaperClip\",\"Pause\",\"PauseCircle\",\"Pencil\",\"PencilSquare\",\"Phone\",\"PhoneArrowDownLeft\",\"PhoneArrowUpRight\",\"PhoneXMark\",\"Photo\",\"Play\",\"PlayCircle\",\"PlayPause\",\"Plus\",\"PlusCircle\",\"PlusSmall\",\"Power\",\"PresentationChartBar\",\"Printer\",\"PuzzlePiece\",\"QrCode\",\"QuestionMarkCircle\",\"QueueList\",\"Radio\",\"ReceiptPercent\",\"ReceiptRefund\",\"RectangleGroup\",\"RectangleStack\",\"RocketLaunch\",\"Rss\",\"Scale\",\"Scissors\",\"Server\",\"ServerStack\",\"Share\",\"ShieldCheck\",\"ShieldExclamation\",\"ShoppingBag\",\"ShoppingCart\",\"Signal\",\"SignalSlash\",\"Sparkles\",\"SpeakerWave\",\"SpeakerXMark\",\"Square2Stack\",\"Square3Stack3D\",\"Squares2X2\",\"SquaresPlus\",\"Star\",\"Stop\",\"StopCircle\",\"Sun\",\"Swatch\",\"TableCells\",\"Tag\",\"Ticket\",\"Trash\",\"Trophy\",\"Truck\",\"Tv\",\"User\",\"UserCircle\",\"UserGroup\",\"UserMinus\",\"UserPlus\",\"Users\",\"Variable\",\"VideoCamera\",\"VideoCameraSlash\",\"ViewColumns\",\"ViewfinderCircle\",\"Wallet\",\"Wifi\",\"Window\",\"Wrench\",\"WrenchScrewdriver\",\"XCircle\",\"XMark\",\"index\"];const moduleBaseUrl=\"https://framer.com/m/hero-icons/\";const lowercaseIconKeyPairs=iconKeys.reduce((res,key)=>{res[key.toLowerCase()]=key;return res;},{});/**\n * HERO\n *\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export function Icon(props){const{color,selectByList,iconSearch,iconSelection,onClick,onMouseDown,onMouseUp,onMouseEnter,onMouseLeave,mirrored}=props;const isMounted=useRef(false);const iconKey=useIconSelection(iconKeys,selectByList,iconSearch,iconSelection,lowercaseIconKeyPairs);// Selected Icon Module\nconst[SelectedIcon,setSelectedIcon]=useState(iconKey===\"Home\"?HomeFactory(React):null);// Import the selected module or reset so null state\nasync function importModule(){// Get the selected module\ntry{const iconModuleUrl=`${moduleBaseUrl}${iconKey}.js@0.0.28`;const module=await import(/* webpackIgnore: true */iconModuleUrl);if(isMounted.current)setSelectedIcon(module.default(React));}catch{if(isMounted.current)setSelectedIcon(null);}}// Import module when new style or icon is selected\nuseEffect(()=>{isMounted.current=true;importModule();return()=>{isMounted.current=false;};},[iconKey]);const isOnCanvas=RenderTarget.current()===RenderTarget.canvas;const emptyState=isOnCanvas?/*#__PURE__*/_jsx(NullState,{}):null;return /*#__PURE__*/_jsx(motion.div,{style:{display:\"contents\"},onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,children:SelectedIcon?/*#__PURE__*/_jsx(SelectedIcon,{style:{width:\"100%\",height:\"100%\",transform:mirrored?\"scale(-1, 1)\":undefined},color:color}):emptyState});}Icon.displayName=\"Hero\";Icon.defaultProps={width:24,height:24,iconSelection:\"Home\",iconSearch:\"Home\",color:\"#66F\",selectByList:true,mirrored:false};addPropertyControls(Icon,{selectByList:{type:ControlType.Boolean,title:\"Select\",enabledTitle:\"List\",disabledTitle:\"Search\",defaultValue:Icon.defaultProps.selectByList},iconSelection:{type:ControlType.Enum,options:iconKeys,defaultValue:Icon.defaultProps.iconSelection,title:\"Name\",hidden:({selectByList})=>!selectByList,description:\"Find every icon name on the [Hero site](https://heroicons.com/)\"},iconSearch:{type:ControlType.String,title:\"Name\",placeholder:\"Menu, Wifi, Box\u2026\",hidden:({selectByList})=>selectByList},mirrored:{type:ControlType.Boolean,enabledTitle:\"Yes\",disabledTitle:\"No\",defaultValue:Icon.defaultProps.mirrored},color:{type:ControlType.Color,title:\"Color\",defaultValue:Icon.defaultProps.color},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"Icon\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicHeight\":\"24\",\"framerIntrinsicWidth\":\"24\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"IconProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"iconKeys\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Hero.map", "import { jsx as _jsx } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nexport const containerStyles = {\n    width: \"100%\",\n    height: \"100%\",\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nconst nullIconStyle = {\n    minWidth: \"10px\",\n    minHeight: \"10px\",\n    maxWidth: \"20px\",\n    maxHeight: \"20px\",\n    width: \"60%\",\n    height: \"60%\"\n};\nconst emptyStateStyle = {\n    ...containerStyles,\n    borderRadius: 6,\n    background: \"rgba(149, 149, 149, 0.1)\",\n    border: \"1px dashed rgba(149, 149, 149, 0.15)\",\n    color: \"#a5a5a5\",\n    flexDirection: \"column\"\n};\nexport const NullState = /*#__PURE__*/ React.forwardRef((_, ref)=>{\n    return(/*#__PURE__*/ _jsx(\"div\", {\n        style: emptyStateStyle,\n        ref: ref\n    }));\n}) /*\n\n<svg\n                xmlns=\"http://www.w3.org/2000/svg\"\n                viewBox=\"0 0 30 30\"\n                style={nullIconStyle}\n            >\n                <path\n                    d=\"M 12.857 0 C 19.958 0 25.714 5.756 25.714 12.857 C 25.714 19.958 19.958 25.714 12.857 25.714 C 5.756 25.714 0 19.958 0 12.857 C 0 5.756 5.756 0 12.857 0 Z\"\n                    fill=\"#FFFFFF\"\n                ></path>\n                <path\n                    d=\"M 20.357 20.357 L 27.857 27.857\"\n                    fill=\"transparent\"\n                    strokeWidth=\"4.28\"\n                    stroke=\"#FFFFFF\"\n                    strokeLinecap=\"round\"\n                ></path>\n                <g transform=\"translate(9.643 6.429)\">\n                    <path\n                        d=\"M 3.214 12.857 L 3.214 12.857\"\n                        fill=\"transparent\"\n                        strokeWidth=\"3.75\"\n                        stroke=\"currentColor\"\n                        strokeLinecap=\"round\"\n                    ></path>\n                    <path\n                        d=\"M 0 3.214 C 0 1.004 1.843 0 3.214 0 C 4.586 0 6.429 0.603 6.429 3.214 C 6.429 5.826 3.214 5.913 3.214 7.232 C 3.214 8.552 3.214 8.571 3.214 8.571\"\n                        fill=\"transparent\"\n                        strokeWidth=\"3.22\"\n                        stroke=\"currentColor\"\n                        strokeLinecap=\"round\"\n                        strokeLinejoin=\"round\"\n                    ></path>\n                </g>\n            </svg>\n            */ ;\n\nexport const __FramerMetadata__ = {\"exports\":{\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"NullState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./nullstate.map", "let Component;\nvar Home_default = (React) => {\n  if (!Component) {\n    const HomeIcon = React.forwardRef(function HomeIcon2({\n      title,\n      titleId,\n      ...props\n    }, svgRef) {\n      return /* @__PURE__ */ React.createElement(\"svg\", Object.assign({\n        xmlns: \"http://www.w3.org/2000/svg\",\n        viewBox: \"0 0 24 24\",\n        fill: \"currentColor\",\n        \"aria-hidden\": \"true\",\n        \"data-slot\": \"icon\",\n        ref: svgRef,\n        \"aria-labelledby\": titleId\n      }, props), title ? /* @__PURE__ */ React.createElement(\"title\", {\n        id: titleId\n      }, title) : null, /* @__PURE__ */ React.createElement(\"path\", {\n        d: \"M11.47 3.841a.75.75 0 0 1 1.06 0l8.69 8.69a.75.75 0 1 0 1.06-1.061l-8.689-8.69a2.25 2.25 0 0 0-3.182 0l-8.69 8.69a.75.75 0 1 0 1.061 1.06l8.69-8.689Z\"\n      }), /* @__PURE__ */ React.createElement(\"path\", {\n        d: \"m12 5.432 8.159 8.159c.03.03.06.058.091.086v6.198c0 1.035-.84 1.875-1.875 1.875H15a.75.75 0 0 1-.75-.75v-4.5a.75.75 0 0 0-.75-.75h-3a.75.75 0 0 0-.75.75V21a.75.75 0 0 1-.75.75H5.625a1.875 1.875 0 0 1-1.875-1.875v-6.198a2.29 2.29 0 0 0 .091-.086L12 5.432Z\"\n      }));\n    });\n    Component = HomeIcon;\n  }\n  return Component;\n};\nconst __FramerMetadata__ = {\n  exports: {\n    default: {\n      type: \"reactComponent\",\n      slots: [],\n      annotations: { framerContractVersion: \"1\" }\n    },\n    __FramerMetadata__: { type: \"variable\" }\n  }\n};\nexport {\n  __FramerMetadata__,\n  Home_default as default\n};\n", "import{useMemo}from\"react\";import{ControlType}from\"framer\";/*\n ** ICON UTILS\n ** Pull as much re-usable logic into here as possible\n ** This will make it easier to replace in all icon components\n */ export const containerStyles={width:\"100%\",height:\"100%\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\"};export const defaultEvents={onClick:{type:ControlType.EventHandler},onMouseDown:{type:ControlType.EventHandler},onMouseUp:{type:ControlType.EventHandler},onMouseEnter:{type:ControlType.EventHandler},onMouseLeave:{type:ControlType.EventHandler}};const findByArray=(arr,search)=>arr.find(a=>a.toLowerCase().includes(search));export function getIconSelection(iconKeys,selectByList,iconSearch=\"\",iconSelection,lowercaseIconKeyPairs){// gotta get the exact match first THEN find\n// have a set and try to access ?\nif(selectByList)return iconSelection;if(iconSearch==null||(iconSearch===null||iconSearch===void 0?void 0:iconSearch.length)===0)return null;const iconSearchTerm=iconSearch.toLowerCase().replace(/-|\\s/g,\"\");var _iconSearchTerm;// check for exact match, otherwise use .find\nconst searchResult=(_iconSearchTerm=lowercaseIconKeyPairs[iconSearchTerm])!==null&&_iconSearchTerm!==void 0?_iconSearchTerm:findByArray(iconKeys,iconSearchTerm);return searchResult;}export function useIconSelection(iconKeys,selectByList,iconSearch=\"\",iconSelection,lowercaseIconKeyPairs){// Clean search term\nconst iconSearchResult=useMemo(()=>{if(iconSearch==null||(iconSearch===null||iconSearch===void 0?void 0:iconSearch.length)===0)return null;const iconSearchTerm=iconSearch.toLowerCase().replace(/-|\\s/g,\"\");var _iconSearchTerm;// check for exact match, otherwise use .find\nconst searchResult=(_iconSearchTerm=lowercaseIconKeyPairs[iconSearchTerm])!==null&&_iconSearchTerm!==void 0?_iconSearchTerm:findByArray(iconKeys,iconSearchTerm);return searchResult;},[iconSelection,iconSearch]);const name=selectByList?iconSelection:iconSearchResult;return name;}\nexport const __FramerMetadata__ = {\"exports\":{\"getIconSelection\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIconSelection\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./utils.map", "import { useState, useRef, useCallback, useEffect, useLayoutEffect } from 'react';\nimport { jsx } from 'react/jsx-runtime';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n  for (var prop in b || (b = {}))\n    if (__hasOwnProp.call(b, prop))\n      __defNormalProp(a, prop, b[prop]);\n  if (__getOwnPropSymbols)\n    for (var prop of __getOwnPropSymbols(b)) {\n      if (__propIsEnum.call(b, prop))\n        __defNormalProp(a, prop, b[prop]);\n    }\n  return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n  var target = {};\n  for (var prop in source)\n    if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n      target[prop] = source[prop];\n  if (source != null && __getOwnPropSymbols)\n    for (var prop of __getOwnPropSymbols(source)) {\n      if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n        target[prop] = source[prop];\n    }\n  return target;\n};\n\n// ../web/dist/index.js\nvar i0 = Object.defineProperty;\nvar r0 = Object.defineProperties;\nvar a0 = Object.getOwnPropertyDescriptors;\nvar k1 = Object.getOwnPropertySymbols;\nvar t3 = Object.prototype.hasOwnProperty;\nvar n3 = Object.prototype.propertyIsEnumerable;\nvar u2 = (c, n, i) => n in c ? i0(c, n, { enumerable: true, configurable: true, writable: true, value: i }) : c[n] = i;\nvar F = (c, n) => {\n  for (var i in n || (n = {}))\n    t3.call(n, i) && u2(c, i, n[i]);\n  if (k1)\n    for (var i of k1(n))\n      n3.call(n, i) && u2(c, i, n[i]);\n  return c;\n};\nvar k = (c, n) => r0(c, a0(n));\nvar z1 = (c, n) => {\n  var i = {};\n  for (var s in c)\n    t3.call(c, s) && n.indexOf(s) < 0 && (i[s] = c[s]);\n  if (c != null && k1)\n    for (var s of k1(c))\n      n.indexOf(s) < 0 && n3.call(c, s) && (i[s] = c[s]);\n  return i;\n};\nvar _ = (c, n, i) => u2(c, typeof n != \"symbol\" ? n + \"\" : n, i);\nvar g = (c, n, i) => new Promise((s, d) => {\n  var m = (P) => {\n    try {\n      M(i.next(P));\n    } catch (R) {\n      d(R);\n    }\n  }, b = (P) => {\n    try {\n      M(i.throw(P));\n    } catch (R) {\n      d(R);\n    }\n  }, M = (P) => P.done ? s(P.value) : Promise.resolve(P.value).then(m, b);\n  M((i = i.apply(c, n)).next());\n});\nvar l2 = class {\n  requestAnimationFrame(n) {\n    return requestAnimationFrame(n);\n  }\n  cancelAnimationFrame(n) {\n    cancelAnimationFrame(n);\n  }\n};\nvar h2 = class {\n  constructor() {\n    _(this, \"_lastHandleId\", 0);\n    _(this, \"_lastImmediate\", null);\n  }\n  requestAnimationFrame(n) {\n    return this._lastHandleId >= Number.MAX_SAFE_INTEGER && (this._lastHandleId = 0), this._lastHandleId += 1, this._lastImmediate = setImmediate(() => {\n      n(Date.now());\n    }), this._lastHandleId;\n  }\n  cancelAnimationFrame(n) {\n    this._lastImmediate && clearImmediate(this._lastImmediate);\n  }\n};\nvar O1 = class {\n  constructor() {\n    _(this, \"_strategy\");\n    this._strategy = typeof requestAnimationFrame == \"function\" ? new l2() : new h2();\n  }\n  requestAnimationFrame(n) {\n    return this._strategy.requestAnimationFrame(n);\n  }\n  cancelAnimationFrame(n) {\n    this._strategy.cancelAnimationFrame(n);\n  }\n};\nvar A = typeof window != \"undefined\" && typeof window.document != \"undefined\";\nvar W1 = new Uint8Array([80, 75, 3, 4]);\nvar i3 = [\"v\", \"ip\", \"op\", \"layers\", \"fr\", \"w\", \"h\"];\nvar c2 = \"0.38.1\";\nvar p2 = \"@lottiefiles/dotlottie-web\";\nvar r3 = 0.75;\nvar o0 = (() => {\n  var n;\n  var c = typeof document != \"undefined\" ? (n = document.currentScript) == null ? void 0 : n.src : void 0;\n  return function(i = {}) {\n    var s, d = i, m, b, M = new Promise((e, t) => {\n      m = e, b = t;\n    }), P = Object.assign({}, d), R = \"./this.program\", z = \"\", d1;\n    typeof document != \"undefined\" && document.currentScript && (z = document.currentScript.src), c && (z = c), z.startsWith(\"blob:\") ? z = \"\" : z = z.substr(0, z.replace(/[?#].*/, \"\").lastIndexOf(\"/\") + 1), d1 = (e) => fetch(e, { credentials: \"same-origin\" }).then((t) => t.ok ? t.arrayBuffer() : Promise.reject(Error(t.status + \" : \" + t.url)));\n    var L1 = d.print || console.log.bind(console), K = d.printErr || console.error.bind(console);\n    Object.assign(d, P), P = null, d.thisProgram && (R = d.thisProgram);\n    var C1 = d.wasmBinary, M1, E1 = false, B1, r1, x, a1, u1, e1, E, b2, L2;\n    function C22() {\n      var e = M1.buffer;\n      d.HEAP8 = r1 = new Int8Array(e), d.HEAP16 = a1 = new Int16Array(e), d.HEAPU8 = x = new Uint8Array(e), d.HEAPU16 = u1 = new Uint16Array(e), d.HEAP32 = e1 = new Int32Array(e), d.HEAPU32 = E = new Uint32Array(e), d.HEAPF32 = b2 = new Float32Array(e), d.HEAPF64 = L2 = new Float64Array(e);\n    }\n    var M2 = [], E2 = [], P2 = [];\n    function p3() {\n      var e = d.preRun.shift();\n      M2.unshift(e);\n    }\n    var t1 = 0, l1 = null;\n    function P1(e) {\n      var t;\n      throw (t = d.onAbort) == null || t.call(d, e), e = \"Aborted(\" + e + \")\", K(e), E1 = true, e = new WebAssembly.RuntimeError(e + \". Build with -sASSERTIONS for more info.\"), b(e), e;\n    }\n    var I2 = (e) => e.startsWith(\"data:application/octet-stream;base64,\"), h1;\n    function S2(e) {\n      if (e == h1 && C1)\n        return new Uint8Array(C1);\n      throw \"both async and sync fetching of the wasm failed\";\n    }\n    function v3(e) {\n      return C1 ? Promise.resolve().then(() => S2(e)) : d1(e).then((t) => new Uint8Array(t), () => S2(e));\n    }\n    function T2(e, t, r) {\n      return v3(e).then((a) => WebAssembly.instantiate(a, t)).then(r, (a) => {\n        K(`failed to asynchronously prepare wasm: ${a}`), P1(a);\n      });\n    }\n    function f3(e, t) {\n      var r = h1;\n      return C1 || typeof WebAssembly.instantiateStreaming != \"function\" || I2(r) || typeof fetch != \"function\" ? T2(r, e, t) : fetch(r, { credentials: \"same-origin\" }).then((a) => WebAssembly.instantiateStreaming(a, e).then(t, function(o) {\n        return K(`wasm streaming compile failed: ${o}`), K(\"falling back to ArrayBuffer instantiation\"), T2(r, e, t);\n      }));\n    }\n    class x2 {\n      constructor(t) {\n        _(this, \"name\", \"ExitStatus\");\n        this.message = `Program terminated with exit(${t})`, this.status = t;\n      }\n    }\n    var H1 = (e) => {\n      for (; 0 < e.length; )\n        e.shift()(d);\n    }, N1 = d.noExitRuntime || true, F2 = typeof TextDecoder != \"undefined\" ? new TextDecoder() : void 0, c1 = (e, t = 0, r = NaN) => {\n      var a = t + r;\n      for (r = t; e[r] && !(r >= a); )\n        ++r;\n      if (16 < r - t && e.buffer && F2)\n        return F2.decode(e.subarray(t, r));\n      for (a = \"\"; t < r; ) {\n        var o = e[t++];\n        if (o & 128) {\n          var u = e[t++] & 63;\n          if ((o & 224) == 192)\n            a += String.fromCharCode((o & 31) << 6 | u);\n          else {\n            var h = e[t++] & 63;\n            o = (o & 240) == 224 ? (o & 15) << 12 | u << 6 | h : (o & 7) << 18 | u << 12 | h << 6 | e[t++] & 63, 65536 > o ? a += String.fromCharCode(o) : (o -= 65536, a += String.fromCharCode(55296 | o >> 10, 56320 | o & 1023));\n          }\n        } else\n          a += String.fromCharCode(o);\n      }\n      return a;\n    };\n    class m3 {\n      constructor(t) {\n        this.ya = t - 24;\n      }\n    }\n    var A2 = 0, p1 = (e, t, r) => {\n      var a = x;\n      if (0 < r) {\n        r = t + r - 1;\n        for (var o = 0; o < e.length; ++o) {\n          var u = e.charCodeAt(o);\n          if (55296 <= u && 57343 >= u) {\n            var h = e.charCodeAt(++o);\n            u = 65536 + ((u & 1023) << 10) | h & 1023;\n          }\n          if (127 >= u) {\n            if (t >= r)\n              break;\n            a[t++] = u;\n          } else {\n            if (2047 >= u) {\n              if (t + 1 >= r)\n                break;\n              a[t++] = 192 | u >> 6;\n            } else {\n              if (65535 >= u) {\n                if (t + 2 >= r)\n                  break;\n                a[t++] = 224 | u >> 12;\n              } else {\n                if (t + 3 >= r)\n                  break;\n                a[t++] = 240 | u >> 18, a[t++] = 128 | u >> 12 & 63;\n              }\n              a[t++] = 128 | u >> 6 & 63;\n            }\n            a[t++] = 128 | u & 63;\n          }\n        }\n        a[t] = 0;\n      }\n    }, I1 = {}, V1 = (e) => {\n      for (; e.length; ) {\n        var t = e.pop();\n        e.pop()(t);\n      }\n    };\n    function v1(e) {\n      return this.fromWireType(E[e >> 2]);\n    }\n    var o1 = {}, n1 = {}, S1 = {}, f1, Q = (e, t, r) => {\n      function a(l) {\n        if (l = r(l), l.length !== e.length)\n          throw new f1(\"Mismatched type converter count\");\n        for (var p = 0; p < e.length; ++p)\n          H(e[p], l[p]);\n      }\n      e.forEach((l) => S1[l] = t);\n      var o = Array(t.length), u = [], h = 0;\n      t.forEach((l, p) => {\n        n1.hasOwnProperty(l) ? o[p] = n1[l] : (u.push(l), o1.hasOwnProperty(l) || (o1[l] = []), o1[l].push(() => {\n          o[p] = n1[l], ++h, h === u.length && a(o);\n        }));\n      }), u.length === 0 && a(o);\n    }, R2, D = (e) => {\n      for (var t = \"\"; x[e]; )\n        t += R2[x[e++]];\n      return t;\n    }, y;\n    function g3(e, t, r = {}) {\n      var a = t.name;\n      if (!e)\n        throw new y(`type \"${a}\" must have a positive integer typeid pointer`);\n      if (n1.hasOwnProperty(e)) {\n        if (r.cb)\n          return;\n        throw new y(`Cannot register type '${a}' twice`);\n      }\n      n1[e] = t, delete S1[e], o1.hasOwnProperty(e) && (t = o1[e], delete o1[e], t.forEach((o) => o()));\n    }\n    function H(e, t, r = {}) {\n      return g3(e, t, r);\n    }\n    var G1 = (e) => {\n      throw new y(e.wa.za.xa.name + \" instance already deleted\");\n    }, J1 = false, D2 = () => {\n    }, k2 = (e, t, r) => t === r ? e : r.Ca === void 0 ? null : (e = k2(e, t, r.Ca), e === null ? null : r.Wa(e)), z2 = {}, y3 = {}, w3 = (e, t) => {\n      if (t === void 0)\n        throw new y(\"ptr should not be undefined\");\n      for (; e.Ca; )\n        t = e.Ma(t), e = e.Ca;\n      return y3[t];\n    }, T1 = (e, t) => {\n      if (!t.za || !t.ya)\n        throw new f1(\"makeClassHandle requires ptr and ptrType\");\n      if (!!t.Da != !!t.Ba)\n        throw new f1(\"Both smartPtrType and smartPtr must be specified\");\n      return t.count = { value: 1 }, m1(Object.create(e, { wa: { value: t, writable: true } }));\n    }, m1 = (e) => typeof FinalizationRegistry == \"undefined\" ? (m1 = (t) => t, e) : (J1 = new FinalizationRegistry((t) => {\n      t = t.wa, --t.count.value, t.count.value === 0 && (t.Ba ? t.Da.Ga(t.Ba) : t.za.xa.Ga(t.ya));\n    }), m1 = (t) => {\n      var r = t.wa;\n      return r.Ba && J1.register(t, { wa: r }, t), t;\n    }, D2 = (t) => {\n      J1.unregister(t);\n    }, m1(e));\n    function x1() {\n    }\n    var _1 = (e, t) => Object.defineProperty(t, \"name\", { value: e }), O2 = (e, t, r) => {\n      if (e[t].Aa === void 0) {\n        var a = e[t];\n        e[t] = function(...o) {\n          if (!e[t].Aa.hasOwnProperty(o.length))\n            throw new y(`Function '${r}' called with an invalid number of arguments (${o.length}) - expects one of (${e[t].Aa})!`);\n          return e[t].Aa[o.length].apply(this, o);\n        }, e[t].Aa = [], e[t].Aa[a.Ja] = a;\n      }\n    }, q1 = (e, t, r) => {\n      if (d.hasOwnProperty(e)) {\n        if (r === void 0 || d[e].Aa !== void 0 && d[e].Aa[r] !== void 0)\n          throw new y(`Cannot register public name '${e}' twice`);\n        if (O2(d, e, e), d[e].Aa.hasOwnProperty(r))\n          throw new y(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`);\n        d[e].Aa[r] = t;\n      } else\n        d[e] = t, d[e].Ja = r;\n    }, L3 = (e) => {\n      e = e.replace(/[^a-zA-Z0-9_]/g, \"$\");\n      var t = e.charCodeAt(0);\n      return 48 <= t && 57 >= t ? `_${e}` : e;\n    };\n    function C3(e, t, r, a, o, u, h, l) {\n      this.name = e, this.constructor = t, this.Ia = r, this.Ga = a, this.Ca = o, this.Ya = u, this.Ma = h, this.Wa = l, this.fb = [];\n    }\n    var K1 = (e, t, r) => {\n      for (; t !== r; ) {\n        if (!t.Ma)\n          throw new y(`Expected null or instance of ${r.name}, got an instance of ${t.name}`);\n        e = t.Ma(e), t = t.Ca;\n      }\n      return e;\n    };\n    function M3(e, t) {\n      if (t === null) {\n        if (this.Pa)\n          throw new y(`null is not a valid ${this.name}`);\n        return 0;\n      }\n      if (!t.wa)\n        throw new y(`Cannot pass \"${n2(t)}\" as a ${this.name}`);\n      if (!t.wa.ya)\n        throw new y(`Cannot pass deleted object as a pointer of type ${this.name}`);\n      return K1(t.wa.ya, t.wa.za.xa, this.xa);\n    }\n    function E3(e, t) {\n      if (t === null) {\n        if (this.Pa)\n          throw new y(`null is not a valid ${this.name}`);\n        if (this.Oa) {\n          var r = this.Qa();\n          return e !== null && e.push(this.Ga, r), r;\n        }\n        return 0;\n      }\n      if (!t || !t.wa)\n        throw new y(`Cannot pass \"${n2(t)}\" as a ${this.name}`);\n      if (!t.wa.ya)\n        throw new y(`Cannot pass deleted object as a pointer of type ${this.name}`);\n      if (!this.Na && t.wa.za.Na)\n        throw new y(`Cannot convert argument of type ${t.wa.Da ? t.wa.Da.name : t.wa.za.name} to parameter type ${this.name}`);\n      if (r = K1(t.wa.ya, t.wa.za.xa, this.xa), this.Oa) {\n        if (t.wa.Ba === void 0)\n          throw new y(\"Passing raw pointer to smart pointer is illegal\");\n        switch (this.kb) {\n          case 0:\n            if (t.wa.Da === this)\n              r = t.wa.Ba;\n            else\n              throw new y(`Cannot convert argument of type ${t.wa.Da ? t.wa.Da.name : t.wa.za.name} to parameter type ${this.name}`);\n            break;\n          case 1:\n            r = t.wa.Ba;\n            break;\n          case 2:\n            if (t.wa.Da === this)\n              r = t.wa.Ba;\n            else {\n              var a = t.clone();\n              r = this.gb(r, A1(() => a.delete())), e !== null && e.push(this.Ga, r);\n            }\n            break;\n          default:\n            throw new y(\"Unsupporting sharing policy\");\n        }\n      }\n      return r;\n    }\n    function P3(e, t) {\n      if (t === null) {\n        if (this.Pa)\n          throw new y(`null is not a valid ${this.name}`);\n        return 0;\n      }\n      if (!t.wa)\n        throw new y(`Cannot pass \"${n2(t)}\" as a ${this.name}`);\n      if (!t.wa.ya)\n        throw new y(`Cannot pass deleted object as a pointer of type ${this.name}`);\n      if (t.wa.za.Na)\n        throw new y(`Cannot convert argument of type ${t.wa.za.name} to parameter type ${this.name}`);\n      return K1(t.wa.ya, t.wa.za.xa, this.xa);\n    }\n    function g1(e, t, r, a, o, u, h, l, p, v, f) {\n      this.name = e, this.xa = t, this.Pa = r, this.Na = a, this.Oa = o, this.eb = u, this.kb = h, this.Ua = l, this.Qa = p, this.gb = v, this.Ga = f, o || t.Ca !== void 0 ? this.toWireType = E3 : (this.toWireType = a ? M3 : P3, this.Fa = null);\n    }\n    var W2 = (e, t, r) => {\n      if (!d.hasOwnProperty(e))\n        throw new f1(\"Replacing nonexistent public symbol\");\n      d[e].Aa !== void 0 && r !== void 0 ? d[e].Aa[r] = t : (d[e] = t, d[e].Ja = r);\n    }, j, I3 = (e, t, r = []) => (e.includes(\"j\") ? (e = e.replace(/p/g, \"i\"), t = (0, d[\"dynCall_\" + e])(t, ...r)) : t = j.get(t)(...r), t), S3 = (e, t) => (...r) => I3(e, t, r), O = (e, t) => {\n      e = D(e);\n      var r = e.includes(\"j\") ? S3(e, t) : j.get(t);\n      if (typeof r != \"function\")\n        throw new y(`unknown function pointer with signature ${e}: ${t}`);\n      return r;\n    }, $2, U2 = (e) => {\n      e = K2(e);\n      var t = D(e);\n      return X(e), t;\n    }, F1 = (e, t) => {\n      function r(u) {\n        o[u] || n1[u] || (S1[u] ? S1[u].forEach(r) : (a.push(u), o[u] = true));\n      }\n      var a = [], o = {};\n      throw t.forEach(r), new $2(`${e}: ` + a.map(U2).join([\", \"]));\n    }, Y1 = (e, t) => {\n      for (var r = [], a = 0; a < e; a++)\n        r.push(E[t + 4 * a >> 2]);\n      return r;\n    };\n    function T3(e) {\n      for (var t = 1; t < e.length; ++t)\n        if (e[t] !== null && e[t].Fa === void 0)\n          return true;\n      return false;\n    }\n    function X1(e, t, r, a, o) {\n      var u = t.length;\n      if (2 > u)\n        throw new y(\"argTypes array size mismatch! Must at least get return value and 'this' types!\");\n      var h = t[1] !== null && r !== null, l = T3(t), p = t[0].name !== \"void\", v = u - 2, f = Array(v), w = [], L = [];\n      return _1(e, function(...U) {\n        if (L.length = 0, w.length = h ? 2 : 1, w[0] = o, h) {\n          var S = t[1].toWireType(L, this);\n          w[1] = S;\n        }\n        for (var T = 0; T < v; ++T)\n          f[T] = t[T + 2].toWireType(L, U[T]), w.push(f[T]);\n        if (U = a(...w), l)\n          V1(L);\n        else\n          for (T = h ? 1 : 2; T < t.length; T++) {\n            var J = T === 1 ? S : f[T - 2];\n            t[T].Fa !== null && t[T].Fa(J);\n          }\n        return S = p ? t[0].fromWireType(U) : void 0, S;\n      });\n    }\n    var B2 = (e) => {\n      e = e.trim();\n      let t = e.indexOf(\"(\");\n      return t !== -1 ? e.substr(0, t) : e;\n    }, Z1 = [], Y = [], Q1 = (e) => {\n      9 < e && --Y[e + 1] === 0 && (Y[e] = void 0, Z1.push(e));\n    }, e2 = (e) => {\n      if (!e)\n        throw new y(\"Cannot use deleted val. handle = \" + e);\n      return Y[e];\n    }, A1 = (e) => {\n      switch (e) {\n        case void 0:\n          return 2;\n        case null:\n          return 4;\n        case true:\n          return 6;\n        case false:\n          return 8;\n        default:\n          let t = Z1.pop() || Y.length;\n          return Y[t] = e, Y[t + 1] = 1, t;\n      }\n    }, j2 = { name: \"emscripten::val\", fromWireType: (e) => {\n      var t = e2(e);\n      return Q1(e), t;\n    }, toWireType: (e, t) => A1(t), Ea: 8, readValueFromPointer: v1, Fa: null }, x3 = (e, t, r) => {\n      switch (t) {\n        case 1:\n          return r ? function(a) {\n            return this.fromWireType(r1[a]);\n          } : function(a) {\n            return this.fromWireType(x[a]);\n          };\n        case 2:\n          return r ? function(a) {\n            return this.fromWireType(a1[a >> 1]);\n          } : function(a) {\n            return this.fromWireType(u1[a >> 1]);\n          };\n        case 4:\n          return r ? function(a) {\n            return this.fromWireType(e1[a >> 2]);\n          } : function(a) {\n            return this.fromWireType(E[a >> 2]);\n          };\n        default:\n          throw new TypeError(`invalid integer width (${t}): ${e}`);\n      }\n    }, t2 = (e, t) => {\n      var r = n1[e];\n      if (r === void 0)\n        throw e = `${t} has unknown type ${U2(e)}`, new y(e);\n      return r;\n    }, n2 = (e) => {\n      if (e === null)\n        return \"null\";\n      var t = typeof e;\n      return t === \"object\" || t === \"array\" || t === \"function\" ? e.toString() : \"\" + e;\n    }, F3 = (e, t) => {\n      switch (t) {\n        case 4:\n          return function(r) {\n            return this.fromWireType(b2[r >> 2]);\n          };\n        case 8:\n          return function(r) {\n            return this.fromWireType(L2[r >> 3]);\n          };\n        default:\n          throw new TypeError(`invalid float width (${t}): ${e}`);\n      }\n    }, A3 = (e, t, r) => {\n      switch (t) {\n        case 1:\n          return r ? (a) => r1[a] : (a) => x[a];\n        case 2:\n          return r ? (a) => a1[a >> 1] : (a) => u1[a >> 1];\n        case 4:\n          return r ? (a) => e1[a >> 2] : (a) => E[a >> 2];\n        default:\n          throw new TypeError(`invalid integer width (${t}): ${e}`);\n      }\n    }, R3 = Object.assign({ optional: true }, j2), H2 = typeof TextDecoder != \"undefined\" ? new TextDecoder(\"utf-16le\") : void 0, D3 = (e, t) => {\n      for (var r = e >> 1, a = r + t / 2; !(r >= a) && u1[r]; )\n        ++r;\n      if (r <<= 1, 32 < r - e && H2)\n        return H2.decode(x.subarray(e, r));\n      for (r = \"\", a = 0; !(a >= t / 2); ++a) {\n        var o = a1[e + 2 * a >> 1];\n        if (o == 0)\n          break;\n        r += String.fromCharCode(o);\n      }\n      return r;\n    }, k3 = (e, t, r) => {\n      if (r != null || (r = 2147483647), 2 > r)\n        return 0;\n      r -= 2;\n      var a = t;\n      r = r < 2 * e.length ? r / 2 : e.length;\n      for (var o = 0; o < r; ++o)\n        a1[t >> 1] = e.charCodeAt(o), t += 2;\n      return a1[t >> 1] = 0, t - a;\n    }, z3 = (e) => 2 * e.length, O3 = (e, t) => {\n      for (var r = 0, a = \"\"; !(r >= t / 4); ) {\n        var o = e1[e + 4 * r >> 2];\n        if (o == 0)\n          break;\n        ++r, 65536 <= o ? (o -= 65536, a += String.fromCharCode(55296 | o >> 10, 56320 | o & 1023)) : a += String.fromCharCode(o);\n      }\n      return a;\n    }, W3 = (e, t, r) => {\n      if (r != null || (r = 2147483647), 4 > r)\n        return 0;\n      var a = t;\n      r = a + r - 4;\n      for (var o = 0; o < e.length; ++o) {\n        var u = e.charCodeAt(o);\n        if (55296 <= u && 57343 >= u) {\n          var h = e.charCodeAt(++o);\n          u = 65536 + ((u & 1023) << 10) | h & 1023;\n        }\n        if (e1[t >> 2] = u, t += 4, t + 4 > r)\n          break;\n      }\n      return e1[t >> 2] = 0, t - a;\n    }, $3 = (e) => {\n      for (var t = 0, r = 0; r < e.length; ++r) {\n        var a = e.charCodeAt(r);\n        55296 <= a && 57343 >= a && ++r, t += 4;\n      }\n      return t;\n    }, i2 = 0, r2 = [], U3 = (e) => {\n      var t = r2.length;\n      return r2.push(e), t;\n    }, B3 = (e, t) => {\n      for (var r = Array(e), a = 0; a < e; ++a)\n        r[a] = t2(E[t + 4 * a >> 2], \"parameter \" + a);\n      return r;\n    }, j3 = Reflect.construct, y1 = {}, N2 = (e) => {\n      if (!(e instanceof x2 || e == \"unwind\"))\n        throw e;\n    }, V2 = (e) => {\n      var t;\n      throw B1 = e, N1 || 0 < i2 || ((t = d.onExit) == null || t.call(d, e), E1 = true), new x2(e);\n    }, H3 = (e) => {\n      if (!E1)\n        try {\n          if (e(), !(N1 || 0 < i2))\n            try {\n              B1 = e = B1, V2(e);\n            } catch (t) {\n              N2(t);\n            }\n        } catch (t) {\n          N2(t);\n        }\n    }, a2 = {}, G2 = () => {\n      if (!o2) {\n        var e = { USER: \"web_user\", LOGNAME: \"web_user\", PATH: \"/\", PWD: \"/\", HOME: \"/home/web_user\", LANG: (typeof navigator == \"object\" && navigator.languages && navigator.languages[0] || \"C\").replace(\"-\", \"_\") + \".UTF-8\", _: R || \"./this.program\" }, t;\n        for (t in a2)\n          a2[t] === void 0 ? delete e[t] : e[t] = a2[t];\n        var r = [];\n        for (t in e)\n          r.push(`${t}=${e[t]}`);\n        o2 = r;\n      }\n      return o2;\n    }, o2, N3 = [null, [], []], V3 = () => {\n      if (typeof crypto == \"object\" && typeof crypto.getRandomValues == \"function\")\n        return (e) => crypto.getRandomValues(e);\n      P1(\"initRandomDevice\");\n    }, J2 = (e) => (J2 = V3())(e);\n    f1 = d.InternalError = class extends Error {\n      constructor(e) {\n        super(e), this.name = \"InternalError\";\n      }\n    };\n    for (var q22 = Array(256), R1 = 0; 256 > R1; ++R1)\n      q22[R1] = String.fromCharCode(R1);\n    R2 = q22, y = d.BindingError = class extends Error {\n      constructor(e) {\n        super(e), this.name = \"BindingError\";\n      }\n    }, Object.assign(x1.prototype, { isAliasOf: function(e) {\n      if (!(this instanceof x1 && e instanceof x1))\n        return false;\n      var t = this.wa.za.xa, r = this.wa.ya;\n      e.wa = e.wa;\n      var a = e.wa.za.xa;\n      for (e = e.wa.ya; t.Ca; )\n        r = t.Ma(r), t = t.Ca;\n      for (; a.Ca; )\n        e = a.Ma(e), a = a.Ca;\n      return t === a && r === e;\n    }, clone: function() {\n      if (this.wa.ya || G1(this), this.wa.La)\n        return this.wa.count.value += 1, this;\n      var e = m1, t = Object, r = t.create, a = Object.getPrototypeOf(this), o = this.wa;\n      return e = e(r.call(t, a, { wa: { value: { count: o.count, Ka: o.Ka, La: o.La, ya: o.ya, za: o.za, Ba: o.Ba, Da: o.Da } } })), e.wa.count.value += 1, e.wa.Ka = false, e;\n    }, delete() {\n      if (this.wa.ya || G1(this), this.wa.Ka && !this.wa.La)\n        throw new y(\"Object already scheduled for deletion\");\n      D2(this);\n      var e = this.wa;\n      --e.count.value, e.count.value === 0 && (e.Ba ? e.Da.Ga(e.Ba) : e.za.xa.Ga(e.ya)), this.wa.La || (this.wa.Ba = void 0, this.wa.ya = void 0);\n    }, isDeleted: function() {\n      return !this.wa.ya;\n    }, deleteLater: function() {\n      if (this.wa.ya || G1(this), this.wa.Ka && !this.wa.La)\n        throw new y(\"Object already scheduled for deletion\");\n      return this.wa.Ka = true, this;\n    } }), Object.assign(g1.prototype, { Za(e) {\n      return this.Ua && (e = this.Ua(e)), e;\n    }, Sa(e) {\n      var t;\n      (t = this.Ga) == null || t.call(this, e);\n    }, Ea: 8, readValueFromPointer: v1, fromWireType: function(e) {\n      function t() {\n        return this.Oa ? T1(this.xa.Ia, { za: this.eb, ya: r, Da: this, Ba: e }) : T1(this.xa.Ia, { za: this, ya: e });\n      }\n      var r = this.Za(e);\n      if (!r)\n        return this.Sa(e), null;\n      var a = w3(this.xa, r);\n      if (a !== void 0)\n        return a.wa.count.value === 0 ? (a.wa.ya = r, a.wa.Ba = e, a.clone()) : (a = a.clone(), this.Sa(e), a);\n      if (a = this.xa.Ya(r), a = z2[a], !a)\n        return t.call(this);\n      a = this.Na ? a.Va : a.pointerType;\n      var o = k2(r, this.xa, a.xa);\n      return o === null ? t.call(this) : this.Oa ? T1(a.xa.Ia, { za: a, ya: o, Da: this, Ba: e }) : T1(a.xa.Ia, { za: a, ya: o });\n    } }), $2 = d.UnboundTypeError = ((e, t) => {\n      var r = _1(t, function(a) {\n        this.name = t, this.message = a, a = Error(a).stack, a !== void 0 && (this.stack = this.toString() + `\n` + a.replace(/^Error(:[^\\n]*)?\\n/, \"\"));\n      });\n      return r.prototype = Object.create(e.prototype), r.prototype.constructor = r, r.prototype.toString = function() {\n        return this.message === void 0 ? this.name : `${this.name}: ${this.message}`;\n      }, r;\n    })(Error, \"UnboundTypeError\"), Y.push(0, 1, void 0, 1, null, 1, true, 1, false, 1), d.count_emval_handles = () => Y.length / 2 - 5 - Z1.length;\n    var G3 = { c: (e, t, r, a) => {\n      P1(`Assertion failed: ${e ? c1(x, e) : \"\"}, at: ` + [t ? t ? c1(x, t) : \"\" : \"unknown filename\", r, a ? a ? c1(x, a) : \"\" : \"unknown function\"]);\n    }, m: (e, t, r) => {\n      var a = new m3(e);\n      throw E[a.ya + 16 >> 2] = 0, E[a.ya + 4 >> 2] = t, E[a.ya + 8 >> 2] = r, A2 = e, A2;\n    }, N: () => {\n    }, K: () => {\n    }, L: () => {\n    }, Q: function() {\n    }, M: () => {\n    }, S: () => {\n      P1(\"\");\n    }, v: (e) => {\n      var t = I1[e];\n      delete I1[e];\n      var r = t.Qa, a = t.Ga, o = t.Ta, u = o.map((h) => h.bb).concat(o.map((h) => h.ib));\n      Q([e], u, (h) => {\n        var l = {};\n        return o.forEach((p, v) => {\n          var f = h[v], w = p.$a, L = p.ab, U = h[v + o.length], S = p.hb, T = p.jb;\n          l[p.Xa] = { read: (J) => f.fromWireType(w(L, J)), write: (J, w1) => {\n            var B = [];\n            S(T, J, U.toWireType(B, w1)), V1(B);\n          } };\n        }), [{ name: t.name, fromWireType: (p) => {\n          var v = {}, f;\n          for (f in l)\n            v[f] = l[f].read(p);\n          return a(p), v;\n        }, toWireType: (p, v) => {\n          for (var f in l)\n            if (!(f in v))\n              throw new TypeError(`Missing field: \"${f}\"`);\n          var w = r();\n          for (f in l)\n            l[f].write(w, v[f]);\n          return p !== null && p.push(a, w), w;\n        }, Ea: 8, readValueFromPointer: v1, Fa: a }];\n      });\n    }, D: () => {\n    }, X: (e, t, r, a) => {\n      t = D(t), H(e, { name: t, fromWireType: function(o) {\n        return !!o;\n      }, toWireType: function(o, u) {\n        return u ? r : a;\n      }, Ea: 8, readValueFromPointer: function(o) {\n        return this.fromWireType(x[o]);\n      }, Fa: null });\n    }, r: (e, t, r, a, o, u, h, l, p, v, f, w, L) => {\n      f = D(f), u = O(o, u), l && (l = O(h, l)), v && (v = O(p, v)), L = O(w, L);\n      var U = L3(f);\n      q1(U, function() {\n        F1(`Cannot construct ${f} due to unbound types`, [a]);\n      }), Q([e, t, r], a ? [a] : [], (S) => {\n        if (S = S[0], a)\n          var T = S.xa, J = T.Ia;\n        else\n          J = x1.prototype;\n        S = _1(f, function(...d2) {\n          if (Object.getPrototypeOf(this) !== w1)\n            throw new y(\"Use 'new' to construct \" + f);\n          if (B.Ha === void 0)\n            throw new y(f + \" has no accessible constructor\");\n          var e3 = B.Ha[d2.length];\n          if (e3 === void 0)\n            throw new y(`Tried to invoke ctor of ${f} with invalid number of parameters (${d2.length}) - expected (${Object.keys(B.Ha).toString()}) parameters instead!`);\n          return e3.apply(this, d2);\n        });\n        var w1 = Object.create(J, { constructor: { value: S } });\n        S.prototype = w1;\n        var B = new C3(f, S, w1, L, T, u, l, v);\n        if (B.Ca) {\n          var b1;\n          (b1 = B.Ca).Ra != null || (b1.Ra = []), B.Ca.Ra.push(B);\n        }\n        return T = new g1(f, B, true, false, false), b1 = new g1(f + \"*\", B, false, false, false), J = new g1(f + \" const*\", B, false, true, false), z2[e] = { pointerType: b1, Va: J }, W2(U, S), [T, b1, J];\n      });\n    }, q: (e, t, r, a, o, u) => {\n      var h = Y1(t, r);\n      o = O(a, o), Q([], [e], (l) => {\n        l = l[0];\n        var p = `constructor ${l.name}`;\n        if (l.xa.Ha === void 0 && (l.xa.Ha = []), l.xa.Ha[t - 1] !== void 0)\n          throw new y(`Cannot register multiple constructors with identical number of parameters (${t - 1}) for class '${l.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);\n        return l.xa.Ha[t - 1] = () => {\n          F1(`Cannot construct ${l.name} due to unbound types`, h);\n        }, Q([], h, (v) => (v.splice(1, 0, null), l.xa.Ha[t - 1] = X1(p, v, null, o, u), [])), [];\n      });\n    }, f: (e, t, r, a, o, u, h, l) => {\n      var p = Y1(r, a);\n      t = D(t), t = B2(t), u = O(o, u), Q([], [e], (v) => {\n        function f() {\n          F1(`Cannot call ${w} due to unbound types`, p);\n        }\n        v = v[0];\n        var w = `${v.name}.${t}`;\n        t.startsWith(\"@@\") && (t = Symbol[t.substring(2)]), l && v.xa.fb.push(t);\n        var L = v.xa.Ia, U = L[t];\n        return U === void 0 || U.Aa === void 0 && U.className !== v.name && U.Ja === r - 2 ? (f.Ja = r - 2, f.className = v.name, L[t] = f) : (O2(L, t, w), L[t].Aa[r - 2] = f), Q([], p, (S) => (S = X1(w, S, v, u, h), L[t].Aa === void 0 ? (S.Ja = r - 2, L[t] = S) : L[t].Aa[r - 2] = S, [])), [];\n      });\n    }, W: (e) => H(e, j2), x: (e, t, r, a) => {\n      function o() {\n      }\n      t = D(t), o.values = {}, H(e, { name: t, constructor: o, fromWireType: function(u) {\n        return this.constructor.values[u];\n      }, toWireType: (u, h) => h.value, Ea: 8, readValueFromPointer: x3(t, r, a), Fa: null }), q1(t, o);\n    }, k: (e, t, r) => {\n      var a = t2(e, \"enum\");\n      t = D(t), e = a.constructor, a = Object.create(a.constructor.prototype, { value: { value: r }, constructor: { value: _1(`${a.name}_${t}`, function() {\n      }) } }), e.values[r] = a, e[t] = a;\n    }, z: (e, t, r) => {\n      t = D(t), H(e, { name: t, fromWireType: (a) => a, toWireType: (a, o) => o, Ea: 8, readValueFromPointer: F3(t, r), Fa: null });\n    }, u: (e, t, r, a, o, u) => {\n      var h = Y1(t, r);\n      e = D(e), e = B2(e), o = O(a, o), q1(e, function() {\n        F1(`Cannot call ${e} due to unbound types`, h);\n      }, t - 1), Q([], h, (l) => (W2(e, X1(e, [l[0], null].concat(l.slice(1)), null, o, u), t - 1), []));\n    }, l: (e, t, r, a, o) => {\n      if (t = D(t), o === -1 && (o = 4294967295), o = (l) => l, a === 0) {\n        var u = 32 - 8 * r;\n        o = (l) => l << u >>> u;\n      }\n      var h = t.includes(\"unsigned\") ? function(l, p) {\n        return p >>> 0;\n      } : function(l, p) {\n        return p;\n      };\n      H(e, { name: t, fromWireType: o, toWireType: h, Ea: 8, readValueFromPointer: A3(t, r, a !== 0), Fa: null });\n    }, h: (e, t, r) => {\n      function a(u) {\n        return new o(r1.buffer, E[u + 4 >> 2], E[u >> 2]);\n      }\n      var o = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array][t];\n      r = D(r), H(e, { name: r, fromWireType: a, Ea: 8, readValueFromPointer: a }, { cb: true });\n    }, t: (e) => {\n      H(e, R3);\n    }, ba: (e, t, r, a, o, u, h, l, p, v, f, w) => {\n      r = D(r), u = O(o, u), l = O(h, l), v = O(p, v), w = O(f, w), Q([e], [t], (L) => (L = L[0], [new g1(r, L.xa, false, false, true, L, a, u, l, v, w)]));\n    }, A: (e, t) => {\n      t = D(t);\n      var r = t === \"std::string\";\n      H(e, { name: t, fromWireType: function(a) {\n        var o = E[a >> 2], u = a + 4;\n        if (r)\n          for (var h = u, l = 0; l <= o; ++l) {\n            var p = u + l;\n            if (l == o || x[p] == 0) {\n              if (h = h ? c1(x, h, p - h) : \"\", v === void 0)\n                var v = h;\n              else\n                v += \"\\0\", v += h;\n              h = p + 1;\n            }\n          }\n        else {\n          for (v = Array(o), l = 0; l < o; ++l)\n            v[l] = String.fromCharCode(x[u + l]);\n          v = v.join(\"\");\n        }\n        return X(a), v;\n      }, toWireType: function(a, o) {\n        o instanceof ArrayBuffer && (o = new Uint8Array(o));\n        var u, h = typeof o == \"string\";\n        if (!(h || o instanceof Uint8Array || o instanceof Uint8ClampedArray || o instanceof Int8Array))\n          throw new y(\"Cannot pass non-string to std::string\");\n        if (r && h)\n          for (var l = u = 0; l < o.length; ++l) {\n            var p = o.charCodeAt(l);\n            127 >= p ? u++ : 2047 >= p ? u += 2 : 55296 <= p && 57343 >= p ? (u += 4, ++l) : u += 3;\n          }\n        else\n          u = o.length;\n        if (l = s2(4 + u + 1), p = l + 4, E[l >> 2] = u, r && h)\n          p1(o, p, u + 1);\n        else if (h)\n          for (h = 0; h < u; ++h) {\n            var v = o.charCodeAt(h);\n            if (255 < v)\n              throw X(p), new y(\"String has UTF-16 code units that do not fit in 8 bits\");\n            x[p + h] = v;\n          }\n        else\n          for (h = 0; h < u; ++h)\n            x[p + h] = o[h];\n        return a !== null && a.push(X, l), l;\n      }, Ea: 8, readValueFromPointer: v1, Fa(a) {\n        X(a);\n      } });\n    }, s: (e, t, r) => {\n      if (r = D(r), t === 2)\n        var a = D3, o = k3, u = z3, h = (l) => u1[l >> 1];\n      else\n        t === 4 && (a = O3, o = W3, u = $3, h = (l) => E[l >> 2]);\n      H(e, { name: r, fromWireType: (l) => {\n        for (var p = E[l >> 2], v, f = l + 4, w = 0; w <= p; ++w) {\n          var L = l + 4 + w * t;\n          (w == p || h(L) == 0) && (f = a(f, L - f), v === void 0 ? v = f : (v += \"\\0\", v += f), f = L + t);\n        }\n        return X(l), v;\n      }, toWireType: (l, p) => {\n        if (typeof p != \"string\")\n          throw new y(`Cannot pass non-string to C++ string type ${r}`);\n        var v = u(p), f = s2(4 + v + t);\n        return E[f >> 2] = v / t, o(p, f + 4, v + t), l !== null && l.push(X, f), f;\n      }, Ea: 8, readValueFromPointer: v1, Fa(l) {\n        X(l);\n      } });\n    }, w: (e, t, r, a, o, u) => {\n      I1[e] = { name: D(t), Qa: O(r, a), Ga: O(o, u), Ta: [] };\n    }, j: (e, t, r, a, o, u, h, l, p, v) => {\n      I1[e].Ta.push({ Xa: D(t), bb: r, $a: O(a, o), ab: u, ib: h, hb: O(l, p), jb: v });\n    }, Y: (e, t) => {\n      t = D(t), H(e, { lb: true, name: t, Ea: 0, fromWireType: () => {\n      }, toWireType: () => {\n      } });\n    }, I: () => {\n      N1 = false, i2 = 0;\n    }, E: () => {\n      throw 1 / 0;\n    }, $: (e, t, r, a) => (e = r2[e], t = e2(t), e(null, t, r, a)), B: Q1, _: (e, t, r) => {\n      var a = B3(e, t), o = a.shift();\n      e--;\n      var u = Array(e);\n      return t = `methodCaller<(${a.map((h) => h.name).join(\", \")}) => ${o.name}>`, U3(_1(t, (h, l, p, v) => {\n        for (var f = 0, w = 0; w < e; ++w)\n          u[w] = a[w].readValueFromPointer(v + f), f += a[w].Ea;\n        return l = r === 1 ? j3(l, u) : l.apply(h, u), h = [], l = o.toWireType(h, l), h.length && (E[p >> 2] = A1(h)), l;\n      }));\n    }, aa: (e) => {\n      9 < e && (Y[e + 1] += 1);\n    }, Z: (e) => {\n      var t = e2(e);\n      V1(t), Q1(e);\n    }, o: (e, t) => (e = t2(e, \"_emval_take_value\"), e = e.readValueFromPointer(t), A1(e)), F: (e, t) => {\n      if (y1[e] && (clearTimeout(y1[e].id), delete y1[e]), !t)\n        return 0;\n      var r = setTimeout(() => {\n        delete y1[e], H3(() => Y2(e, performance.now()));\n      }, t);\n      return y1[e] = { id: r, mb: t }, 0;\n    }, G: (e, t, r, a) => {\n      var o = (/* @__PURE__ */ new Date()).getFullYear(), u = new Date(o, 0, 1).getTimezoneOffset();\n      o = new Date(o, 6, 1).getTimezoneOffset(), E[e >> 2] = 60 * Math.max(u, o), e1[t >> 2] = +(u != o), t = (h) => {\n        var l = Math.abs(h);\n        return `UTC${0 <= h ? \"-\" : \"+\"}${String(Math.floor(l / 60)).padStart(2, \"0\")}${String(l % 60).padStart(2, \"0\")}`;\n      }, e = t(u), t = t(o), o < u ? (p1(e, r, 17), p1(t, a, 17)) : (p1(e, a, 17), p1(t, r, 17));\n    }, ca: () => performance.now(), H: (e) => {\n      var t = x.length;\n      if (e >>>= 0, 2147483648 < e)\n        return false;\n      for (var r = 1; 4 >= r; r *= 2) {\n        var a = t * (1 + 0.2 / r);\n        a = Math.min(a, e + 100663296);\n        e: {\n          a = (Math.min(2147483648, 65536 * Math.ceil(Math.max(e, a) / 65536)) - M1.buffer.byteLength + 65535) / 65536 | 0;\n          try {\n            M1.grow(a), C22();\n            var o = 1;\n            break e;\n          } catch (u) {\n          }\n          o = void 0;\n        }\n        if (o)\n          return true;\n      }\n      return false;\n    }, U: (e, t) => {\n      var r = 0;\n      return G2().forEach((a, o) => {\n        var u = t + r;\n        for (o = E[e + 4 * o >> 2] = u, u = 0; u < a.length; ++u)\n          r1[o++] = a.charCodeAt(u);\n        r1[o] = 0, r += a.length + 1;\n      }), 0;\n    }, V: (e, t) => {\n      var r = G2();\n      E[e >> 2] = r.length;\n      var a = 0;\n      return r.forEach((o) => a += o.length + 1), E[t >> 2] = a, 0;\n    }, R: () => 52, P: () => 52, O: (e, t, r, a) => {\n      for (var o = 0, u = 0; u < r; u++) {\n        var h = E[t >> 2], l = E[t + 4 >> 2];\n        t += 8;\n        for (var p = 0; p < l; p++) {\n          var v = e, f = x[h + p], w = N3[v];\n          f === 0 || f === 10 ? ((v === 1 ? L1 : K)(c1(w)), w.length = 0) : w.push(f);\n        }\n        o += l;\n      }\n      return E[a >> 2] = o, 0;\n    }, i: X3, d: Y3, e: K3, p: Z3, y: t0, b: J3, a: q3, g: e0, n: Q3, C: n0, T: V2, J: (e, t) => (J2(x.subarray(e, e + t)), 0) }, I = function() {\n      var r;\n      function e(a) {\n        var o;\n        return I = a.exports, M1 = I.da, C22(), j = I.ha, E2.unshift(I.ea), t1--, (o = d.monitorRunDependencies) == null || o.call(d, t1), t1 == 0 && (l1 && (a = l1, l1 = null, a())), I;\n      }\n      var t = { a: G3 };\n      if (t1++, (r = d.monitorRunDependencies) == null || r.call(d, t1), d.instantiateWasm)\n        try {\n          return d.instantiateWasm(t, e);\n        } catch (a) {\n          K(`Module.instantiateWasm callback failed with error: ${a}`), b(a);\n        }\n      return h1 != null || (h1 = I2(\"DotLottiePlayer.wasm\") ? \"DotLottiePlayer.wasm\" : d.locateFile ? d.locateFile(\"DotLottiePlayer.wasm\", z) : z + \"DotLottiePlayer.wasm\"), f3(t, function(a) {\n        e(a.instance);\n      }).catch(b), {};\n    }(), s2 = (e) => (s2 = I.fa)(e), K2 = (e) => (K2 = I.ga)(e), X = (e) => (X = I.ia)(e), Y2 = (e, t) => (Y2 = I.ja)(e, t), N = (e, t) => (N = I.ka)(e, t), V = (e) => (V = I.la)(e), G = () => (G = I.ma)();\n    d.dynCall_iijj = (e, t, r, a, o, u) => (d.dynCall_iijj = I.na)(e, t, r, a, o, u), d.dynCall_vijj = (e, t, r, a, o, u) => (d.dynCall_vijj = I.oa)(e, t, r, a, o, u), d.dynCall_jiii = (e, t, r, a) => (d.dynCall_jiii = I.pa)(e, t, r, a), d.dynCall_jii = (e, t, r) => (d.dynCall_jii = I.qa)(e, t, r);\n    var X2 = d.dynCall_vijjj = (e, t, r, a, o, u, h, l) => (X2 = d.dynCall_vijjj = I.ra)(e, t, r, a, o, u, h, l);\n    d.dynCall_viijii = (e, t, r, a, o, u, h) => (d.dynCall_viijii = I.sa)(e, t, r, a, o, u, h), d.dynCall_iiiiij = (e, t, r, a, o, u, h) => (d.dynCall_iiiiij = I.ta)(e, t, r, a, o, u, h), d.dynCall_iiiiijj = (e, t, r, a, o, u, h, l, p) => (d.dynCall_iiiiijj = I.ua)(e, t, r, a, o, u, h, l, p), d.dynCall_iiiiiijj = (e, t, r, a, o, u, h, l, p, v) => (d.dynCall_iiiiiijj = I.va)(e, t, r, a, o, u, h, l, p, v);\n    function J3(e, t) {\n      var r = G();\n      try {\n        j.get(e)(t);\n      } catch (a) {\n        if (V(r), a !== a + 0)\n          throw a;\n        N(1, 0);\n      }\n    }\n    function q3(e, t, r) {\n      var a = G();\n      try {\n        j.get(e)(t, r);\n      } catch (o) {\n        if (V(a), o !== o + 0)\n          throw o;\n        N(1, 0);\n      }\n    }\n    function K3(e, t, r, a) {\n      var o = G();\n      try {\n        return j.get(e)(t, r, a);\n      } catch (u) {\n        if (V(o), u !== u + 0)\n          throw u;\n        N(1, 0);\n      }\n    }\n    function Y3(e, t, r) {\n      var a = G();\n      try {\n        return j.get(e)(t, r);\n      } catch (o) {\n        if (V(a), o !== o + 0)\n          throw o;\n        N(1, 0);\n      }\n    }\n    function X3(e, t) {\n      var r = G();\n      try {\n        return j.get(e)(t);\n      } catch (a) {\n        if (V(r), a !== a + 0)\n          throw a;\n        N(1, 0);\n      }\n    }\n    function Z3(e, t, r, a, o, u) {\n      var h = G();\n      try {\n        return j.get(e)(t, r, a, o, u);\n      } catch (l) {\n        if (V(h), l !== l + 0)\n          throw l;\n        N(1, 0);\n      }\n    }\n    function Q3(e, t, r, a, o) {\n      var u = G();\n      try {\n        j.get(e)(t, r, a, o);\n      } catch (h) {\n        if (V(u), h !== h + 0)\n          throw h;\n        N(1, 0);\n      }\n    }\n    function e0(e, t, r, a) {\n      var o = G();\n      try {\n        j.get(e)(t, r, a);\n      } catch (u) {\n        if (V(o), u !== u + 0)\n          throw u;\n        N(1, 0);\n      }\n    }\n    function t0(e) {\n      var t = G();\n      try {\n        j.get(e)();\n      } catch (r) {\n        if (V(t), r !== r + 0)\n          throw r;\n        N(1, 0);\n      }\n    }\n    function n0(e, t, r, a, o, u, h, l) {\n      var p = G();\n      try {\n        X2(e, t, r, a, o, u, h, l);\n      } catch (v) {\n        if (V(p), v !== v + 0)\n          throw v;\n        N(1, 0);\n      }\n    }\n    var D1;\n    l1 = function e() {\n      D1 || Z2(), D1 || (l1 = e);\n    };\n    function Z2() {\n      function e() {\n        var r;\n        if (!D1 && (D1 = true, d.calledRun = true, !E1)) {\n          if (H1(E2), m(d), (r = d.onRuntimeInitialized) == null || r.call(d), d.postRun)\n            for (typeof d.postRun == \"function\" && (d.postRun = [d.postRun]); d.postRun.length; ) {\n              var t = d.postRun.shift();\n              P2.unshift(t);\n            }\n          H1(P2);\n        }\n      }\n      if (!(0 < t1)) {\n        if (d.preRun)\n          for (typeof d.preRun == \"function\" && (d.preRun = [d.preRun]); d.preRun.length; )\n            p3();\n        H1(M2), 0 < t1 || (d.setStatus ? (d.setStatus(\"Running...\"), setTimeout(() => {\n          setTimeout(() => d.setStatus(\"\"), 1), e();\n        }, 1)) : e());\n      }\n    }\n    if (d.preInit)\n      for (typeof d.preInit == \"function\" && (d.preInit = [d.preInit]); 0 < d.preInit.length; )\n        d.preInit.pop()();\n    return Z2(), s = M, s;\n  };\n})();\nvar a3 = o0;\nvar i1 = class {\n  constructor() {\n    throw new Error(\"RendererLoader is a static class and cannot be instantiated.\");\n  }\n  static _tryLoad(n) {\n    return g(this, null, function* () {\n      return yield a3({ locateFile: () => n });\n    });\n  }\n  static _loadWithBackup() {\n    return g(this, null, function* () {\n      return this._ModulePromise || (this._ModulePromise = this._tryLoad(this._wasmURL).catch((n) => g(this, null, function* () {\n        let i = `https://unpkg.com/${p2}@${c2}/dist/dotlottie-player.wasm`;\n        console.warn(`Primary WASM load failed from ${this._wasmURL}. Error: ${n.message}`), console.warn(`Attempting to load WASM from backup URL: ${i}`);\n        try {\n          return yield this._tryLoad(i);\n        } catch (s) {\n          throw console.error(`Primary WASM URL failed: ${n.message}`), console.error(`Backup WASM URL failed: ${s.message}`), new Error(\"WASM loading failed from all sources.\");\n        }\n      }))), this._ModulePromise;\n    });\n  }\n  static load() {\n    return g(this, null, function* () {\n      return this._loadWithBackup();\n    });\n  }\n  static setWasmUrl(n) {\n    n !== this._wasmURL && (this._wasmURL = n, this._ModulePromise = null);\n  }\n};\n_(i1, \"_ModulePromise\", null), _(i1, \"_wasmURL\", `https://cdn.jsdelivr.net/npm/${p2}@${c2}/dist/dotlottie-player.wasm`);\nvar s1 = class {\n  constructor() {\n    _(this, \"_eventListeners\", /* @__PURE__ */ new Map());\n  }\n  addEventListener(n, i) {\n    let s = this._eventListeners.get(n);\n    s || (s = /* @__PURE__ */ new Set(), this._eventListeners.set(n, s)), s.add(i);\n  }\n  removeEventListener(n, i) {\n    let s = this._eventListeners.get(n);\n    s && (i ? (s.delete(i), s.size === 0 && this._eventListeners.delete(n)) : this._eventListeners.delete(n));\n  }\n  dispatch(n) {\n    let i = this._eventListeners.get(n.type);\n    i == null || i.forEach((s) => s(n));\n  }\n  removeAllEventListeners() {\n    this._eventListeners.clear();\n  }\n};\nvar W = class {\n  static _initializeObserver() {\n    if (this._observer)\n      return;\n    let n = (i) => {\n      i.forEach((s) => {\n        let d = this._observedCanvases.get(s.target);\n        d && (s.isIntersecting ? d.unfreeze() : d.freeze());\n      });\n    };\n    this._observer = new IntersectionObserver(n, { threshold: 0 });\n  }\n  static observe(n, i) {\n    var s;\n    this._initializeObserver(), !this._observedCanvases.has(n) && (this._observedCanvases.set(n, i), (s = this._observer) == null || s.observe(n));\n  }\n  static unobserve(n) {\n    var i, s;\n    (i = this._observer) == null || i.unobserve(n), this._observedCanvases.delete(n), this._observedCanvases.size === 0 && ((s = this._observer) == null || s.disconnect(), this._observer = null);\n  }\n};\n_(W, \"_observer\", null), _(W, \"_observedCanvases\", /* @__PURE__ */ new Map());\nvar $ = class {\n  static _initializeObserver() {\n    if (this._observer)\n      return;\n    let n = (i) => {\n      i.forEach((s) => {\n        let d = this._observedCanvases.get(s.target);\n        if (!d)\n          return;\n        let [m, b] = d;\n        clearTimeout(b);\n        let M = setTimeout(() => {\n          m.resize();\n        }, 100);\n        this._observedCanvases.set(s.target, [m, M]);\n      });\n    };\n    this._observer = new ResizeObserver(n);\n  }\n  static observe(n, i) {\n    var s;\n    this._initializeObserver(), !this._observedCanvases.has(n) && (this._observedCanvases.set(n, [i, 0]), (s = this._observer) == null || s.observe(n));\n  }\n  static unobserve(n) {\n    var i, s;\n    (i = this._observer) == null || i.unobserve(n), this._observedCanvases.delete(n), this._observedCanvases.size === 0 && ((s = this._observer) == null || s.disconnect(), this._observer = null);\n  }\n};\n_($, \"_observer\", null), _($, \"_observedCanvases\", /* @__PURE__ */ new Map());\nfunction s0(c) {\n  return /^#([\\da-f]{6}|[\\da-f]{8})$/iu.test(c);\n}\nfunction s3(c) {\n  if (!s0(c))\n    return 0;\n  let n = c.replace(\"#\", \"\");\n  return n = n.length === 6 ? `${n}ff` : n, parseInt(n, 16);\n}\nfunction v2(c) {\n  if (c.byteLength < 4)\n    return false;\n  let n = new Uint8Array(c.slice(0, W1.byteLength));\n  for (let i = 0; i < W1.length; i += 1)\n    if (W1[i] !== n[i])\n      return false;\n  return true;\n}\nfunction o3(c) {\n  return i3.every((n) => Object.prototype.hasOwnProperty.call(c, n));\n}\nfunction f2(c) {\n  if (typeof c == \"string\")\n    try {\n      return o3(JSON.parse(c));\n    } catch (n) {\n      return false;\n    }\n  else\n    return o3(c);\n}\nfunction Z() {\n  return 1 + ((A ? window.devicePixelRatio : 1) - 1) * r3;\n}\nfunction $1(c) {\n  let n = c.getBoundingClientRect();\n  return n.top >= 0 && n.left >= 0 && n.bottom <= (window.innerHeight || document.documentElement.clientHeight) && n.right <= (window.innerWidth || document.documentElement.clientWidth);\n}\nvar m2 = (c, n) => c === \"reverse\" ? n.Mode.Reverse : c === \"bounce\" ? n.Mode.Bounce : c === \"reverse-bounce\" ? n.Mode.ReverseBounce : n.Mode.Forward;\nvar _2 = (c, n) => c === \"contain\" ? n.Fit.Contain : c === \"cover\" ? n.Fit.Cover : c === \"fill\" ? n.Fit.Fill : c === \"fit-height\" ? n.Fit.FitHeight : c === \"fit-width\" ? n.Fit.FitWidth : n.Fit.None;\nvar g2 = (c, n) => {\n  let i = new n.VectorFloat();\n  return i.push_back(c[0]), i.push_back(c[1]), i;\n};\nvar y2 = (c, n) => {\n  let i = new n.VectorFloat();\n  return c.length !== 2 || (i.push_back(c[0]), i.push_back(c[1])), i;\n};\nvar C = class C2 {\n  constructor(n) {\n    _(this, \"_canvas\");\n    _(this, \"_context\", null);\n    _(this, \"_eventManager\");\n    _(this, \"_animationFrameId\", null);\n    _(this, \"_frameManager\");\n    _(this, \"_dotLottieCore\", null);\n    _(this, \"_renderConfig\", {});\n    _(this, \"_isFrozen\", false);\n    _(this, \"_backgroundColor\", null);\n    _(this, \"_pointerUpMethod\");\n    _(this, \"_pointerDownMethod\");\n    _(this, \"_pointerMoveMethod\");\n    _(this, \"_pointerEnterMethod\");\n    _(this, \"_pointerExitMethod\");\n    var i, s, d;\n    this._canvas = n.canvas, this._context = this._canvas.getContext(\"2d\"), this._eventManager = new s1(), this._frameManager = new O1(), this._renderConfig = k(F({}, n.renderConfig), { devicePixelRatio: ((i = n.renderConfig) == null ? void 0 : i.devicePixelRatio) || Z(), freezeOnOffscreen: (d = (s = n.renderConfig) == null ? void 0 : s.freezeOnOffscreen) != null ? d : true }), i1.load().then((m) => {\n      var b, M, P, R, z, d1, L1, K;\n      C2._wasmModule = m, this._dotLottieCore = new m.DotLottiePlayer({ themeId: (b = n.themeId) != null ? b : \"\", autoplay: (M = n.autoplay) != null ? M : false, backgroundColor: 0, loopAnimation: (P = n.loop) != null ? P : false, mode: m2((R = n.mode) != null ? R : \"forward\", m), segment: y2((z = n.segment) != null ? z : [], m), speed: (d1 = n.speed) != null ? d1 : 1, useFrameInterpolation: (L1 = n.useFrameInterpolation) != null ? L1 : true, marker: (K = n.marker) != null ? K : \"\", layout: n.layout ? { align: g2(n.layout.align, m), fit: _2(n.layout.fit, m) } : m.createDefaultLayout() }), this._eventManager.dispatch({ type: \"ready\" }), n.data ? this._loadFromData(n.data) : n.src && this._loadFromSrc(n.src), n.backgroundColor && this.setBackgroundColor(n.backgroundColor);\n    }).catch((m) => {\n      this._eventManager.dispatch({ type: \"loadError\", error: new Error(`Failed to load wasm module: ${m}`) });\n    }), this._pointerUpMethod = this._onPointerUp.bind(this), this._pointerDownMethod = this._onPointerDown.bind(this), this._pointerMoveMethod = this._onPointerMove.bind(this), this._pointerEnterMethod = this._onPointerEnter.bind(this), this._pointerExitMethod = this._onPointerLeave.bind(this);\n  }\n  _dispatchError(n) {\n    console.error(n), this._eventManager.dispatch({ type: \"loadError\", error: new Error(n) });\n  }\n  _fetchData(n) {\n    return g(this, null, function* () {\n      let i = yield fetch(n);\n      if (!i.ok)\n        throw new Error(`Failed to fetch animation data from URL: ${n}. ${i.status}: ${i.statusText}`);\n      let s = yield i.arrayBuffer();\n      return v2(s) ? s : new TextDecoder().decode(s);\n    });\n  }\n  _loadFromData(n) {\n    if (this._dotLottieCore === null)\n      return;\n    let i = this._canvas.width, s = this._canvas.height, d = false;\n    if (typeof n == \"string\") {\n      if (!f2(n)) {\n        this._dispatchError(\"Invalid Lottie JSON string: The provided string does not conform to the Lottie JSON format.\");\n        return;\n      }\n      d = this._dotLottieCore.loadAnimationData(n, i, s);\n    } else if (n instanceof ArrayBuffer) {\n      if (!v2(n)) {\n        this._dispatchError(\"Invalid dotLottie ArrayBuffer: The provided ArrayBuffer does not conform to the dotLottie format.\");\n        return;\n      }\n      d = this._dotLottieCore.loadDotLottieData(n, i, s);\n    } else if (typeof n == \"object\") {\n      if (!f2(n)) {\n        this._dispatchError(\"Invalid Lottie JSON object: The provided object does not conform to the Lottie JSON format.\");\n        return;\n      }\n      d = this._dotLottieCore.loadAnimationData(JSON.stringify(n), i, s);\n    } else {\n      this._dispatchError(`Unsupported data type for animation data. Expected: \n          - string (Lottie JSON),\n          - ArrayBuffer (dotLottie),\n          - object (Lottie JSON). \n          Received: ${typeof n}`);\n      return;\n    }\n    d ? (this._eventManager.dispatch({ type: \"load\" }), A && this.resize(), this._eventManager.dispatch({ type: \"frame\", currentFrame: this._dotLottieCore.currentFrame() }), this._render(), this._dotLottieCore.config().autoplay && (this._dotLottieCore.play(), this._dotLottieCore.isPlaying() ? (this._eventManager.dispatch({ type: \"play\" }), this._animationFrameId = this._frameManager.requestAnimationFrame(this._draw.bind(this))) : console.error(\"something went wrong, the animation was suppose to autoplay\")), A && this._canvas instanceof HTMLCanvasElement && (this._renderConfig.freezeOnOffscreen && W.observe(this._canvas, this), this._renderConfig.autoResize && $.observe(this._canvas, this))) : this._dispatchError(\"Failed to load animation data\");\n  }\n  _loadFromSrc(n) {\n    this._fetchData(n).then((i) => this._loadFromData(i)).catch((i) => this._dispatchError(`Failed to load animation data from URL: ${n}. ${i}`));\n  }\n  get activeAnimationId() {\n    var n;\n    return (n = this._dotLottieCore) == null ? void 0 : n.activeAnimationId();\n  }\n  get activeThemeId() {\n    var n;\n    return (n = this._dotLottieCore) == null ? void 0 : n.activeThemeId();\n  }\n  get layout() {\n    var i;\n    let n = (i = this._dotLottieCore) == null ? void 0 : i.config().layout;\n    if (n)\n      return { align: [n.align.get(0), n.align.get(1)], fit: (() => {\n        var s, d, m, b, M, P;\n        switch (n.fit) {\n          case ((s = C2._wasmModule) == null ? void 0 : s.Fit.Contain):\n            return \"contain\";\n          case ((d = C2._wasmModule) == null ? void 0 : d.Fit.Cover):\n            return \"cover\";\n          case ((m = C2._wasmModule) == null ? void 0 : m.Fit.Fill):\n            return \"fill\";\n          case ((b = C2._wasmModule) == null ? void 0 : b.Fit.FitHeight):\n            return \"fit-height\";\n          case ((M = C2._wasmModule) == null ? void 0 : M.Fit.FitWidth):\n            return \"fit-width\";\n          case ((P = C2._wasmModule) == null ? void 0 : P.Fit.None):\n            return \"none\";\n          default:\n            return \"contain\";\n        }\n      })() };\n  }\n  get marker() {\n    var i;\n    return (i = this._dotLottieCore) == null ? void 0 : i.config().marker;\n  }\n  get manifest() {\n    var n;\n    try {\n      let i = (n = this._dotLottieCore) == null ? void 0 : n.manifestString();\n      if (this._dotLottieCore === null || !i)\n        return null;\n      let s = JSON.parse(i);\n      return Object.keys(s).length === 0 ? null : s;\n    } catch (i) {\n      return null;\n    }\n  }\n  get renderConfig() {\n    return this._renderConfig;\n  }\n  get segment() {\n    var i;\n    let n = (i = this._dotLottieCore) == null ? void 0 : i.config().segment;\n    if (n && n.size() === 2)\n      return [n.get(0), n.get(1)];\n  }\n  get loop() {\n    var n, i;\n    return (i = (n = this._dotLottieCore) == null ? void 0 : n.config().loopAnimation) != null ? i : false;\n  }\n  get mode() {\n    var i, s, d, m;\n    let n = (i = this._dotLottieCore) == null ? void 0 : i.config().mode;\n    return n === ((s = C2._wasmModule) == null ? void 0 : s.Mode.Reverse) ? \"reverse\" : n === ((d = C2._wasmModule) == null ? void 0 : d.Mode.Bounce) ? \"bounce\" : n === ((m = C2._wasmModule) == null ? void 0 : m.Mode.ReverseBounce) ? \"reverse-bounce\" : \"forward\";\n  }\n  get isFrozen() {\n    return this._isFrozen;\n  }\n  get backgroundColor() {\n    var n;\n    return (n = this._backgroundColor) != null ? n : \"\";\n  }\n  get autoplay() {\n    var n, i;\n    return (i = (n = this._dotLottieCore) == null ? void 0 : n.config().autoplay) != null ? i : false;\n  }\n  get useFrameInterpolation() {\n    var n, i;\n    return (i = (n = this._dotLottieCore) == null ? void 0 : n.config().useFrameInterpolation) != null ? i : false;\n  }\n  get speed() {\n    var n, i;\n    return (i = (n = this._dotLottieCore) == null ? void 0 : n.config().speed) != null ? i : 0;\n  }\n  get isReady() {\n    return this._dotLottieCore !== null;\n  }\n  get isLoaded() {\n    var n, i;\n    return (i = (n = this._dotLottieCore) == null ? void 0 : n.isLoaded()) != null ? i : false;\n  }\n  get isPlaying() {\n    var n, i;\n    return (i = (n = this._dotLottieCore) == null ? void 0 : n.isPlaying()) != null ? i : false;\n  }\n  get isPaused() {\n    var n, i;\n    return (i = (n = this._dotLottieCore) == null ? void 0 : n.isPaused()) != null ? i : false;\n  }\n  get isStopped() {\n    var n, i;\n    return (i = (n = this._dotLottieCore) == null ? void 0 : n.isStopped()) != null ? i : false;\n  }\n  get currentFrame() {\n    var n, i;\n    return (i = (n = this._dotLottieCore) == null ? void 0 : n.currentFrame()) != null ? i : 0;\n  }\n  get loopCount() {\n    var n, i;\n    return (i = (n = this._dotLottieCore) == null ? void 0 : n.loopCount()) != null ? i : 0;\n  }\n  get totalFrames() {\n    var n, i;\n    return (i = (n = this._dotLottieCore) == null ? void 0 : n.totalFrames()) != null ? i : 0;\n  }\n  get duration() {\n    var n, i;\n    return (i = (n = this._dotLottieCore) == null ? void 0 : n.duration()) != null ? i : 0;\n  }\n  get segmentDuration() {\n    var n, i;\n    return (i = (n = this._dotLottieCore) == null ? void 0 : n.segmentDuration()) != null ? i : 0;\n  }\n  get canvas() {\n    return this._canvas;\n  }\n  load(n) {\n    var i, s, d, m, b, M, P, R, z;\n    this._dotLottieCore === null || C2._wasmModule === null || (this._animationFrameId !== null && (this._frameManager.cancelAnimationFrame(this._animationFrameId), this._animationFrameId = null), this._dotLottieCore.setConfig({ themeId: (i = n.themeId) != null ? i : \"\", autoplay: (s = n.autoplay) != null ? s : false, backgroundColor: 0, loopAnimation: (d = n.loop) != null ? d : false, mode: m2((m = n.mode) != null ? m : \"forward\", C2._wasmModule), segment: y2((b = n.segment) != null ? b : [], C2._wasmModule), speed: (M = n.speed) != null ? M : 1, useFrameInterpolation: (P = n.useFrameInterpolation) != null ? P : true, marker: (R = n.marker) != null ? R : \"\", layout: n.layout ? { align: g2(n.layout.align, C2._wasmModule), fit: _2(n.layout.fit, C2._wasmModule) } : C2._wasmModule.createDefaultLayout() }), n.data ? this._loadFromData(n.data) : n.src && this._loadFromSrc(n.src), this.setBackgroundColor((z = n.backgroundColor) != null ? z : \"\"));\n  }\n  _render() {\n    if (this._dotLottieCore === null || this._context === null)\n      return false;\n    if (this._dotLottieCore.render()) {\n      let i = this._dotLottieCore.buffer(), s = new Uint8ClampedArray(i, 0, this._canvas.width * this._canvas.height * 4), d = null;\n      return typeof ImageData == \"undefined\" ? (d = this._context.createImageData(this._canvas.width, this._canvas.height), d.data.set(s)) : d = new ImageData(s, this._canvas.width, this._canvas.height), this._context.putImageData(d, 0, 0), this._eventManager.dispatch({ type: \"render\", currentFrame: this._dotLottieCore.currentFrame() }), true;\n    }\n    return false;\n  }\n  _draw() {\n    if (this._dotLottieCore === null || this._context === null || !this._dotLottieCore.isPlaying())\n      return;\n    let n = this._dotLottieCore.requestFrame();\n    this._dotLottieCore.setFrame(n) && (this._eventManager.dispatch({ type: \"frame\", currentFrame: this._dotLottieCore.currentFrame() }), this._render() && this._dotLottieCore.isComplete() && (this._dotLottieCore.config().loopAnimation ? this._eventManager.dispatch({ type: \"loop\", loopCount: this._dotLottieCore.loopCount() }) : this._eventManager.dispatch({ type: \"complete\" }))), this._animationFrameId = this._frameManager.requestAnimationFrame(this._draw.bind(this));\n  }\n  play() {\n    if (this._dotLottieCore === null)\n      return;\n    (this._dotLottieCore.play() || this._dotLottieCore.isPlaying()) && (this._isFrozen = false, this._eventManager.dispatch({ type: \"play\" }), this._animationFrameId = this._frameManager.requestAnimationFrame(this._draw.bind(this))), A && this._canvas instanceof HTMLCanvasElement && this._renderConfig.freezeOnOffscreen && !$1(this._canvas) && this.freeze();\n  }\n  pause() {\n    if (this._dotLottieCore === null)\n      return;\n    (this._dotLottieCore.pause() || this._dotLottieCore.isPaused()) && this._eventManager.dispatch({ type: \"pause\" });\n  }\n  stop() {\n    if (this._dotLottieCore === null)\n      return;\n    this._dotLottieCore.stop() && (this._eventManager.dispatch({ type: \"frame\", currentFrame: this._dotLottieCore.currentFrame() }), this._render(), this._eventManager.dispatch({ type: \"stop\" }));\n  }\n  setFrame(n) {\n    if (this._dotLottieCore === null || n < 0 || n > this._dotLottieCore.totalFrames())\n      return;\n    this._dotLottieCore.seek(n) && (this._eventManager.dispatch({ type: \"frame\", currentFrame: this._dotLottieCore.currentFrame() }), this._render());\n  }\n  setSpeed(n) {\n    this._dotLottieCore !== null && this._dotLottieCore.setConfig(k(F({}, this._dotLottieCore.config()), { speed: n }));\n  }\n  setBackgroundColor(n) {\n    this._dotLottieCore !== null && (A && this._canvas instanceof HTMLCanvasElement ? this._canvas.style.backgroundColor = n : this._dotLottieCore.setConfig(k(F({}, this._dotLottieCore.config()), { backgroundColor: s3(n) })), this._backgroundColor = n);\n  }\n  setLoop(n) {\n    this._dotLottieCore !== null && this._dotLottieCore.setConfig(k(F({}, this._dotLottieCore.config()), { loopAnimation: n }));\n  }\n  setUseFrameInterpolation(n) {\n    this._dotLottieCore !== null && this._dotLottieCore.setConfig(k(F({}, this._dotLottieCore.config()), { useFrameInterpolation: n }));\n  }\n  addEventListener(n, i) {\n    this._eventManager.addEventListener(n, i);\n  }\n  removeEventListener(n, i) {\n    this._eventManager.removeEventListener(n, i);\n  }\n  destroy() {\n    var n;\n    A && this._canvas instanceof HTMLCanvasElement && (W.unobserve(this._canvas), $.unobserve(this._canvas)), (n = this._dotLottieCore) == null || n.delete(), this._dotLottieCore = null, this._context = null, this._eventManager.dispatch({ type: \"destroy\" }), this._eventManager.removeAllEventListeners(), this._cleanupStateMachineListeners();\n  }\n  freeze() {\n    this._animationFrameId !== null && (this._frameManager.cancelAnimationFrame(this._animationFrameId), this._animationFrameId = null, this._isFrozen = true, this._eventManager.dispatch({ type: \"freeze\" }));\n  }\n  unfreeze() {\n    this._animationFrameId === null && (this._animationFrameId = this._frameManager.requestAnimationFrame(this._draw.bind(this)), this._isFrozen = false, this._eventManager.dispatch({ type: \"unfreeze\" }));\n  }\n  resize() {\n    if (!this._dotLottieCore || !this.isLoaded)\n      return;\n    if (A && this._canvas instanceof HTMLCanvasElement) {\n      let i = this._renderConfig.devicePixelRatio || window.devicePixelRatio || 1, { height: s, width: d } = this._canvas.getBoundingClientRect();\n      this._canvas.width = d * i, this._canvas.height = s * i;\n    }\n    this._dotLottieCore.resize(this._canvas.width, this._canvas.height) && this._render();\n  }\n  setSegment(n, i) {\n    this._dotLottieCore === null || C2._wasmModule === null || this._dotLottieCore.setConfig(k(F({}, this._dotLottieCore.config()), { segment: y2([n, i], C2._wasmModule) }));\n  }\n  setMode(n) {\n    this._dotLottieCore === null || C2._wasmModule === null || this._dotLottieCore.setConfig(k(F({}, this._dotLottieCore.config()), { mode: m2(n, C2._wasmModule) }));\n  }\n  setRenderConfig(n) {\n    let m = n, { devicePixelRatio: i, freezeOnOffscreen: s } = m, d = z1(m, [\"devicePixelRatio\", \"freezeOnOffscreen\"]);\n    this._renderConfig = k(F(F({}, this._renderConfig), d), { devicePixelRatio: i || Z(), freezeOnOffscreen: s != null ? s : true }), A && this._canvas instanceof HTMLCanvasElement && (this._renderConfig.autoResize ? $.observe(this._canvas, this) : $.unobserve(this._canvas), this._renderConfig.freezeOnOffscreen ? W.observe(this._canvas, this) : (W.unobserve(this._canvas), this._isFrozen && this.unfreeze()));\n  }\n  loadAnimation(n) {\n    if (this._dotLottieCore === null || this._dotLottieCore.activeAnimationId() === n)\n      return;\n    this._dotLottieCore.loadAnimation(n, this._canvas.width, this._canvas.height) ? (this._eventManager.dispatch({ type: \"load\" }), this.resize()) : this._eventManager.dispatch({ type: \"loadError\", error: new Error(`Failed to animation :${n}`) });\n  }\n  setMarker(n) {\n    this._dotLottieCore !== null && this._dotLottieCore.setConfig(k(F({}, this._dotLottieCore.config()), { marker: n }));\n  }\n  markers() {\n    var i;\n    let n = (i = this._dotLottieCore) == null ? void 0 : i.markers();\n    if (n) {\n      let s = [];\n      for (let d = 0; d < n.size(); d += 1) {\n        let m = n.get(d);\n        s.push({ name: m.name, time: m.time, duration: m.duration });\n      }\n      return s;\n    }\n    return [];\n  }\n  setTheme(n) {\n    if (this._dotLottieCore === null)\n      return false;\n    let i = this._dotLottieCore.setTheme(n);\n    return this._render(), i;\n  }\n  resetTheme() {\n    return this._dotLottieCore === null ? false : this._dotLottieCore.resetTheme();\n  }\n  setThemeData(n) {\n    if (this._dotLottieCore === null)\n      return false;\n    let i = this._dotLottieCore.setThemeData(n);\n    return this._render(), i;\n  }\n  setSlots(n) {\n    this._dotLottieCore !== null && this._dotLottieCore.setSlots(n);\n  }\n  setLayout(n) {\n    this._dotLottieCore === null || C2._wasmModule === null || this._dotLottieCore.setConfig(k(F({}, this._dotLottieCore.config()), { layout: { align: g2(n.align, C2._wasmModule), fit: _2(n.fit, C2._wasmModule) } }));\n  }\n  setViewport(n, i, s, d) {\n    return this._dotLottieCore === null ? false : this._dotLottieCore.setViewport(n, i, s, d);\n  }\n  static setWasmUrl(n) {\n    i1.setWasmUrl(n);\n  }\n  loadStateMachine(n) {\n    var i, s;\n    return (s = (i = this._dotLottieCore) == null ? void 0 : i.loadStateMachine(n)) != null ? s : false;\n  }\n  startStateMachine() {\n    var i, s;\n    let n = (s = (i = this._dotLottieCore) == null ? void 0 : i.startStateMachine()) != null ? s : false;\n    return n && this._setupStateMachineListeners(), n;\n  }\n  stopStateMachine() {\n    var i, s;\n    let n = (s = (i = this._dotLottieCore) == null ? void 0 : i.stopStateMachine()) != null ? s : false;\n    return n && this._cleanupStateMachineListeners(), n;\n  }\n  _getPointerPosition(n) {\n    let i = this._canvas.getBoundingClientRect(), s = this._canvas.width / i.width, d = this._canvas.height / i.height, m = this._renderConfig.devicePixelRatio || window.devicePixelRatio || 1, b = (n.clientX - i.left) * s / m, M = (n.clientY - i.top) * d / m;\n    return { x: b, y: M };\n  }\n  _onPointerUp(n) {\n    let { x: i, y: s } = this._getPointerPosition(n);\n    this.postPointerUpEvent(i, s);\n  }\n  _onPointerDown(n) {\n    let { x: i, y: s } = this._getPointerPosition(n);\n    this.postPointerDownEvent(i, s);\n  }\n  _onPointerMove(n) {\n    let { x: i, y: s } = this._getPointerPosition(n);\n    this.postPointerMoveEvent(i, s);\n  }\n  _onPointerEnter(n) {\n    let { x: i, y: s } = this._getPointerPosition(n);\n    this.postPointerEnterEvent(i, s);\n  }\n  _onPointerLeave(n) {\n    let { x: i, y: s } = this._getPointerPosition(n);\n    this.postPointerExitEvent(i, s);\n  }\n  postPointerUpEvent(n, i) {\n    var s;\n    return (s = this._dotLottieCore) == null ? void 0 : s.postPointerUpEvent(n, i);\n  }\n  postPointerDownEvent(n, i) {\n    var s;\n    return (s = this._dotLottieCore) == null ? void 0 : s.postPointerDownEvent(n, i);\n  }\n  postPointerMoveEvent(n, i) {\n    var s;\n    return (s = this._dotLottieCore) == null ? void 0 : s.postPointerMoveEvent(n, i);\n  }\n  postPointerEnterEvent(n, i) {\n    var s;\n    return (s = this._dotLottieCore) == null ? void 0 : s.postPointerEnterEvent(n, i);\n  }\n  postPointerExitEvent(n, i) {\n    var s;\n    return (s = this._dotLottieCore) == null ? void 0 : s.postPointerExitEvent(n, i);\n  }\n  getStateMachineListeners() {\n    if (!this._dotLottieCore)\n      return [];\n    let n = this._dotLottieCore.stateMachineFrameworkSetup(), i = [];\n    for (let s = 0; s < n.size(); s += 1)\n      i.push(n.get(s));\n    return i;\n  }\n  _setupStateMachineListeners() {\n    if (A && this._canvas instanceof HTMLCanvasElement && this._dotLottieCore !== null && this.isLoaded) {\n      let n = this.getStateMachineListeners();\n      n.includes(\"PointerUp\") && this._canvas.addEventListener(\"pointerup\", this._pointerUpMethod), n.includes(\"PointerDown\") && this._canvas.addEventListener(\"pointerdown\", this._pointerDownMethod), n.includes(\"PointerMove\") && this._canvas.addEventListener(\"pointermove\", this._pointerMoveMethod), n.includes(\"PointerEnter\") && this._canvas.addEventListener(\"pointerenter\", this._pointerEnterMethod), n.includes(\"PointerExit\") && this._canvas.addEventListener(\"pointerleave\", this._pointerExitMethod);\n    }\n  }\n  _cleanupStateMachineListeners() {\n    A && this._canvas instanceof HTMLCanvasElement && (this._canvas.removeEventListener(\"pointerup\", this._pointerUpMethod), this._canvas.removeEventListener(\"pointerdown\", this._pointerDownMethod), this._canvas.removeEventListener(\"pointermove\", this._pointerMoveMethod), this._canvas.removeEventListener(\"pointerenter\", this._pointerEnterMethod), this._canvas.removeEventListener(\"pointerleave\", this._pointerExitMethod));\n  }\n  loadStateMachineData(n) {\n    var i, s;\n    return (s = (i = this._dotLottieCore) == null ? void 0 : i.loadStateMachineData(n)) != null ? s : false;\n  }\n  animationSize() {\n    var s, d, m, b;\n    let n = (d = (s = this._dotLottieCore) == null ? void 0 : s.animationSize().get(0)) != null ? d : 0, i = (b = (m = this._dotLottieCore) == null ? void 0 : m.animationSize().get(1)) != null ? b : 0;\n    return { width: n, height: i };\n  }\n  setStateMachineBooleanContext(n, i) {\n    var s, d;\n    return (d = (s = this._dotLottieCore) == null ? void 0 : s.setStateMachineBooleanContext(n, i)) != null ? d : false;\n  }\n  setStateMachineNumericContext(n, i) {\n    var s, d;\n    return (d = (s = this._dotLottieCore) == null ? void 0 : s.setStateMachineNumericContext(n, i)) != null ? d : false;\n  }\n  setStateMachineStringContext(n, i) {\n    var s, d;\n    return (d = (s = this._dotLottieCore) == null ? void 0 : s.setStateMachineStringContext(n, i)) != null ? d : false;\n  }\n  getLayerBoundingBox(n) {\n    var M;\n    let i = (M = this._dotLottieCore) == null ? void 0 : M.getLayerBounds(n);\n    if (!i || i.size() !== 4)\n      return;\n    let s = i.get(0), d = i.get(1), m = i.get(2), b = i.get(3);\n    return { x: s, y: d, width: m, height: b };\n  }\n  static transformThemeToLottieSlots(n, i) {\n    var s, d;\n    return (d = (s = C2._wasmModule) == null ? void 0 : s.transformThemeToLottieSlots(n, i)) != null ? d : \"\";\n  }\n};\n_(C, \"_wasmModule\", null);\nvar d3 = C;\nvar w2 = class {\n  constructor() {\n    if (typeof Worker == \"undefined\")\n      throw new Error(\"Worker is not supported in this environment.\");\n    let n = new Blob([new Uint8Array([34, 117, 115, 101, 32, 115, 116, 114, 105, 99, 116, 34, 59, 10, 40, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 118, 97, 114, 32, 95, 95, 100, 101, 102, 80, 114, 111, 112, 32, 61, 32, 79, 98, 106, 101, 99, 116, 46, 100, 101, 102, 105, 110, 101, 80, 114, 111, 112, 101, 114, 116, 121, 59, 10, 32, 32, 118, 97, 114, 32, 95, 95, 100, 101, 102, 80, 114, 111, 112, 115, 32, 61, 32, 79, 98, 106, 101, 99, 116, 46, 100, 101, 102, 105, 110, 101, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 59, 10, 32, 32, 118, 97, 114, 32, 95, 95, 103, 101, 116, 79, 119, 110, 80, 114, 111, 112, 68, 101, 115, 99, 115, 32, 61, 32, 79, 98, 106, 101, 99, 116, 46, 103, 101, 116, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 68, 101, 115, 99, 114, 105, 112, 116, 111, 114, 115, 59, 10, 32, 32, 118, 97, 114, 32, 95, 95, 103, 101, 116, 79, 119, 110, 80, 114, 111, 112, 83, 121, 109, 98, 111, 108, 115, 32, 61, 32, 79, 98, 106, 101, 99, 116, 46, 103, 101, 116, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 83, 121, 109, 98, 111, 108, 115, 59, 10, 32, 32, 118, 97, 114, 32, 95, 95, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 32, 61, 32, 79, 98, 106, 101, 99, 116, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 59, 10, 32, 32, 118, 97, 114, 32, 95, 95, 112, 114, 111, 112, 73, 115, 69, 110, 117, 109, 32, 61, 32, 79, 98, 106, 101, 99, 116, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 46, 112, 114, 111, 112, 101, 114, 116, 121, 73, 115, 69, 110, 117, 109, 101, 114, 97, 98, 108, 101, 59, 10, 32, 32, 118, 97, 114, 32, 95, 95, 100, 101, 102, 78, 111, 114, 109, 97, 108, 80, 114, 111, 112, 32, 61, 32, 40, 111, 98, 106, 44, 32, 107, 101, 121, 44, 32, 118, 97, 108, 117, 101, 41, 32, 61, 62, 32, 107, 101, 121, 32, 105, 110, 32, 111, 98, 106, 32, 63, 32, 95, 95, 100, 101, 102, 80, 114, 111, 112, 40, 111, 98, 106, 44, 32, 107, 101, 121, 44, 32, 123, 32, 101, 110, 117, 109, 101, 114, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 44, 32, 99, 111, 110, 102, 105, 103, 117, 114, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 44, 32, 119, 114, 105, 116, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 44, 32, 118, 97, 108, 117, 101, 32, 125, 41, 32, 58, 32, 111, 98, 106, 91, 107, 101, 121, 93, 32, 61, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 118, 97, 114, 32, 95, 95, 115, 112, 114, 101, 97, 100, 86, 97, 108, 117, 101, 115, 32, 61, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 112, 114, 111, 112, 32, 105, 110, 32, 98, 32, 124, 124, 32, 40, 98, 32, 61, 32, 123, 125, 41, 41, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 95, 95, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 46, 99, 97, 108, 108, 40, 98, 44, 32, 112, 114, 111, 112, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 95, 95, 100, 101, 102, 78, 111, 114, 109, 97, 108, 80, 114, 111, 112, 40, 97, 44, 32, 112, 114, 111, 112, 44, 32, 98, 91, 112, 114, 111, 112, 93, 41, 59, 10, 32, 32, 32, 32, 105, 102, 32, 40, 95, 95, 103, 101, 116, 79, 119, 110, 80, 114, 111, 112, 83, 121, 109, 98, 111, 108, 115, 41, 10, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 112, 114, 111, 112, 32, 111, 102, 32, 95, 95, 103, 101, 116, 79, 119, 110, 80, 114, 111, 112, 83, 121, 109, 98, 111, 108, 115, 40, 98, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 95, 95, 112, 114, 111, 112, 73, 115, 69, 110, 117, 109, 46, 99, 97, 108, 108, 40, 98, 44, 32, 112, 114, 111, 112, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 95, 95, 100, 101, 102, 78, 111, 114, 109, 97, 108, 80, 114, 111, 112, 40, 97, 44, 32, 112, 114, 111, 112, 44, 32, 98, 91, 112, 114, 111, 112, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 59, 10, 32, 32, 125, 59, 10, 32, 32, 118, 97, 114, 32, 95, 95, 115, 112, 114, 101, 97, 100, 80, 114, 111, 112, 115, 32, 61, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 95, 95, 100, 101, 102, 80, 114, 111, 112, 115, 40, 97, 44, 32, 95, 95, 103, 101, 116, 79, 119, 110, 80, 114, 111, 112, 68, 101, 115, 99, 115, 40, 98, 41, 41, 59, 10, 32, 32, 118, 97, 114, 32, 95, 95, 111, 98, 106, 82, 101, 115, 116, 32, 61, 32, 40, 115, 111, 117, 114, 99, 101, 44, 32, 101, 120, 99, 108, 117, 100, 101, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 118, 97, 114, 32, 116, 97, 114, 103, 101, 116, 32, 61, 32, 123, 125, 59, 10, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 112, 114, 111, 112, 32, 105, 110, 32, 115, 111, 117, 114, 99, 101, 41, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 95, 95, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 46, 99, 97, 108, 108, 40, 115, 111, 117, 114, 99, 101, 44, 32, 112, 114, 111, 112, 41, 32, 38, 38, 32, 101, 120, 99, 108, 117, 100, 101, 46, 105, 110, 100, 101, 120, 79, 102, 40, 112, 114, 111, 112, 41, 32, 60, 32, 48, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 97, 114, 103, 101, 116, 91, 112, 114, 111, 112, 93, 32, 61, 32, 115, 111, 117, 114, 99, 101, 91, 112, 114, 111, 112, 93, 59, 10, 32, 32, 32, 32, 105, 102, 32, 40, 115, 111, 117, 114, 99, 101, 32, 33, 61, 32, 110, 117, 108, 108, 32, 38, 38, 32, 95, 95, 103, 101, 116, 79, 119, 110, 80, 114, 111, 112, 83, 121, 109, 98, 111, 108, 115, 41, 10, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 112, 114, 111, 112, 32, 111, 102, 32, 95, 95, 103, 101, 116, 79, 119, 110, 80, 114, 111, 112, 83, 121, 109, 98, 111, 108, 115, 40, 115, 111, 117, 114, 99, 101, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 101, 120, 99, 108, 117, 100, 101, 46, 105, 110, 100, 101, 120, 79, 102, 40, 112, 114, 111, 112, 41, 32, 60, 32, 48, 32, 38, 38, 32, 95, 95, 112, 114, 111, 112, 73, 115, 69, 110, 117, 109, 46, 99, 97, 108, 108, 40, 115, 111, 117, 114, 99, 101, 44, 32, 112, 114, 111, 112, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 97, 114, 103, 101, 116, 91, 112, 114, 111, 112, 93, 32, 61, 32, 115, 111, 117, 114, 99, 101, 91, 112, 114, 111, 112, 93, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 97, 114, 103, 101, 116, 59, 10, 32, 32, 125, 59, 10, 32, 32, 118, 97, 114, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 32, 61, 32, 40, 111, 98, 106, 44, 32, 107, 101, 121, 44, 32, 118, 97, 108, 117, 101, 41, 32, 61, 62, 32, 95, 95, 100, 101, 102, 78, 111, 114, 109, 97, 108, 80, 114, 111, 112, 40, 111, 98, 106, 44, 32, 116, 121, 112, 101, 111, 102, 32, 107, 101, 121, 32, 33, 61, 61, 32, 34, 115, 121, 109, 98, 111, 108, 34, 32, 63, 32, 107, 101, 121, 32, 43, 32, 34, 34, 32, 58, 32, 107, 101, 121, 44, 32, 118, 97, 108, 117, 101, 41, 59, 10, 32, 32, 118, 97, 114, 32, 95, 95, 97, 115, 121, 110, 99, 32, 61, 32, 40, 95, 95, 116, 104, 105, 115, 44, 32, 95, 95, 97, 114, 103, 117, 109, 101, 110, 116, 115, 44, 32, 103, 101, 110, 101, 114, 97, 116, 111, 114, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 80, 114, 111, 109, 105, 115, 101, 40, 40, 114, 101, 115, 111, 108, 118, 101, 44, 32, 114, 101, 106, 101, 99, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 117, 108, 102, 105, 108, 108, 101, 100, 32, 61, 32, 40, 118, 97, 108, 117, 101, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 101, 112, 40, 103, 101, 110, 101, 114, 97, 116, 111, 114, 46, 110, 101, 120, 116, 40, 118, 97, 108, 117, 101, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 106, 101, 99, 116, 40, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 114, 101, 106, 101, 99, 116, 101, 100, 32, 61, 32, 40, 118, 97, 108, 117, 101, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 101, 112, 40, 103, 101, 110, 101, 114, 97, 116, 111, 114, 46, 116, 104, 114, 111, 119, 40, 118, 97, 108, 117, 101, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 106, 101, 99, 116, 40, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 116, 101, 112, 32, 61, 32, 40, 120, 41, 32, 61, 62, 32, 120, 46, 100, 111, 110, 101, 32, 63, 32, 114, 101, 115, 111, 108, 118, 101, 40, 120, 46, 118, 97, 108, 117, 101, 41, 32, 58, 32, 80, 114, 111, 109, 105, 115, 101, 46, 114, 101, 115, 111, 108, 118, 101, 40, 120, 46, 118, 97, 108, 117, 101, 41, 46, 116, 104, 101, 110, 40, 102, 117, 108, 102, 105, 108, 108, 101, 100, 44, 32, 114, 101, 106, 101, 99, 116, 101, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 115, 116, 101, 112, 40, 40, 103, 101, 110, 101, 114, 97, 116, 111, 114, 32, 61, 32, 103, 101, 110, 101, 114, 97, 116, 111, 114, 46, 97, 112, 112, 108, 121, 40, 95, 95, 116, 104, 105, 115, 44, 32, 95, 95, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 41, 46, 110, 101, 120, 116, 40, 41, 41, 59, 10, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 125, 59, 10, 10, 32, 32, 47, 47, 32, 115, 114, 99, 47, 97, 110, 105, 109, 97, 116, 105, 111, 110, 45, 102, 114, 97, 109, 101, 45, 109, 97, 110, 97, 103, 101, 114, 46, 116, 115, 10, 32, 32, 118, 97, 114, 32, 87, 101, 98, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 83, 116, 114, 97, 116, 101, 103, 121, 32, 61, 32, 99, 108, 97, 115, 115, 32, 123, 10, 32, 32, 32, 32, 114, 101, 113, 117, 101, 115, 116, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 40, 99, 97, 108, 108, 98, 97, 99, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 101, 113, 117, 101, 115, 116, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 40, 99, 97, 108, 108, 98, 97, 99, 107, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 99, 97, 110, 99, 101, 108, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 40, 105, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 97, 110, 99, 101, 108, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 40, 105, 100, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 125, 59, 10, 32, 32, 118, 97, 114, 32, 78, 111, 100, 101, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 83, 116, 114, 97, 116, 101, 103, 121, 32, 61, 32, 99, 108, 97, 115, 115, 32, 123, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 108, 97, 115, 116, 72, 97, 110, 100, 108, 101, 73, 100, 34, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 108, 97, 115, 116, 73, 109, 109, 101, 100, 105, 97, 116, 101, 34, 44, 32, 110, 117, 108, 108, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 114, 101, 113, 117, 101, 115, 116, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 40, 99, 97, 108, 108, 98, 97, 99, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 108, 97, 115, 116, 72, 97, 110, 100, 108, 101, 73, 100, 32, 62, 61, 32, 78, 117, 109, 98, 101, 114, 46, 77, 65, 88, 95, 83, 65, 70, 69, 95, 73, 78, 84, 69, 71, 69, 82, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 97, 115, 116, 72, 97, 110, 100, 108, 101, 73, 100, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 97, 115, 116, 72, 97, 110, 100, 108, 101, 73, 100, 32, 43, 61, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 97, 115, 116, 73, 109, 109, 101, 100, 105, 97, 116, 101, 32, 61, 32, 115, 101, 116, 73, 109, 109, 101, 100, 105, 97, 116, 101, 40, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 108, 108, 98, 97, 99, 107, 40, 68, 97, 116, 101, 46, 110, 111, 119, 40, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 108, 97, 115, 116, 72, 97, 110, 100, 108, 101, 73, 100, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 99, 97, 110, 99, 101, 108, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 40, 95, 105, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 108, 97, 115, 116, 73, 109, 109, 101, 100, 105, 97, 116, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 101, 97, 114, 73, 109, 109, 101, 100, 105, 97, 116, 101, 40, 116, 104, 105, 115, 46, 95, 108, 97, 115, 116, 73, 109, 109, 101, 100, 105, 97, 116, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 125, 59, 10, 32, 32, 118, 97, 114, 32, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 77, 97, 110, 97, 103, 101, 114, 32, 61, 32, 99, 108, 97, 115, 115, 32, 123, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 115, 116, 114, 97, 116, 101, 103, 121, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 115, 116, 114, 97, 116, 101, 103, 121, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 114, 101, 113, 117, 101, 115, 116, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 110, 101, 119, 32, 87, 101, 98, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 83, 116, 114, 97, 116, 101, 103, 121, 40, 41, 32, 58, 32, 110, 101, 119, 32, 78, 111, 100, 101, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 83, 116, 114, 97, 116, 101, 103, 121, 40, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 114, 101, 113, 117, 101, 115, 116, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 40, 99, 97, 108, 108, 98, 97, 99, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 115, 116, 114, 97, 116, 101, 103, 121, 46, 114, 101, 113, 117, 101, 115, 116, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 40, 99, 97, 108, 108, 98, 97, 99, 107, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 99, 97, 110, 99, 101, 108, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 40, 105, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 115, 116, 114, 97, 116, 101, 103, 121, 46, 99, 97, 110, 99, 101, 108, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 40, 105, 100, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 125, 59, 10, 10, 32, 32, 47, 47, 32, 115, 114, 99, 47, 99, 111, 110, 115, 116, 97, 110, 116, 115, 46, 116, 115, 10, 32, 32, 118, 97, 114, 32, 73, 83, 95, 66, 82, 79, 87, 83, 69, 82, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 119, 105, 110, 100, 111, 119, 32, 33, 61, 61, 32, 34, 117, 110, 100, 101, 102, 105, 110, 101, 100, 34, 32, 38, 38, 32, 116, 121, 112, 101, 111, 102, 32, 119, 105, 110, 100, 111, 119, 46, 100, 111, 99, 117, 109, 101, 110, 116, 32, 33, 61, 61, 32, 34, 117, 110, 100, 101, 102, 105, 110, 101, 100, 34, 59, 10, 32, 32, 118, 97, 114, 32, 90, 73, 80, 95, 83, 73, 71, 78, 65, 84, 85, 82, 69, 32, 61, 32, 110, 101, 119, 32, 85, 105, 110, 116, 56, 65, 114, 114, 97, 121, 40, 91, 56, 48, 44, 32, 55, 53, 44, 32, 51, 44, 32, 52, 93, 41, 59, 10, 32, 32, 118, 97, 114, 32, 76, 79, 84, 84, 73, 69, 95, 74, 83, 79, 78, 95, 77, 65, 78, 68, 65, 84, 79, 82, 89, 95, 70, 73, 69, 76, 68, 83, 32, 61, 32, 91, 34, 118, 34, 44, 32, 34, 105, 112, 34, 44, 32, 34, 111, 112, 34, 44, 32, 34, 108, 97, 121, 101, 114, 115, 34, 44, 32, 34, 102, 114, 34, 44, 32, 34, 119, 34, 44, 32, 34, 104, 34, 93, 59, 10, 32, 32, 118, 97, 114, 32, 80, 65, 67, 75, 65, 71, 69, 95, 86, 69, 82, 83, 73, 79, 78, 32, 61, 32, 34, 48, 46, 51, 56, 46, 49, 34, 59, 10, 32, 32, 118, 97, 114, 32, 80, 65, 67, 75, 65, 71, 69, 95, 78, 65, 77, 69, 32, 61, 32, 34, 64, 108, 111, 116, 116, 105, 101, 102, 105, 108, 101, 115, 47, 100, 111, 116, 108, 111, 116, 116, 105, 101, 45, 119, 101, 98, 34, 59, 10, 32, 32, 118, 97, 114, 32, 68, 69, 70, 65, 85, 76, 84, 95, 68, 80, 82, 95, 70, 65, 67, 84, 79, 82, 32, 61, 32, 48, 46, 55, 53, 59, 10, 10, 32, 32, 47, 47, 32, 115, 114, 99, 47, 99, 111, 114, 101, 47, 100, 111, 116, 108, 111, 116, 116, 105, 101, 45, 112, 108, 97, 121, 101, 114, 46, 106, 115, 10, 32, 32, 118, 97, 114, 32, 99, 114, 101, 97, 116, 101, 68, 111, 116, 76, 111, 116, 116, 105, 101, 80, 108, 97, 121, 101, 114, 77, 111, 100, 117, 108, 101, 32, 61, 32, 40, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 95, 115, 99, 114, 105, 112, 116, 78, 97, 109, 101, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 100, 111, 99, 117, 109, 101, 110, 116, 32, 33, 61, 32, 34, 117, 110, 100, 101, 102, 105, 110, 101, 100, 34, 32, 63, 32, 40, 95, 97, 32, 61, 32, 100, 111, 99, 117, 109, 101, 110, 116, 46, 99, 117, 114, 114, 101, 110, 116, 83, 99, 114, 105, 112, 116, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 115, 114, 99, 32, 58, 32, 118, 111, 105, 100, 32, 48, 59, 10, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 109, 111, 100, 117, 108, 101, 65, 114, 103, 32, 61, 32, 123, 125, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 109, 111, 100, 117, 108, 101, 82, 116, 110, 59, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 107, 32, 61, 32, 109, 111, 100, 117, 108, 101, 65, 114, 103, 44, 32, 97, 97, 44, 32, 98, 97, 44, 32, 99, 97, 32, 61, 32, 110, 101, 119, 32, 80, 114, 111, 109, 105, 115, 101, 40, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 97, 32, 61, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 97, 32, 61, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 125, 41, 44, 32, 102, 97, 32, 61, 32, 79, 98, 106, 101, 99, 116, 46, 97, 115, 115, 105, 103, 110, 40, 123, 125, 44, 32, 107, 41, 44, 32, 104, 97, 32, 61, 32, 34, 46, 47, 116, 104, 105, 115, 46, 112, 114, 111, 103, 114, 97, 109, 34, 44, 32, 112, 32, 61, 32, 34, 34, 44, 32, 105, 97, 59, 10, 32, 32, 32, 32, 32, 32, 34, 117, 110, 100, 101, 102, 105, 110, 101, 100, 34, 32, 33, 61, 32, 116, 121, 112, 101, 111, 102, 32, 100, 111, 99, 117, 109, 101, 110, 116, 32, 38, 38, 32, 100, 111, 99, 117, 109, 101, 110, 116, 46, 99, 117, 114, 114, 101, 110, 116, 83, 99, 114, 105, 112, 116, 32, 38, 38, 32, 40, 112, 32, 61, 32, 100, 111, 99, 117, 109, 101, 110, 116, 46, 99, 117, 114, 114, 101, 110, 116, 83, 99, 114, 105, 112, 116, 46, 115, 114, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 95, 115, 99, 114, 105, 112, 116, 78, 97, 109, 101, 32, 38, 38, 32, 40, 112, 32, 61, 32, 95, 115, 99, 114, 105, 112, 116, 78, 97, 109, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 112, 46, 115, 116, 97, 114, 116, 115, 87, 105, 116, 104, 40, 34, 98, 108, 111, 98, 58, 34, 41, 32, 63, 32, 112, 32, 61, 32, 34, 34, 32, 58, 32, 112, 32, 61, 32, 112, 46, 115, 117, 98, 115, 116, 114, 40, 48, 44, 32, 112, 46, 114, 101, 112, 108, 97, 99, 101, 40, 47, 91, 63, 35, 93, 46, 42, 47, 44, 32, 34, 34, 41, 46, 108, 97, 115, 116, 73, 110, 100, 101, 120, 79, 102, 40, 34, 47, 34, 41, 32, 43, 32, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 97, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 102, 101, 116, 99, 104, 40, 97, 44, 32, 123, 32, 99, 114, 101, 100, 101, 110, 116, 105, 97, 108, 115, 58, 32, 34, 115, 97, 109, 101, 45, 111, 114, 105, 103, 105, 110, 34, 32, 125, 41, 46, 116, 104, 101, 110, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 40, 98, 41, 32, 61, 62, 32, 98, 46, 111, 107, 32, 63, 32, 98, 46, 97, 114, 114, 97, 121, 66, 117, 102, 102, 101, 114, 40, 41, 32, 58, 32, 80, 114, 111, 109, 105, 115, 101, 46, 114, 101, 106, 101, 99, 116, 40, 69, 114, 114, 111, 114, 40, 98, 46, 115, 116, 97, 116, 117, 115, 32, 43, 32, 34, 32, 58, 32, 34, 32, 43, 32, 98, 46, 117, 114, 108, 41, 41, 10, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 106, 97, 32, 61, 32, 107, 46, 112, 114, 105, 110, 116, 32, 124, 124, 32, 99, 111, 110, 115, 111, 108, 101, 46, 108, 111, 103, 46, 98, 105, 110, 100, 40, 99, 111, 110, 115, 111, 108, 101, 41, 44, 32, 116, 32, 61, 32, 107, 46, 112, 114, 105, 110, 116, 69, 114, 114, 32, 124, 124, 32, 99, 111, 110, 115, 111, 108, 101, 46, 101, 114, 114, 111, 114, 46, 98, 105, 110, 100, 40, 99, 111, 110, 115, 111, 108, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 79, 98, 106, 101, 99, 116, 46, 97, 115, 115, 105, 103, 110, 40, 107, 44, 32, 102, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 102, 97, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 107, 46, 116, 104, 105, 115, 80, 114, 111, 103, 114, 97, 109, 32, 38, 38, 32, 40, 104, 97, 32, 61, 32, 107, 46, 116, 104, 105, 115, 80, 114, 111, 103, 114, 97, 109, 41, 59, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 107, 97, 32, 61, 32, 107, 46, 119, 97, 115, 109, 66, 105, 110, 97, 114, 121, 44, 32, 108, 97, 44, 32, 109, 97, 32, 61, 32, 102, 97, 108, 115, 101, 44, 32, 110, 97, 44, 32, 118, 44, 32, 120, 44, 32, 121, 44, 32, 122, 44, 32, 67, 44, 32, 68, 44, 32, 111, 97, 44, 32, 112, 97, 59, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 113, 97, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 97, 32, 61, 32, 108, 97, 46, 98, 117, 102, 102, 101, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 107, 46, 72, 69, 65, 80, 56, 32, 61, 32, 118, 32, 61, 32, 110, 101, 119, 32, 73, 110, 116, 56, 65, 114, 114, 97, 121, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 107, 46, 72, 69, 65, 80, 49, 54, 32, 61, 32, 121, 32, 61, 32, 110, 101, 119, 32, 73, 110, 116, 49, 54, 65, 114, 114, 97, 121, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 107, 46, 72, 69, 65, 80, 85, 56, 32, 61, 32, 120, 32, 61, 32, 110, 101, 119, 32, 85, 105, 110, 116, 56, 65, 114, 114, 97, 121, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 107, 46, 72, 69, 65, 80, 85, 49, 54, 32, 61, 32, 122, 32, 61, 32, 110, 101, 119, 32, 85, 105, 110, 116, 49, 54, 65, 114, 114, 97, 121, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 107, 46, 72, 69, 65, 80, 51, 50, 32, 61, 32, 67, 32, 61, 32, 110, 101, 119, 32, 73, 110, 116, 51, 50, 65, 114, 114, 97, 121, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 107, 46, 72, 69, 65, 80, 85, 51, 50, 32, 61, 32, 68, 32, 61, 32, 110, 101, 119, 32, 85, 105, 110, 116, 51, 50, 65, 114, 114, 97, 121, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 107, 46, 72, 69, 65, 80, 70, 51, 50, 32, 61, 32, 111, 97, 32, 61, 32, 110, 101, 119, 32, 70, 108, 111, 97, 116, 51, 50, 65, 114, 114, 97, 121, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 107, 46, 72, 69, 65, 80, 70, 54, 52, 32, 61, 32, 112, 97, 32, 61, 32, 110, 101, 119, 32, 70, 108, 111, 97, 116, 54, 52, 65, 114, 114, 97, 121, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 114, 97, 32, 61, 32, 91, 93, 44, 32, 115, 97, 32, 61, 32, 91, 93, 44, 32, 116, 97, 32, 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 117, 97, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 97, 32, 61, 32, 107, 46, 112, 114, 101, 82, 117, 110, 46, 115, 104, 105, 102, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, 46, 117, 110, 115, 104, 105, 102, 116, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 70, 32, 61, 32, 48, 44, 32, 118, 97, 32, 61, 32, 110, 117, 108, 108, 44, 32, 71, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 119, 97, 40, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 40, 95, 97, 50, 32, 61, 32, 107, 46, 111, 110, 65, 98, 111, 114, 116, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 50, 46, 99, 97, 108, 108, 40, 107, 44, 32, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 34, 65, 98, 111, 114, 116, 101, 100, 40, 34, 32, 43, 32, 97, 32, 43, 32, 34, 41, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 97, 32, 61, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 110, 101, 119, 32, 87, 101, 98, 65, 115, 115, 101, 109, 98, 108, 121, 46, 82, 117, 110, 116, 105, 109, 101, 69, 114, 114, 111, 114, 40, 97, 32, 43, 32, 34, 46, 32, 66, 117, 105, 108, 100, 32, 119, 105, 116, 104, 32, 45, 115, 65, 83, 83, 69, 82, 84, 73, 79, 78, 83, 32, 102, 111, 114, 32, 109, 111, 114, 101, 32, 105, 110, 102, 111, 46, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 97, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, 97, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 97, 46, 115, 116, 97, 114, 116, 115, 87, 105, 116, 104, 40, 34, 100, 97, 116, 97, 58, 97, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 47, 111, 99, 116, 101, 116, 45, 115, 116, 114, 101, 97, 109, 59, 98, 97, 115, 101, 54, 52, 44, 34, 41, 44, 32, 121, 97, 59, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 122, 97, 40, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, 32, 61, 61, 32, 121, 97, 32, 38, 38, 32, 107, 97, 41, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 85, 105, 110, 116, 56, 65, 114, 114, 97, 121, 40, 107, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 34, 98, 111, 116, 104, 32, 97, 115, 121, 110, 99, 32, 97, 110, 100, 32, 115, 121, 110, 99, 32, 102, 101, 116, 99, 104, 105, 110, 103, 32, 111, 102, 32, 116, 104, 101, 32, 119, 97, 115, 109, 32, 102, 97, 105, 108, 101, 100, 34, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 65, 97, 40, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 107, 97, 32, 63, 32, 80, 114, 111, 109, 105, 115, 101, 46, 114, 101, 115, 111, 108, 118, 101, 40, 41, 46, 116, 104, 101, 110, 40, 40, 41, 32, 61, 62, 32, 122, 97, 40, 97, 41, 41, 32, 58, 32, 105, 97, 40, 97, 41, 46, 116, 104, 101, 110, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 98, 41, 32, 61, 62, 32, 110, 101, 119, 32, 85, 105, 110, 116, 56, 65, 114, 114, 97, 121, 40, 98, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 41, 32, 61, 62, 32, 122, 97, 40, 97, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 66, 97, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 65, 97, 40, 97, 41, 46, 116, 104, 101, 110, 40, 40, 100, 41, 32, 61, 62, 32, 87, 101, 98, 65, 115, 115, 101, 109, 98, 108, 121, 46, 105, 110, 115, 116, 97, 110, 116, 105, 97, 116, 101, 40, 100, 44, 32, 98, 41, 41, 46, 116, 104, 101, 110, 40, 99, 44, 32, 40, 100, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 40, 96, 102, 97, 105, 108, 101, 100, 32, 116, 111, 32, 97, 115, 121, 110, 99, 104, 114, 111, 110, 111, 117, 115, 108, 121, 32, 112, 114, 101, 112, 97, 114, 101, 32, 119, 97, 115, 109, 58, 32, 36, 123, 100, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 97, 40, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 67, 97, 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 121, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 107, 97, 32, 124, 124, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 33, 61, 32, 116, 121, 112, 101, 111, 102, 32, 87, 101, 98, 65, 115, 115, 101, 109, 98, 108, 121, 46, 105, 110, 115, 116, 97, 110, 116, 105, 97, 116, 101, 83, 116, 114, 101, 97, 109, 105, 110, 103, 32, 124, 124, 32, 120, 97, 40, 99, 41, 32, 124, 124, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 33, 61, 32, 116, 121, 112, 101, 111, 102, 32, 102, 101, 116, 99, 104, 32, 63, 32, 66, 97, 40, 99, 44, 32, 97, 44, 32, 98, 41, 32, 58, 32, 102, 101, 116, 99, 104, 40, 99, 44, 32, 123, 32, 99, 114, 101, 100, 101, 110, 116, 105, 97, 108, 115, 58, 32, 34, 115, 97, 109, 101, 45, 111, 114, 105, 103, 105, 110, 34, 32, 125, 41, 46, 116, 104, 101, 110, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 100, 41, 32, 61, 62, 32, 87, 101, 98, 65, 115, 115, 101, 109, 98, 108, 121, 46, 105, 110, 115, 116, 97, 110, 116, 105, 97, 116, 101, 83, 116, 114, 101, 97, 109, 105, 110, 103, 40, 100, 44, 32, 97, 41, 46, 116, 104, 101, 110, 40, 98, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 40, 96, 119, 97, 115, 109, 32, 115, 116, 114, 101, 97, 109, 105, 110, 103, 32, 99, 111, 109, 112, 105, 108, 101, 32, 102, 97, 105, 108, 101, 100, 58, 32, 36, 123, 101, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 40, 34, 102, 97, 108, 108, 105, 110, 103, 32, 98, 97, 99, 107, 32, 116, 111, 32, 65, 114, 114, 97, 121, 66, 117, 102, 102, 101, 114, 32, 105, 110, 115, 116, 97, 110, 116, 105, 97, 116, 105, 111, 110, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 66, 97, 40, 99, 44, 32, 97, 44, 32, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 99, 108, 97, 115, 115, 32, 68, 97, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 40, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 110, 97, 109, 101, 34, 44, 32, 34, 69, 120, 105, 116, 83, 116, 97, 116, 117, 115, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 109, 101, 115, 115, 97, 103, 101, 32, 61, 32, 96, 80, 114, 111, 103, 114, 97, 109, 32, 116, 101, 114, 109, 105, 110, 97, 116, 101, 100, 32, 119, 105, 116, 104, 32, 101, 120, 105, 116, 40, 36, 123, 97, 125, 41, 96, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 115, 116, 97, 116, 117, 115, 32, 61, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 69, 97, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 59, 32, 48, 32, 60, 32, 97, 46, 108, 101, 110, 103, 116, 104, 59, 32, 41, 32, 97, 46, 115, 104, 105, 102, 116, 40, 41, 40, 107, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 70, 97, 32, 61, 32, 107, 46, 110, 111, 69, 120, 105, 116, 82, 117, 110, 116, 105, 109, 101, 32, 124, 124, 32, 116, 114, 117, 101, 44, 32, 71, 97, 32, 61, 32, 34, 117, 110, 100, 101, 102, 105, 110, 101, 100, 34, 32, 33, 61, 32, 116, 121, 112, 101, 111, 102, 32, 84, 101, 120, 116, 68, 101, 99, 111, 100, 101, 114, 32, 63, 32, 110, 101, 119, 32, 84, 101, 120, 116, 68, 101, 99, 111, 100, 101, 114, 40, 41, 32, 58, 32, 118, 111, 105, 100, 32, 48, 44, 32, 72, 32, 61, 32, 40, 97, 44, 32, 98, 32, 61, 32, 48, 44, 32, 99, 32, 61, 32, 78, 97, 78, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 98, 32, 43, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 99, 32, 61, 32, 98, 59, 32, 97, 91, 99, 93, 32, 38, 38, 32, 33, 40, 99, 32, 62, 61, 32, 100, 41, 59, 32, 41, 32, 43, 43, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 49, 54, 32, 60, 32, 99, 32, 45, 32, 98, 32, 38, 38, 32, 97, 46, 98, 117, 102, 102, 101, 114, 32, 38, 38, 32, 71, 97, 41, 32, 114, 101, 116, 117, 114, 110, 32, 71, 97, 46, 100, 101, 99, 111, 100, 101, 40, 97, 46, 115, 117, 98, 97, 114, 114, 97, 121, 40, 98, 44, 32, 99, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 100, 32, 61, 32, 34, 34, 59, 32, 98, 32, 60, 32, 99, 59, 32, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 101, 32, 61, 32, 97, 91, 98, 43, 43, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 101, 32, 38, 32, 49, 50, 56, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 32, 61, 32, 97, 91, 98, 43, 43, 93, 32, 38, 32, 54, 51, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 49, 57, 50, 32, 61, 61, 32, 40, 101, 32, 38, 32, 50, 50, 52, 41, 41, 32, 100, 32, 43, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 40, 101, 32, 38, 32, 51, 49, 41, 32, 60, 60, 32, 54, 32, 124, 32, 102, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 104, 32, 61, 32, 97, 91, 98, 43, 43, 93, 32, 38, 32, 54, 51, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, 32, 50, 50, 52, 32, 61, 61, 32, 40, 101, 32, 38, 32, 50, 52, 48, 41, 32, 63, 32, 40, 101, 32, 38, 32, 49, 53, 41, 32, 60, 60, 32, 49, 50, 32, 124, 32, 102, 32, 60, 60, 32, 54, 32, 124, 32, 104, 32, 58, 32, 40, 101, 32, 38, 32, 55, 41, 32, 60, 60, 32, 49, 56, 32, 124, 32, 102, 32, 60, 60, 32, 49, 50, 32, 124, 32, 104, 32, 60, 60, 32, 54, 32, 124, 32, 97, 91, 98, 43, 43, 93, 32, 38, 32, 54, 51, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 54, 53, 53, 51, 54, 32, 62, 32, 101, 32, 63, 32, 100, 32, 43, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 101, 41, 32, 58, 32, 40, 101, 32, 45, 61, 32, 54, 53, 53, 51, 54, 44, 32, 100, 32, 43, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 53, 53, 50, 57, 54, 32, 124, 32, 101, 32, 62, 62, 32, 49, 48, 44, 32, 53, 54, 51, 50, 48, 32, 124, 32, 101, 32, 38, 32, 49, 48, 50, 51, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 100, 32, 43, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 99, 108, 97, 115, 115, 32, 72, 97, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 40, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 121, 97, 32, 61, 32, 97, 32, 45, 32, 50, 52, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 73, 97, 32, 61, 32, 48, 44, 32, 74, 97, 32, 61, 32, 48, 44, 32, 73, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 48, 32, 60, 32, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 61, 32, 98, 32, 43, 32, 99, 32, 45, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 101, 32, 61, 32, 48, 59, 32, 101, 32, 60, 32, 97, 46, 108, 101, 110, 103, 116, 104, 59, 32, 43, 43, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 32, 61, 32, 97, 46, 99, 104, 97, 114, 67, 111, 100, 101, 65, 116, 40, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 53, 53, 50, 57, 54, 32, 60, 61, 32, 102, 32, 38, 38, 32, 53, 55, 51, 52, 51, 32, 62, 61, 32, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 104, 32, 61, 32, 97, 46, 99, 104, 97, 114, 67, 111, 100, 101, 65, 116, 40, 43, 43, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 32, 61, 32, 54, 53, 53, 51, 54, 32, 43, 32, 40, 40, 102, 32, 38, 32, 49, 48, 50, 51, 41, 32, 60, 60, 32, 49, 48, 41, 32, 124, 32, 104, 32, 38, 32, 49, 48, 50, 51, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 49, 50, 55, 32, 62, 61, 32, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 98, 32, 62, 61, 32, 99, 41, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 91, 98, 43, 43, 93, 32, 61, 32, 102, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 50, 48, 52, 55, 32, 62, 61, 32, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 98, 32, 43, 32, 49, 32, 62, 61, 32, 99, 41, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 91, 98, 43, 43, 93, 32, 61, 32, 49, 57, 50, 32, 124, 32, 102, 32, 62, 62, 32, 54, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 54, 53, 53, 51, 53, 32, 62, 61, 32, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 98, 32, 43, 32, 50, 32, 62, 61, 32, 99, 41, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 91, 98, 43, 43, 93, 32, 61, 32, 50, 50, 52, 32, 124, 32, 102, 32, 62, 62, 32, 49, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 98, 32, 43, 32, 51, 32, 62, 61, 32, 99, 41, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 91, 98, 43, 43, 93, 32, 61, 32, 50, 52, 48, 32, 124, 32, 102, 32, 62, 62, 32, 49, 56, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 91, 98, 43, 43, 93, 32, 61, 32, 49, 50, 56, 32, 124, 32, 102, 32, 62, 62, 32, 49, 50, 32, 38, 32, 54, 51, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 91, 98, 43, 43, 93, 32, 61, 32, 49, 50, 56, 32, 124, 32, 102, 32, 62, 62, 32, 54, 32, 38, 32, 54, 51, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 91, 98, 43, 43, 93, 32, 61, 32, 49, 50, 56, 32, 124, 32, 102, 32, 38, 32, 54, 51, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 91, 98, 93, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 75, 97, 32, 61, 32, 123, 125, 44, 32, 76, 97, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 59, 32, 97, 46, 108, 101, 110, 103, 116, 104, 59, 32, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 98, 32, 61, 32, 97, 46, 112, 111, 112, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 46, 112, 111, 112, 40, 41, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 74, 40, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 40, 68, 91, 97, 32, 62, 62, 32, 50, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 75, 32, 61, 32, 123, 125, 44, 32, 76, 32, 61, 32, 123, 125, 44, 32, 77, 97, 32, 61, 32, 123, 125, 44, 32, 77, 44, 32, 79, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 40, 103, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 32, 61, 32, 99, 40, 103, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 103, 46, 108, 101, 110, 103, 116, 104, 32, 33, 61, 61, 32, 97, 46, 108, 101, 110, 103, 116, 104, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 77, 40, 34, 77, 105, 115, 109, 97, 116, 99, 104, 101, 100, 32, 116, 121, 112, 101, 32, 99, 111, 110, 118, 101, 114, 116, 101, 114, 32, 99, 111, 117, 110, 116, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 108, 32, 61, 32, 48, 59, 32, 108, 32, 60, 32, 97, 46, 108, 101, 110, 103, 116, 104, 59, 32, 43, 43, 108, 41, 32, 78, 40, 97, 91, 108, 93, 44, 32, 103, 91, 108, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 46, 102, 111, 114, 69, 97, 99, 104, 40, 40, 103, 41, 32, 61, 62, 32, 77, 97, 91, 103, 93, 32, 61, 32, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 101, 32, 61, 32, 65, 114, 114, 97, 121, 40, 98, 46, 108, 101, 110, 103, 116, 104, 41, 44, 32, 102, 32, 61, 32, 91, 93, 44, 32, 104, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 46, 102, 111, 114, 69, 97, 99, 104, 40, 40, 103, 44, 32, 108, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 103, 41, 32, 63, 32, 101, 91, 108, 93, 32, 61, 32, 76, 91, 103, 93, 32, 58, 32, 40, 102, 46, 112, 117, 115, 104, 40, 103, 41, 44, 32, 75, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 103, 41, 32, 124, 124, 32, 40, 75, 91, 103, 93, 32, 61, 32, 91, 93, 41, 44, 32, 75, 91, 103, 93, 46, 112, 117, 115, 104, 40, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 91, 108, 93, 32, 61, 32, 76, 91, 103, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 43, 43, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 32, 61, 61, 61, 32, 102, 46, 108, 101, 110, 103, 116, 104, 32, 38, 38, 32, 100, 40, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 48, 32, 61, 61, 61, 32, 102, 46, 108, 101, 110, 103, 116, 104, 32, 38, 38, 32, 100, 40, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 78, 97, 44, 32, 80, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 98, 32, 61, 32, 34, 34, 59, 32, 120, 91, 97, 93, 59, 32, 41, 32, 98, 32, 43, 61, 32, 78, 97, 91, 120, 91, 97, 43, 43, 93, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 81, 59, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 80, 97, 40, 97, 44, 32, 98, 44, 32, 99, 32, 61, 32, 123, 125, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 98, 46, 110, 97, 109, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 96, 116, 121, 112, 101, 32, 34, 36, 123, 100, 125, 34, 32, 109, 117, 115, 116, 32, 104, 97, 118, 101, 32, 97, 32, 112, 111, 115, 105, 116, 105, 118, 101, 32, 105, 110, 116, 101, 103, 101, 114, 32, 116, 121, 112, 101, 105, 100, 32, 112, 111, 105, 110, 116, 101, 114, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 76, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 97, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 46, 99, 98, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 96, 67, 97, 110, 110, 111, 116, 32, 114, 101, 103, 105, 115, 116, 101, 114, 32, 116, 121, 112, 101, 32, 39, 36, 123, 100, 125, 39, 32, 116, 119, 105, 99, 101, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 76, 91, 97, 93, 32, 61, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, 101, 116, 101, 32, 77, 97, 91, 97, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 75, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 97, 41, 32, 38, 38, 32, 40, 98, 32, 61, 32, 75, 91, 97, 93, 44, 32, 100, 101, 108, 101, 116, 101, 32, 75, 91, 97, 93, 44, 32, 98, 46, 102, 111, 114, 69, 97, 99, 104, 40, 40, 101, 41, 32, 61, 62, 32, 101, 40, 41, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 78, 40, 97, 44, 32, 98, 44, 32, 99, 32, 61, 32, 123, 125, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 80, 97, 40, 97, 44, 32, 98, 44, 32, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 81, 97, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 97, 46, 119, 97, 46, 122, 97, 46, 120, 97, 46, 110, 97, 109, 101, 32, 43, 32, 34, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 97, 108, 114, 101, 97, 100, 121, 32, 100, 101, 108, 101, 116, 101, 100, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 82, 97, 32, 61, 32, 102, 97, 108, 115, 101, 44, 32, 83, 97, 32, 61, 32, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 84, 97, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 98, 32, 61, 61, 61, 32, 99, 41, 32, 114, 101, 116, 117, 114, 110, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 99, 46, 67, 97, 41, 32, 114, 101, 116, 117, 114, 110, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 84, 97, 40, 97, 44, 32, 98, 44, 32, 99, 46, 67, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 117, 108, 108, 32, 61, 61, 61, 32, 97, 32, 63, 32, 110, 117, 108, 108, 32, 58, 32, 99, 46, 87, 97, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 85, 97, 32, 61, 32, 123, 125, 44, 32, 86, 97, 32, 61, 32, 123, 125, 44, 32, 87, 97, 32, 61, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 98, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 34, 112, 116, 114, 32, 115, 104, 111, 117, 108, 100, 32, 110, 111, 116, 32, 98, 101, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 59, 32, 97, 46, 67, 97, 59, 32, 41, 32, 98, 32, 61, 32, 97, 46, 77, 97, 40, 98, 41, 44, 32, 97, 32, 61, 32, 97, 46, 67, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 86, 97, 91, 98, 93, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 88, 97, 32, 61, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 98, 46, 122, 97, 32, 124, 124, 32, 33, 98, 46, 121, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 77, 40, 34, 109, 97, 107, 101, 67, 108, 97, 115, 115, 72, 97, 110, 100, 108, 101, 32, 114, 101, 113, 117, 105, 114, 101, 115, 32, 112, 116, 114, 32, 97, 110, 100, 32, 112, 116, 114, 84, 121, 112, 101, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 33, 98, 46, 68, 97, 32, 33, 61, 61, 32, 33, 33, 98, 46, 66, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 77, 40, 34, 66, 111, 116, 104, 32, 115, 109, 97, 114, 116, 80, 116, 114, 84, 121, 112, 101, 32, 97, 110, 100, 32, 115, 109, 97, 114, 116, 80, 116, 114, 32, 109, 117, 115, 116, 32, 98, 101, 32, 115, 112, 101, 99, 105, 102, 105, 101, 100, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 46, 99, 111, 117, 110, 116, 32, 61, 32, 123, 32, 118, 97, 108, 117, 101, 58, 32, 49, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 82, 40, 79, 98, 106, 101, 99, 116, 46, 99, 114, 101, 97, 116, 101, 40, 97, 44, 32, 123, 32, 119, 97, 58, 32, 123, 32, 118, 97, 108, 117, 101, 58, 32, 98, 44, 32, 119, 114, 105, 116, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 32, 125, 32, 125, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 82, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 34, 117, 110, 100, 101, 102, 105, 110, 101, 100, 34, 32, 61, 61, 61, 32, 116, 121, 112, 101, 111, 102, 32, 70, 105, 110, 97, 108, 105, 122, 97, 116, 105, 111, 110, 82, 101, 103, 105, 115, 116, 114, 121, 41, 32, 114, 101, 116, 117, 114, 110, 32, 82, 32, 61, 32, 40, 98, 41, 32, 61, 62, 32, 98, 44, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 82, 97, 32, 61, 32, 110, 101, 119, 32, 70, 105, 110, 97, 108, 105, 122, 97, 116, 105, 111, 110, 82, 101, 103, 105, 115, 116, 114, 121, 40, 40, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 98, 46, 119, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 45, 45, 98, 46, 99, 111, 117, 110, 116, 46, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 32, 61, 61, 61, 32, 98, 46, 99, 111, 117, 110, 116, 46, 118, 97, 108, 117, 101, 32, 38, 38, 32, 40, 98, 46, 66, 97, 32, 63, 32, 98, 46, 68, 97, 46, 71, 97, 40, 98, 46, 66, 97, 41, 32, 58, 32, 98, 46, 122, 97, 46, 120, 97, 46, 71, 97, 40, 98, 46, 121, 97, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 82, 32, 61, 32, 40, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 98, 46, 119, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 46, 66, 97, 32, 38, 38, 32, 82, 97, 46, 114, 101, 103, 105, 115, 116, 101, 114, 40, 98, 44, 32, 123, 32, 119, 97, 58, 32, 99, 32, 125, 44, 32, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 83, 97, 32, 61, 32, 40, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 82, 97, 46, 117, 110, 114, 101, 103, 105, 115, 116, 101, 114, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 82, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 89, 97, 32, 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 90, 97, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 36, 97, 32, 61, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 79, 98, 106, 101, 99, 116, 46, 100, 101, 102, 105, 110, 101, 80, 114, 111, 112, 101, 114, 116, 121, 40, 98, 44, 32, 34, 110, 97, 109, 101, 34, 44, 32, 123, 32, 118, 97, 108, 117, 101, 58, 32, 97, 32, 125, 41, 44, 32, 97, 98, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 97, 91, 98, 93, 46, 65, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 97, 91, 98, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 91, 98, 93, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 46, 46, 46, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 97, 91, 98, 93, 46, 65, 97, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 101, 46, 108, 101, 110, 103, 116, 104, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 96, 70, 117, 110, 99, 116, 105, 111, 110, 32, 39, 36, 123, 99, 125, 39, 32, 99, 97, 108, 108, 101, 100, 32, 119, 105, 116, 104, 32, 97, 110, 32, 105, 110, 118, 97, 108, 105, 100, 32, 110, 117, 109, 98, 101, 114, 32, 111, 102, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 32, 40, 36, 123, 101, 46, 108, 101, 110, 103, 116, 104, 125, 41, 32, 45, 32, 101, 120, 112, 101, 99, 116, 115, 32, 111, 110, 101, 32, 111, 102, 32, 40, 36, 123, 97, 91, 98, 93, 46, 65, 97, 125, 41, 33, 96, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 91, 98, 93, 46, 65, 97, 91, 101, 46, 108, 101, 110, 103, 116, 104, 93, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 91, 98, 93, 46, 65, 97, 32, 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 91, 98, 93, 46, 65, 97, 91, 100, 46, 74, 97, 93, 32, 61, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 98, 98, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 107, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 97, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 99, 32, 124, 124, 32, 118, 111, 105, 100, 32, 48, 32, 33, 61, 61, 32, 107, 91, 97, 93, 46, 65, 97, 32, 38, 38, 32, 118, 111, 105, 100, 32, 48, 32, 33, 61, 61, 32, 107, 91, 97, 93, 46, 65, 97, 91, 99, 93, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 96, 67, 97, 110, 110, 111, 116, 32, 114, 101, 103, 105, 115, 116, 101, 114, 32, 112, 117, 98, 108, 105, 99, 32, 110, 97, 109, 101, 32, 39, 36, 123, 97, 125, 39, 32, 116, 119, 105, 99, 101, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 98, 40, 107, 44, 32, 97, 44, 32, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 107, 91, 97, 93, 46, 65, 97, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 99, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 96, 67, 97, 110, 110, 111, 116, 32, 114, 101, 103, 105, 115, 116, 101, 114, 32, 109, 117, 108, 116, 105, 112, 108, 101, 32, 111, 118, 101, 114, 108, 111, 97, 100, 115, 32, 111, 102, 32, 97, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 119, 105, 116, 104, 32, 116, 104, 101, 32, 115, 97, 109, 101, 32, 110, 117, 109, 98, 101, 114, 32, 111, 102, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 32, 40, 36, 123, 99, 125, 41, 33, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 91, 97, 93, 46, 65, 97, 91, 99, 93, 32, 61, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 107, 91, 97, 93, 32, 61, 32, 98, 44, 32, 107, 91, 97, 93, 46, 74, 97, 32, 61, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 99, 98, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 97, 46, 114, 101, 112, 108, 97, 99, 101, 40, 47, 91, 94, 97, 45, 122, 65, 45, 90, 48, 45, 57, 95, 93, 47, 103, 44, 32, 34, 36, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 98, 32, 61, 32, 97, 46, 99, 104, 97, 114, 67, 111, 100, 101, 65, 116, 40, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 52, 56, 32, 60, 61, 32, 98, 32, 38, 38, 32, 53, 55, 32, 62, 61, 32, 98, 32, 63, 32, 96, 95, 36, 123, 97, 125, 96, 32, 58, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 98, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 44, 32, 104, 44, 32, 103, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 110, 97, 109, 101, 32, 61, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 32, 61, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 73, 97, 32, 61, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 71, 97, 32, 61, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 67, 97, 32, 61, 32, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 89, 97, 32, 61, 32, 102, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 77, 97, 32, 61, 32, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 87, 97, 32, 61, 32, 103, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 102, 98, 32, 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 101, 98, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 59, 32, 98, 32, 33, 61, 61, 32, 99, 59, 32, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 98, 46, 77, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 96, 69, 120, 112, 101, 99, 116, 101, 100, 32, 110, 117, 108, 108, 32, 111, 114, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 111, 102, 32, 36, 123, 99, 46, 110, 97, 109, 101, 125, 44, 32, 103, 111, 116, 32, 97, 110, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 111, 102, 32, 36, 123, 98, 46, 110, 97, 109, 101, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 98, 46, 77, 97, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 98, 46, 67, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 98, 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 117, 108, 108, 32, 61, 61, 61, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 80, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 96, 110, 117, 108, 108, 32, 105, 115, 32, 110, 111, 116, 32, 97, 32, 118, 97, 108, 105, 100, 32, 36, 123, 116, 104, 105, 115, 46, 110, 97, 109, 101, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 98, 46, 119, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 96, 67, 97, 110, 110, 111, 116, 32, 112, 97, 115, 115, 32, 34, 36, 123, 103, 98, 40, 98, 41, 125, 34, 32, 97, 115, 32, 97, 32, 36, 123, 116, 104, 105, 115, 46, 110, 97, 109, 101, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 98, 46, 119, 97, 46, 121, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 96, 67, 97, 110, 110, 111, 116, 32, 112, 97, 115, 115, 32, 100, 101, 108, 101, 116, 101, 100, 32, 111, 98, 106, 101, 99, 116, 32, 97, 115, 32, 97, 32, 112, 111, 105, 110, 116, 101, 114, 32, 111, 102, 32, 116, 121, 112, 101, 32, 36, 123, 116, 104, 105, 115, 46, 110, 97, 109, 101, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 101, 98, 40, 98, 46, 119, 97, 46, 121, 97, 44, 32, 98, 46, 119, 97, 46, 122, 97, 46, 120, 97, 44, 32, 116, 104, 105, 115, 46, 120, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 104, 98, 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 117, 108, 108, 32, 61, 61, 61, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 80, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 96, 110, 117, 108, 108, 32, 105, 115, 32, 110, 111, 116, 32, 97, 32, 118, 97, 108, 105, 100, 32, 36, 123, 116, 104, 105, 115, 46, 110, 97, 109, 101, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 79, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 116, 104, 105, 115, 46, 81, 97, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 117, 108, 108, 32, 33, 61, 61, 32, 97, 32, 38, 38, 32, 97, 46, 112, 117, 115, 104, 40, 116, 104, 105, 115, 46, 71, 97, 44, 32, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 98, 32, 124, 124, 32, 33, 98, 46, 119, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 96, 67, 97, 110, 110, 111, 116, 32, 112, 97, 115, 115, 32, 34, 36, 123, 103, 98, 40, 98, 41, 125, 34, 32, 97, 115, 32, 97, 32, 36, 123, 116, 104, 105, 115, 46, 110, 97, 109, 101, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 98, 46, 119, 97, 46, 121, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 96, 67, 97, 110, 110, 111, 116, 32, 112, 97, 115, 115, 32, 100, 101, 108, 101, 116, 101, 100, 32, 111, 98, 106, 101, 99, 116, 32, 97, 115, 32, 97, 32, 112, 111, 105, 110, 116, 101, 114, 32, 111, 102, 32, 116, 121, 112, 101, 32, 36, 123, 116, 104, 105, 115, 46, 110, 97, 109, 101, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 116, 104, 105, 115, 46, 78, 97, 32, 38, 38, 32, 98, 46, 119, 97, 46, 122, 97, 46, 78, 97, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 96, 67, 97, 110, 110, 111, 116, 32, 99, 111, 110, 118, 101, 114, 116, 32, 97, 114, 103, 117, 109, 101, 110, 116, 32, 111, 102, 32, 116, 121, 112, 101, 32, 36, 123, 98, 46, 119, 97, 46, 68, 97, 32, 63, 32, 98, 46, 119, 97, 46, 68, 97, 46, 110, 97, 109, 101, 32, 58, 32, 98, 46, 119, 97, 46, 122, 97, 46, 110, 97, 109, 101, 125, 32, 116, 111, 32, 112, 97, 114, 97, 109, 101, 116, 101, 114, 32, 116, 121, 112, 101, 32, 36, 123, 116, 104, 105, 115, 46, 110, 97, 109, 101, 125, 96, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 61, 32, 101, 98, 40, 98, 46, 119, 97, 46, 121, 97, 44, 32, 98, 46, 119, 97, 46, 122, 97, 46, 120, 97, 44, 32, 116, 104, 105, 115, 46, 120, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 79, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 98, 46, 119, 97, 46, 66, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 34, 80, 97, 115, 115, 105, 110, 103, 32, 114, 97, 119, 32, 112, 111, 105, 110, 116, 101, 114, 32, 116, 111, 32, 115, 109, 97, 114, 116, 32, 112, 111, 105, 110, 116, 101, 114, 32, 105, 115, 32, 105, 108, 108, 101, 103, 97, 108, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, 116, 104, 105, 115, 46, 107, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 48, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 98, 46, 119, 97, 46, 68, 97, 32, 61, 61, 61, 32, 116, 104, 105, 115, 41, 32, 99, 32, 61, 32, 98, 46, 119, 97, 46, 66, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 96, 67, 97, 110, 110, 111, 116, 32, 99, 111, 110, 118, 101, 114, 116, 32, 97, 114, 103, 117, 109, 101, 110, 116, 32, 111, 102, 32, 116, 121, 112, 101, 32, 36, 123, 98, 46, 119, 97, 46, 68, 97, 32, 63, 32, 98, 46, 119, 97, 46, 68, 97, 46, 110, 97, 109, 101, 32, 58, 32, 98, 46, 119, 97, 46, 122, 97, 46, 110, 97, 109, 101, 125, 32, 116, 111, 32, 112, 97, 114, 97, 109, 101, 116, 101, 114, 32, 116, 121, 112, 101, 32, 36, 123, 116, 104, 105, 115, 46, 110, 97, 109, 101, 125, 96, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 49, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 61, 32, 98, 46, 119, 97, 46, 66, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 50, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 98, 46, 119, 97, 46, 68, 97, 32, 61, 61, 61, 32, 116, 104, 105, 115, 41, 32, 99, 32, 61, 32, 98, 46, 119, 97, 46, 66, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 98, 46, 99, 108, 111, 110, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 61, 32, 116, 104, 105, 115, 46, 103, 98, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 98, 40, 40, 41, 32, 61, 62, 32, 100, 91, 34, 100, 101, 108, 101, 116, 101, 34, 93, 40, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 117, 108, 108, 32, 33, 61, 61, 32, 97, 32, 38, 38, 32, 97, 46, 112, 117, 115, 104, 40, 116, 104, 105, 115, 46, 71, 97, 44, 32, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 102, 97, 117, 108, 116, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 34, 85, 110, 115, 117, 112, 112, 111, 114, 116, 105, 110, 103, 32, 115, 104, 97, 114, 105, 110, 103, 32, 112, 111, 108, 105, 99, 121, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 106, 98, 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 117, 108, 108, 32, 61, 61, 61, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 80, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 96, 110, 117, 108, 108, 32, 105, 115, 32, 110, 111, 116, 32, 97, 32, 118, 97, 108, 105, 100, 32, 36, 123, 116, 104, 105, 115, 46, 110, 97, 109, 101, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 98, 46, 119, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 96, 67, 97, 110, 110, 111, 116, 32, 112, 97, 115, 115, 32, 34, 36, 123, 103, 98, 40, 98, 41, 125, 34, 32, 97, 115, 32, 97, 32, 36, 123, 116, 104, 105, 115, 46, 110, 97, 109, 101, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 98, 46, 119, 97, 46, 121, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 96, 67, 97, 110, 110, 111, 116, 32, 112, 97, 115, 115, 32, 100, 101, 108, 101, 116, 101, 100, 32, 111, 98, 106, 101, 99, 116, 32, 97, 115, 32, 97, 32, 112, 111, 105, 110, 116, 101, 114, 32, 111, 102, 32, 116, 121, 112, 101, 32, 36, 123, 116, 104, 105, 115, 46, 110, 97, 109, 101, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 98, 46, 119, 97, 46, 122, 97, 46, 78, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 96, 67, 97, 110, 110, 111, 116, 32, 99, 111, 110, 118, 101, 114, 116, 32, 97, 114, 103, 117, 109, 101, 110, 116, 32, 111, 102, 32, 116, 121, 112, 101, 32, 36, 123, 98, 46, 119, 97, 46, 122, 97, 46, 110, 97, 109, 101, 125, 32, 116, 111, 32, 112, 97, 114, 97, 109, 101, 116, 101, 114, 32, 116, 121, 112, 101, 32, 36, 123, 116, 104, 105, 115, 46, 110, 97, 109, 101, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 101, 98, 40, 98, 46, 119, 97, 46, 121, 97, 44, 32, 98, 46, 119, 97, 46, 122, 97, 46, 120, 97, 44, 32, 116, 104, 105, 115, 46, 120, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 107, 98, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 44, 32, 104, 44, 32, 103, 44, 32, 108, 44, 32, 109, 44, 32, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 110, 97, 109, 101, 32, 61, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 120, 97, 32, 61, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 80, 97, 32, 61, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 78, 97, 32, 61, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 79, 97, 32, 61, 32, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 101, 98, 32, 61, 32, 102, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 107, 98, 32, 61, 32, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 85, 97, 32, 61, 32, 103, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 81, 97, 32, 61, 32, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 103, 98, 32, 61, 32, 109, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 71, 97, 32, 61, 32, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 124, 124, 32, 118, 111, 105, 100, 32, 48, 32, 33, 61, 61, 32, 98, 46, 67, 97, 32, 63, 32, 116, 104, 105, 115, 46, 116, 111, 87, 105, 114, 101, 84, 121, 112, 101, 32, 61, 32, 104, 98, 32, 58, 32, 40, 116, 104, 105, 115, 46, 116, 111, 87, 105, 114, 101, 84, 121, 112, 101, 32, 61, 32, 100, 32, 63, 32, 102, 98, 32, 58, 32, 106, 98, 44, 32, 116, 104, 105, 115, 46, 70, 97, 32, 61, 32, 110, 117, 108, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 108, 98, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 107, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 97, 41, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 77, 40, 34, 82, 101, 112, 108, 97, 99, 105, 110, 103, 32, 110, 111, 110, 101, 120, 105, 115, 116, 101, 110, 116, 32, 112, 117, 98, 108, 105, 99, 32, 115, 121, 109, 98, 111, 108, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 111, 105, 100, 32, 48, 32, 33, 61, 61, 32, 107, 91, 97, 93, 46, 65, 97, 32, 38, 38, 32, 118, 111, 105, 100, 32, 48, 32, 33, 61, 61, 32, 99, 32, 63, 32, 107, 91, 97, 93, 46, 65, 97, 91, 99, 93, 32, 61, 32, 98, 32, 58, 32, 40, 107, 91, 97, 93, 32, 61, 32, 98, 44, 32, 107, 91, 97, 93, 46, 74, 97, 32, 61, 32, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 83, 44, 32, 109, 98, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 32, 61, 32, 91, 93, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 46, 105, 110, 99, 108, 117, 100, 101, 115, 40, 34, 106, 34, 41, 32, 63, 32, 40, 97, 32, 61, 32, 97, 46, 114, 101, 112, 108, 97, 99, 101, 40, 47, 112, 47, 103, 44, 32, 34, 105, 34, 41, 44, 32, 98, 32, 61, 32, 40, 48, 44, 32, 107, 91, 34, 100, 121, 110, 67, 97, 108, 108, 95, 34, 32, 43, 32, 97, 93, 41, 40, 98, 44, 32, 46, 46, 46, 99, 41, 41, 32, 58, 32, 98, 32, 61, 32, 83, 46, 103, 101, 116, 40, 98, 41, 40, 46, 46, 46, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 110, 98, 32, 61, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 40, 46, 46, 46, 99, 41, 32, 61, 62, 32, 109, 98, 40, 97, 44, 32, 98, 44, 32, 99, 41, 44, 32, 84, 32, 61, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 80, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 97, 46, 105, 110, 99, 108, 117, 100, 101, 115, 40, 34, 106, 34, 41, 32, 63, 32, 110, 98, 40, 97, 44, 32, 98, 41, 32, 58, 32, 83, 46, 103, 101, 116, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 33, 61, 32, 116, 121, 112, 101, 111, 102, 32, 99, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 96, 117, 110, 107, 110, 111, 119, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 111, 105, 110, 116, 101, 114, 32, 119, 105, 116, 104, 32, 115, 105, 103, 110, 97, 116, 117, 114, 101, 32, 36, 123, 97, 125, 58, 32, 36, 123, 98, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 111, 98, 44, 32, 113, 98, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 112, 98, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 98, 32, 61, 32, 80, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 85, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 114, 98, 32, 61, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 40, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 91, 102, 93, 32, 124, 124, 32, 76, 91, 102, 93, 32, 124, 124, 32, 40, 77, 97, 91, 102, 93, 32, 63, 32, 77, 97, 91, 102, 93, 46, 102, 111, 114, 69, 97, 99, 104, 40, 99, 41, 32, 58, 32, 40, 100, 46, 112, 117, 115, 104, 40, 102, 41, 44, 32, 101, 91, 102, 93, 32, 61, 32, 116, 114, 117, 101, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 91, 93, 44, 32, 101, 32, 61, 32, 123, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 46, 102, 111, 114, 69, 97, 99, 104, 40, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 111, 98, 40, 96, 36, 123, 97, 125, 58, 32, 96, 32, 43, 32, 100, 46, 109, 97, 112, 40, 113, 98, 41, 46, 106, 111, 105, 110, 40, 91, 34, 44, 32, 34, 93, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 115, 98, 32, 61, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 99, 32, 61, 32, 91, 93, 44, 32, 100, 32, 61, 32, 48, 59, 32, 100, 32, 60, 32, 97, 59, 32, 100, 43, 43, 41, 32, 99, 46, 112, 117, 115, 104, 40, 68, 91, 98, 32, 43, 32, 52, 32, 42, 32, 100, 32, 62, 62, 32, 50, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 98, 40, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 98, 32, 61, 32, 49, 59, 32, 98, 32, 60, 32, 97, 46, 108, 101, 110, 103, 116, 104, 59, 32, 43, 43, 98, 41, 32, 105, 102, 32, 40, 110, 117, 108, 108, 32, 33, 61, 61, 32, 97, 91, 98, 93, 32, 38, 38, 32, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 97, 91, 98, 93, 46, 70, 97, 41, 32, 114, 101, 116, 117, 114, 110, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 117, 98, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 32, 61, 32, 98, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 50, 32, 62, 32, 102, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 34, 97, 114, 103, 84, 121, 112, 101, 115, 32, 97, 114, 114, 97, 121, 32, 115, 105, 122, 101, 32, 109, 105, 115, 109, 97, 116, 99, 104, 33, 32, 77, 117, 115, 116, 32, 97, 116, 32, 108, 101, 97, 115, 116, 32, 103, 101, 116, 32, 114, 101, 116, 117, 114, 110, 32, 118, 97, 108, 117, 101, 32, 97, 110, 100, 32, 39, 116, 104, 105, 115, 39, 32, 116, 121, 112, 101, 115, 33, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 104, 32, 61, 32, 110, 117, 108, 108, 32, 33, 61, 61, 32, 98, 91, 49, 93, 32, 38, 38, 32, 110, 117, 108, 108, 32, 33, 61, 61, 32, 99, 44, 32, 103, 32, 61, 32, 116, 98, 40, 98, 41, 44, 32, 108, 32, 61, 32, 34, 118, 111, 105, 100, 34, 32, 33, 61, 61, 32, 98, 91, 48, 93, 46, 110, 97, 109, 101, 44, 32, 109, 32, 61, 32, 102, 32, 45, 32, 50, 44, 32, 110, 32, 61, 32, 65, 114, 114, 97, 121, 40, 109, 41, 44, 32, 113, 32, 61, 32, 91, 93, 44, 32, 114, 32, 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 36, 97, 40, 97, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 46, 46, 46, 65, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 46, 108, 101, 110, 103, 116, 104, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 46, 108, 101, 110, 103, 116, 104, 32, 61, 32, 104, 32, 63, 32, 50, 32, 58, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 91, 48, 93, 32, 61, 32, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 104, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 117, 32, 61, 32, 98, 91, 49, 93, 46, 116, 111, 87, 105, 114, 101, 84, 121, 112, 101, 40, 114, 44, 32, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 91, 49, 93, 32, 61, 32, 117, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 119, 32, 61, 32, 48, 59, 32, 119, 32, 60, 32, 109, 59, 32, 43, 43, 119, 41, 32, 110, 91, 119, 93, 32, 61, 32, 98, 91, 119, 32, 43, 32, 50, 93, 46, 116, 111, 87, 105, 114, 101, 84, 121, 112, 101, 40, 114, 44, 32, 65, 91, 119, 93, 41, 44, 32, 113, 46, 112, 117, 115, 104, 40, 110, 91, 119, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 65, 32, 61, 32, 100, 40, 46, 46, 46, 113, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 103, 41, 32, 76, 97, 40, 114, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 119, 32, 61, 32, 104, 32, 63, 32, 49, 32, 58, 32, 50, 59, 32, 119, 32, 60, 32, 98, 46, 108, 101, 110, 103, 116, 104, 59, 32, 119, 43, 43, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 69, 32, 61, 32, 49, 32, 61, 61, 61, 32, 119, 32, 63, 32, 117, 32, 58, 32, 110, 91, 119, 32, 45, 32, 50, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 117, 108, 108, 32, 33, 61, 61, 32, 98, 91, 119, 93, 46, 70, 97, 32, 38, 38, 32, 98, 91, 119, 93, 46, 70, 97, 40, 69, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 117, 32, 61, 32, 108, 32, 63, 32, 98, 91, 48, 93, 46, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 40, 65, 41, 32, 58, 32, 118, 111, 105, 100, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 117, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 118, 98, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 97, 46, 116, 114, 105, 109, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 98, 32, 61, 32, 97, 46, 105, 110, 100, 101, 120, 79, 102, 40, 34, 40, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 45, 49, 32, 33, 61, 61, 32, 98, 32, 63, 32, 97, 46, 115, 117, 98, 115, 116, 114, 40, 48, 44, 32, 98, 41, 32, 58, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 120, 98, 32, 61, 32, 91, 93, 44, 32, 86, 32, 61, 32, 91, 93, 44, 32, 121, 98, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 57, 32, 60, 32, 97, 32, 38, 38, 32, 48, 32, 61, 61, 61, 32, 45, 45, 86, 91, 97, 32, 43, 32, 49, 93, 32, 38, 38, 32, 40, 86, 91, 97, 93, 32, 61, 32, 118, 111, 105, 100, 32, 48, 44, 32, 120, 98, 46, 112, 117, 115, 104, 40, 97, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 122, 98, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 34, 67, 97, 110, 110, 111, 116, 32, 117, 115, 101, 32, 100, 101, 108, 101, 116, 101, 100, 32, 118, 97, 108, 46, 32, 104, 97, 110, 100, 108, 101, 32, 61, 32, 34, 32, 43, 32, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 86, 91, 97, 93, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 105, 98, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 118, 111, 105, 100, 32, 48, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 110, 117, 108, 108, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 52, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 116, 114, 117, 101, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 54, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 102, 97, 108, 115, 101, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 56, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 102, 97, 117, 108, 116, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 98, 32, 61, 32, 120, 98, 46, 112, 111, 112, 40, 41, 32, 124, 124, 32, 86, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 91, 98, 93, 32, 61, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 91, 98, 32, 43, 32, 49, 93, 32, 61, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 65, 98, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 110, 97, 109, 101, 58, 32, 34, 101, 109, 115, 99, 114, 105, 112, 116, 101, 110, 58, 58, 118, 97, 108, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 98, 32, 61, 32, 122, 98, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 98, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 111, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 105, 98, 40, 98, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 69, 97, 58, 32, 56, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 97, 100, 86, 97, 108, 117, 101, 70, 114, 111, 109, 80, 111, 105, 110, 116, 101, 114, 58, 32, 74, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 70, 97, 58, 32, 110, 117, 108, 108, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 66, 98, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 49, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 32, 63, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 40, 118, 91, 100, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 40, 120, 91, 100, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 50, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 32, 63, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 40, 121, 91, 100, 32, 62, 62, 32, 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 40, 122, 91, 100, 32, 62, 62, 32, 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 52, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 32, 63, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 40, 67, 91, 100, 32, 62, 62, 32, 50, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 40, 68, 91, 100, 32, 62, 62, 32, 50, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 102, 97, 117, 108, 116, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 84, 121, 112, 101, 69, 114, 114, 111, 114, 40, 96, 105, 110, 118, 97, 108, 105, 100, 32, 105, 110, 116, 101, 103, 101, 114, 32, 119, 105, 100, 116, 104, 32, 40, 36, 123, 98, 125, 41, 58, 32, 36, 123, 97, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 67, 98, 32, 61, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 76, 91, 97, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 99, 41, 32, 116, 104, 114, 111, 119, 32, 97, 32, 61, 32, 96, 36, 123, 98, 125, 32, 104, 97, 115, 32, 117, 110, 107, 110, 111, 119, 110, 32, 116, 121, 112, 101, 32, 36, 123, 113, 98, 40, 97, 41, 125, 96, 44, 32, 110, 101, 119, 32, 81, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 103, 98, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 117, 108, 108, 32, 61, 61, 61, 32, 97, 41, 32, 114, 101, 116, 117, 114, 110, 32, 34, 110, 117, 108, 108, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 98, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 34, 111, 98, 106, 101, 99, 116, 34, 32, 61, 61, 61, 32, 98, 32, 124, 124, 32, 34, 97, 114, 114, 97, 121, 34, 32, 61, 61, 61, 32, 98, 32, 124, 124, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 61, 61, 61, 32, 98, 32, 63, 32, 97, 46, 116, 111, 83, 116, 114, 105, 110, 103, 40, 41, 32, 58, 32, 34, 34, 32, 43, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 68, 98, 32, 61, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 52, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 40, 111, 97, 91, 99, 32, 62, 62, 32, 50, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 56, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 40, 112, 97, 91, 99, 32, 62, 62, 32, 51, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 102, 97, 117, 108, 116, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 84, 121, 112, 101, 69, 114, 114, 111, 114, 40, 96, 105, 110, 118, 97, 108, 105, 100, 32, 102, 108, 111, 97, 116, 32, 119, 105, 100, 116, 104, 32, 40, 36, 123, 98, 125, 41, 58, 32, 36, 123, 97, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 69, 98, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 49, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 32, 63, 32, 40, 100, 41, 32, 61, 62, 32, 118, 91, 100, 93, 32, 58, 32, 40, 100, 41, 32, 61, 62, 32, 120, 91, 100, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 50, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 32, 63, 32, 40, 100, 41, 32, 61, 62, 32, 121, 91, 100, 32, 62, 62, 32, 49, 93, 32, 58, 32, 40, 100, 41, 32, 61, 62, 32, 122, 91, 100, 32, 62, 62, 32, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 52, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 32, 63, 32, 40, 100, 41, 32, 61, 62, 32, 67, 91, 100, 32, 62, 62, 32, 50, 93, 32, 58, 32, 40, 100, 41, 32, 61, 62, 32, 68, 91, 100, 32, 62, 62, 32, 50, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 102, 97, 117, 108, 116, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 84, 121, 112, 101, 69, 114, 114, 111, 114, 40, 96, 105, 110, 118, 97, 108, 105, 100, 32, 105, 110, 116, 101, 103, 101, 114, 32, 119, 105, 100, 116, 104, 32, 40, 36, 123, 98, 125, 41, 58, 32, 36, 123, 97, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 70, 98, 32, 61, 32, 79, 98, 106, 101, 99, 116, 46, 97, 115, 115, 105, 103, 110, 40, 123, 32, 111, 112, 116, 105, 111, 110, 97, 108, 58, 32, 116, 114, 117, 101, 32, 125, 44, 32, 65, 98, 41, 44, 32, 71, 98, 32, 61, 32, 34, 117, 110, 100, 101, 102, 105, 110, 101, 100, 34, 32, 33, 61, 32, 116, 121, 112, 101, 111, 102, 32, 84, 101, 120, 116, 68, 101, 99, 111, 100, 101, 114, 32, 63, 32, 110, 101, 119, 32, 84, 101, 120, 116, 68, 101, 99, 111, 100, 101, 114, 40, 34, 117, 116, 102, 45, 49, 54, 108, 101, 34, 41, 32, 58, 32, 118, 111, 105, 100, 32, 48, 44, 32, 72, 98, 32, 61, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 97, 32, 62, 62, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 100, 32, 61, 32, 99, 32, 43, 32, 98, 32, 47, 32, 50, 59, 32, 33, 40, 99, 32, 62, 61, 32, 100, 41, 32, 38, 38, 32, 122, 91, 99, 93, 59, 32, 41, 32, 43, 43, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 60, 60, 61, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 51, 50, 32, 60, 32, 99, 32, 45, 32, 97, 32, 38, 38, 32, 71, 98, 41, 32, 114, 101, 116, 117, 114, 110, 32, 71, 98, 46, 100, 101, 99, 111, 100, 101, 40, 120, 46, 115, 117, 98, 97, 114, 114, 97, 121, 40, 97, 44, 32, 99, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 61, 32, 34, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 100, 32, 61, 32, 48, 59, 32, 33, 40, 100, 32, 62, 61, 32, 98, 32, 47, 32, 50, 41, 59, 32, 43, 43, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 101, 32, 61, 32, 121, 91, 97, 32, 43, 32, 50, 32, 42, 32, 100, 32, 62, 62, 32, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 48, 32, 61, 61, 32, 101, 41, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 43, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 73, 98, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 99, 32, 58, 32, 99, 32, 61, 32, 50, 49, 52, 55, 52, 56, 51, 54, 52, 55, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 50, 32, 62, 32, 99, 41, 32, 114, 101, 116, 117, 114, 110, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 45, 61, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 61, 32, 99, 32, 60, 32, 50, 32, 42, 32, 97, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 99, 32, 47, 32, 50, 32, 58, 32, 97, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 101, 32, 61, 32, 48, 59, 32, 101, 32, 60, 32, 99, 59, 32, 43, 43, 101, 41, 32, 121, 91, 98, 32, 62, 62, 32, 49, 93, 32, 61, 32, 97, 46, 99, 104, 97, 114, 67, 111, 100, 101, 65, 116, 40, 101, 41, 44, 32, 98, 32, 43, 61, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 121, 91, 98, 32, 62, 62, 32, 49, 93, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 32, 45, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 74, 98, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 50, 32, 42, 32, 97, 46, 108, 101, 110, 103, 116, 104, 44, 32, 75, 98, 32, 61, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 99, 32, 61, 32, 48, 44, 32, 100, 32, 61, 32, 34, 34, 59, 32, 33, 40, 99, 32, 62, 61, 32, 98, 32, 47, 32, 52, 41, 59, 32, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 101, 32, 61, 32, 67, 91, 97, 32, 43, 32, 52, 32, 42, 32, 99, 32, 62, 62, 32, 50, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 48, 32, 61, 61, 32, 101, 41, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 43, 43, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 54, 53, 53, 51, 54, 32, 60, 61, 32, 101, 32, 63, 32, 40, 101, 32, 45, 61, 32, 54, 53, 53, 51, 54, 44, 32, 100, 32, 43, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 53, 53, 50, 57, 54, 32, 124, 32, 101, 32, 62, 62, 32, 49, 48, 44, 32, 53, 54, 51, 50, 48, 32, 124, 32, 101, 32, 38, 32, 49, 48, 50, 51, 41, 41, 32, 58, 32, 100, 32, 43, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 76, 98, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 99, 32, 58, 32, 99, 32, 61, 32, 50, 49, 52, 55, 52, 56, 51, 54, 52, 55, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 52, 32, 62, 32, 99, 41, 32, 114, 101, 116, 117, 114, 110, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 61, 32, 100, 32, 43, 32, 99, 32, 45, 32, 52, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 101, 32, 61, 32, 48, 59, 32, 101, 32, 60, 32, 97, 46, 108, 101, 110, 103, 116, 104, 59, 32, 43, 43, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 32, 61, 32, 97, 46, 99, 104, 97, 114, 67, 111, 100, 101, 65, 116, 40, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 53, 53, 50, 57, 54, 32, 60, 61, 32, 102, 32, 38, 38, 32, 53, 55, 51, 52, 51, 32, 62, 61, 32, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 104, 32, 61, 32, 97, 46, 99, 104, 97, 114, 67, 111, 100, 101, 65, 116, 40, 43, 43, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 32, 61, 32, 54, 53, 53, 51, 54, 32, 43, 32, 40, 40, 102, 32, 38, 32, 49, 48, 50, 51, 41, 32, 60, 60, 32, 49, 48, 41, 32, 124, 32, 104, 32, 38, 32, 49, 48, 50, 51, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 67, 91, 98, 32, 62, 62, 32, 50, 93, 32, 61, 32, 102, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 43, 61, 32, 52, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 98, 32, 43, 32, 52, 32, 62, 32, 99, 41, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 67, 91, 98, 32, 62, 62, 32, 50, 93, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 32, 45, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 77, 98, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 98, 32, 61, 32, 48, 44, 32, 99, 32, 61, 32, 48, 59, 32, 99, 32, 60, 32, 97, 46, 108, 101, 110, 103, 116, 104, 59, 32, 43, 43, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 97, 46, 99, 104, 97, 114, 67, 111, 100, 101, 65, 116, 40, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 53, 53, 50, 57, 54, 32, 60, 61, 32, 100, 32, 38, 38, 32, 53, 55, 51, 52, 51, 32, 62, 61, 32, 100, 32, 38, 38, 32, 43, 43, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 43, 61, 32, 52, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 78, 98, 32, 61, 32, 48, 44, 32, 79, 98, 32, 61, 32, 91, 93, 44, 32, 80, 98, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 98, 32, 61, 32, 79, 98, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 79, 98, 46, 112, 117, 115, 104, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 81, 98, 32, 61, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 99, 32, 61, 32, 65, 114, 114, 97, 121, 40, 97, 41, 44, 32, 100, 32, 61, 32, 48, 59, 32, 100, 32, 60, 32, 97, 59, 32, 43, 43, 100, 41, 32, 99, 91, 100, 93, 32, 61, 32, 67, 98, 40, 68, 91, 98, 32, 43, 32, 52, 32, 42, 32, 100, 32, 62, 62, 32, 50, 93, 44, 32, 34, 112, 97, 114, 97, 109, 101, 116, 101, 114, 32, 34, 32, 43, 32, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 82, 98, 32, 61, 32, 82, 101, 102, 108, 101, 99, 116, 46, 99, 111, 110, 115, 116, 114, 117, 99, 116, 44, 32, 83, 98, 32, 61, 32, 123, 125, 44, 32, 84, 98, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 97, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 68, 97, 32, 124, 124, 32, 34, 117, 110, 119, 105, 110, 100, 34, 32, 61, 61, 32, 97, 41, 41, 32, 116, 104, 114, 111, 119, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 85, 98, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 110, 97, 32, 61, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 70, 97, 32, 124, 124, 32, 48, 32, 60, 32, 78, 98, 32, 124, 124, 32, 40, 40, 95, 97, 50, 32, 61, 32, 107, 46, 111, 110, 69, 120, 105, 116, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 50, 46, 99, 97, 108, 108, 40, 107, 44, 32, 97, 41, 44, 32, 109, 97, 32, 61, 32, 116, 114, 117, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 68, 97, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 86, 98, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 109, 97, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, 40, 41, 44, 32, 33, 40, 70, 97, 32, 124, 124, 32, 48, 32, 60, 32, 78, 98, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 97, 32, 61, 32, 97, 32, 61, 32, 110, 97, 44, 32, 85, 98, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 98, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 98, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 87, 98, 32, 61, 32, 123, 125, 44, 32, 89, 98, 32, 61, 32, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 88, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 97, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 85, 83, 69, 82, 58, 32, 34, 119, 101, 98, 95, 117, 115, 101, 114, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 79, 71, 78, 65, 77, 69, 58, 32, 34, 119, 101, 98, 95, 117, 115, 101, 114, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 80, 65, 84, 72, 58, 32, 34, 47, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 80, 87, 68, 58, 32, 34, 47, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 72, 79, 77, 69, 58, 32, 34, 47, 104, 111, 109, 101, 47, 119, 101, 98, 95, 117, 115, 101, 114, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 65, 78, 71, 58, 32, 40, 34, 111, 98, 106, 101, 99, 116, 34, 32, 61, 61, 32, 116, 121, 112, 101, 111, 102, 32, 110, 97, 118, 105, 103, 97, 116, 111, 114, 32, 38, 38, 32, 110, 97, 118, 105, 103, 97, 116, 111, 114, 46, 108, 97, 110, 103, 117, 97, 103, 101, 115, 32, 38, 38, 32, 110, 97, 118, 105, 103, 97, 116, 111, 114, 46, 108, 97, 110, 103, 117, 97, 103, 101, 115, 91, 48, 93, 32, 124, 124, 32, 34, 67, 34, 41, 46, 114, 101, 112, 108, 97, 99, 101, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 45, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 95, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 32, 43, 32, 34, 46, 85, 84, 70, 45, 56, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 95, 58, 32, 104, 97, 32, 124, 124, 32, 34, 46, 47, 116, 104, 105, 115, 46, 112, 114, 111, 103, 114, 97, 109, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 98, 32, 105, 110, 32, 87, 98, 41, 32, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 87, 98, 91, 98, 93, 32, 63, 32, 100, 101, 108, 101, 116, 101, 32, 97, 91, 98, 93, 32, 58, 32, 97, 91, 98, 93, 32, 61, 32, 87, 98, 91, 98, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 98, 32, 105, 110, 32, 97, 41, 32, 99, 46, 112, 117, 115, 104, 40, 96, 36, 123, 98, 125, 61, 36, 123, 97, 91, 98, 93, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 88, 98, 32, 61, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 88, 98, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 88, 98, 44, 32, 90, 98, 32, 61, 32, 91, 110, 117, 108, 108, 44, 32, 91, 93, 44, 32, 91, 93, 93, 44, 32, 36, 98, 32, 61, 32, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 34, 111, 98, 106, 101, 99, 116, 34, 32, 61, 61, 32, 116, 121, 112, 101, 111, 102, 32, 99, 114, 121, 112, 116, 111, 32, 38, 38, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 61, 61, 32, 116, 121, 112, 101, 111, 102, 32, 99, 114, 121, 112, 116, 111, 46, 103, 101, 116, 82, 97, 110, 100, 111, 109, 86, 97, 108, 117, 101, 115, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 97, 41, 32, 61, 62, 32, 99, 114, 121, 112, 116, 111, 46, 103, 101, 116, 82, 97, 110, 100, 111, 109, 86, 97, 108, 117, 101, 115, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 97, 40, 34, 105, 110, 105, 116, 82, 97, 110, 100, 111, 109, 68, 101, 118, 105, 99, 101, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 97, 99, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 40, 97, 99, 32, 61, 32, 36, 98, 40, 41, 41, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 77, 32, 61, 32, 107, 46, 73, 110, 116, 101, 114, 110, 97, 108, 69, 114, 114, 111, 114, 32, 61, 32, 99, 108, 97, 115, 115, 32, 101, 120, 116, 101, 110, 100, 115, 32, 69, 114, 114, 111, 114, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 40, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 117, 112, 101, 114, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 110, 97, 109, 101, 32, 61, 32, 34, 73, 110, 116, 101, 114, 110, 97, 108, 69, 114, 114, 111, 114, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 98, 99, 32, 61, 32, 65, 114, 114, 97, 121, 40, 50, 53, 54, 41, 44, 32, 99, 99, 32, 61, 32, 48, 59, 32, 50, 53, 54, 32, 62, 32, 99, 99, 59, 32, 43, 43, 99, 99, 41, 32, 98, 99, 91, 99, 99, 93, 32, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 99, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 78, 97, 32, 61, 32, 98, 99, 59, 10, 32, 32, 32, 32, 32, 32, 81, 32, 61, 32, 107, 46, 66, 105, 110, 100, 105, 110, 103, 69, 114, 114, 111, 114, 32, 61, 32, 99, 108, 97, 115, 115, 32, 101, 120, 116, 101, 110, 100, 115, 32, 69, 114, 114, 111, 114, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 40, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 117, 112, 101, 114, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 110, 97, 109, 101, 32, 61, 32, 34, 66, 105, 110, 100, 105, 110, 103, 69, 114, 114, 111, 114, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 79, 98, 106, 101, 99, 116, 46, 97, 115, 115, 105, 103, 110, 40, 90, 97, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 115, 65, 108, 105, 97, 115, 79, 102, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 116, 104, 105, 115, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 90, 97, 32, 38, 38, 32, 97, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 90, 97, 41, 41, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 98, 32, 61, 32, 116, 104, 105, 115, 46, 119, 97, 46, 122, 97, 46, 120, 97, 44, 32, 99, 32, 61, 32, 116, 104, 105, 115, 46, 119, 97, 46, 121, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 46, 119, 97, 32, 61, 32, 97, 46, 119, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 97, 46, 119, 97, 46, 122, 97, 46, 120, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 97, 32, 61, 32, 97, 46, 119, 97, 46, 121, 97, 59, 32, 98, 46, 67, 97, 59, 32, 41, 32, 99, 32, 61, 32, 98, 46, 77, 97, 40, 99, 41, 44, 32, 98, 32, 61, 32, 98, 46, 67, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 59, 32, 100, 46, 67, 97, 59, 32, 41, 32, 97, 32, 61, 32, 100, 46, 77, 97, 40, 97, 41, 44, 32, 100, 32, 61, 32, 100, 46, 67, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 32, 61, 61, 61, 32, 100, 32, 38, 38, 32, 99, 32, 61, 61, 61, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 111, 110, 101, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 119, 97, 46, 121, 97, 32, 124, 124, 32, 81, 97, 40, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 119, 97, 46, 76, 97, 41, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 119, 97, 46, 99, 111, 117, 110, 116, 46, 118, 97, 108, 117, 101, 32, 43, 61, 32, 49, 44, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 97, 32, 61, 32, 82, 44, 32, 98, 32, 61, 32, 79, 98, 106, 101, 99, 116, 44, 32, 99, 32, 61, 32, 98, 46, 99, 114, 101, 97, 116, 101, 44, 32, 100, 32, 61, 32, 79, 98, 106, 101, 99, 116, 46, 103, 101, 116, 80, 114, 111, 116, 111, 116, 121, 112, 101, 79, 102, 40, 116, 104, 105, 115, 41, 44, 32, 101, 32, 61, 32, 116, 104, 105, 115, 46, 119, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 97, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 46, 99, 97, 108, 108, 40, 98, 44, 32, 100, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 97, 58, 32, 123, 32, 118, 97, 108, 117, 101, 58, 32, 123, 32, 99, 111, 117, 110, 116, 58, 32, 101, 46, 99, 111, 117, 110, 116, 44, 32, 75, 97, 58, 32, 101, 46, 75, 97, 44, 32, 76, 97, 58, 32, 101, 46, 76, 97, 44, 32, 121, 97, 58, 32, 101, 46, 121, 97, 44, 32, 122, 97, 58, 32, 101, 46, 122, 97, 44, 32, 66, 97, 58, 32, 101, 46, 66, 97, 44, 32, 68, 97, 58, 32, 101, 46, 68, 97, 32, 125, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 46, 119, 97, 46, 99, 111, 117, 110, 116, 46, 118, 97, 108, 117, 101, 32, 43, 61, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 46, 119, 97, 46, 75, 97, 32, 61, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 91, 34, 100, 101, 108, 101, 116, 101, 34, 93, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 119, 97, 46, 121, 97, 32, 124, 124, 32, 81, 97, 40, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 119, 97, 46, 75, 97, 32, 38, 38, 32, 33, 116, 104, 105, 115, 46, 119, 97, 46, 76, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 34, 79, 98, 106, 101, 99, 116, 32, 97, 108, 114, 101, 97, 100, 121, 32, 115, 99, 104, 101, 100, 117, 108, 101, 100, 32, 102, 111, 114, 32, 100, 101, 108, 101, 116, 105, 111, 110, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83, 97, 40, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 97, 32, 61, 32, 116, 104, 105, 115, 46, 119, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 45, 45, 97, 46, 99, 111, 117, 110, 116, 46, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 32, 61, 61, 61, 32, 97, 46, 99, 111, 117, 110, 116, 46, 118, 97, 108, 117, 101, 32, 38, 38, 32, 40, 97, 46, 66, 97, 32, 63, 32, 97, 46, 68, 97, 46, 71, 97, 40, 97, 46, 66, 97, 41, 32, 58, 32, 97, 46, 122, 97, 46, 120, 97, 46, 71, 97, 40, 97, 46, 121, 97, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 119, 97, 46, 76, 97, 32, 124, 124, 32, 40, 116, 104, 105, 115, 46, 119, 97, 46, 66, 97, 32, 61, 32, 118, 111, 105, 100, 32, 48, 44, 32, 116, 104, 105, 115, 46, 119, 97, 46, 121, 97, 32, 61, 32, 118, 111, 105, 100, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 115, 68, 101, 108, 101, 116, 101, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 33, 116, 104, 105, 115, 46, 119, 97, 46, 121, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, 101, 116, 101, 76, 97, 116, 101, 114, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 119, 97, 46, 121, 97, 32, 124, 124, 32, 81, 97, 40, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 119, 97, 46, 75, 97, 32, 38, 38, 32, 33, 116, 104, 105, 115, 46, 119, 97, 46, 76, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 34, 79, 98, 106, 101, 99, 116, 32, 97, 108, 114, 101, 97, 100, 121, 32, 115, 99, 104, 101, 100, 117, 108, 101, 100, 32, 102, 111, 114, 32, 100, 101, 108, 101, 116, 105, 111, 110, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 89, 97, 46, 112, 117, 115, 104, 40, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 119, 97, 46, 75, 97, 32, 61, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 79, 98, 106, 101, 99, 116, 46, 97, 115, 115, 105, 103, 110, 40, 107, 98, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 90, 97, 40, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 85, 97, 32, 38, 38, 32, 40, 97, 32, 61, 32, 116, 104, 105, 115, 46, 85, 97, 40, 97, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 83, 97, 40, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 95, 97, 50, 32, 61, 32, 116, 104, 105, 115, 46, 71, 97, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 50, 46, 99, 97, 108, 108, 40, 116, 104, 105, 115, 44, 32, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 69, 97, 58, 32, 56, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 97, 100, 86, 97, 108, 117, 101, 70, 114, 111, 109, 80, 111, 105, 110, 116, 101, 114, 58, 32, 74, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 98, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 79, 97, 32, 63, 32, 88, 97, 40, 116, 104, 105, 115, 46, 120, 97, 46, 73, 97, 44, 32, 123, 32, 122, 97, 58, 32, 116, 104, 105, 115, 46, 101, 98, 44, 32, 121, 97, 58, 32, 99, 44, 32, 68, 97, 58, 32, 116, 104, 105, 115, 44, 32, 66, 97, 58, 32, 97, 32, 125, 41, 32, 58, 32, 88, 97, 40, 116, 104, 105, 115, 46, 120, 97, 46, 73, 97, 44, 32, 123, 32, 122, 97, 58, 32, 116, 104, 105, 115, 44, 32, 121, 97, 58, 32, 97, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 116, 104, 105, 115, 46, 90, 97, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 99, 41, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 83, 97, 40, 97, 41, 44, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 87, 97, 40, 116, 104, 105, 115, 46, 120, 97, 44, 32, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 111, 105, 100, 32, 48, 32, 33, 61, 61, 32, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 48, 32, 61, 61, 61, 32, 100, 46, 119, 97, 46, 99, 111, 117, 110, 116, 46, 118, 97, 108, 117, 101, 41, 32, 114, 101, 116, 117, 114, 110, 32, 100, 46, 119, 97, 46, 121, 97, 32, 61, 32, 99, 44, 32, 100, 46, 119, 97, 46, 66, 97, 32, 61, 32, 97, 44, 32, 100, 46, 99, 108, 111, 110, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 32, 61, 32, 100, 46, 99, 108, 111, 110, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 83, 97, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 32, 61, 32, 116, 104, 105, 115, 46, 120, 97, 46, 89, 97, 40, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 32, 61, 32, 85, 97, 91, 100, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 100, 41, 32, 114, 101, 116, 117, 114, 110, 32, 98, 46, 99, 97, 108, 108, 40, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 32, 61, 32, 116, 104, 105, 115, 46, 78, 97, 32, 63, 32, 100, 46, 86, 97, 32, 58, 32, 100, 46, 112, 111, 105, 110, 116, 101, 114, 84, 121, 112, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 101, 32, 61, 32, 84, 97, 40, 99, 44, 32, 116, 104, 105, 115, 46, 120, 97, 44, 32, 100, 46, 120, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 117, 108, 108, 32, 61, 61, 61, 32, 101, 32, 63, 32, 98, 46, 99, 97, 108, 108, 40, 116, 104, 105, 115, 41, 32, 58, 32, 116, 104, 105, 115, 46, 79, 97, 32, 63, 32, 88, 97, 40, 100, 46, 120, 97, 46, 73, 97, 44, 32, 123, 32, 122, 97, 58, 32, 100, 44, 32, 121, 97, 58, 32, 101, 44, 32, 68, 97, 58, 32, 116, 104, 105, 115, 44, 32, 66, 97, 58, 32, 97, 32, 125, 41, 32, 58, 32, 88, 97, 40, 100, 46, 120, 97, 46, 73, 97, 44, 32, 123, 32, 122, 97, 58, 32, 100, 44, 32, 121, 97, 58, 32, 101, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 111, 98, 32, 61, 32, 107, 46, 85, 110, 98, 111, 117, 110, 100, 84, 121, 112, 101, 69, 114, 114, 111, 114, 32, 61, 32, 40, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 36, 97, 40, 98, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 110, 97, 109, 101, 32, 61, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 109, 101, 115, 115, 97, 103, 101, 32, 61, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 32, 61, 32, 69, 114, 114, 111, 114, 40, 100, 41, 46, 115, 116, 97, 99, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 111, 105, 100, 32, 48, 32, 33, 61, 61, 32, 100, 32, 38, 38, 32, 40, 116, 104, 105, 115, 46, 115, 116, 97, 99, 107, 32, 61, 32, 116, 104, 105, 115, 46, 116, 111, 83, 116, 114, 105, 110, 103, 40, 41, 32, 43, 32, 34, 92, 110, 34, 32, 43, 32, 100, 46, 114, 101, 112, 108, 97, 99, 101, 40, 47, 94, 69, 114, 114, 111, 114, 40, 58, 91, 94, 92, 110, 93, 42, 41, 63, 92, 110, 47, 44, 32, 34, 34, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 79, 98, 106, 101, 99, 116, 46, 99, 114, 101, 97, 116, 101, 40, 97, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 46, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 32, 61, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 46, 116, 111, 83, 116, 114, 105, 110, 103, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 116, 104, 105, 115, 46, 109, 101, 115, 115, 97, 103, 101, 32, 63, 32, 116, 104, 105, 115, 46, 110, 97, 109, 101, 32, 58, 32, 96, 36, 123, 116, 104, 105, 115, 46, 110, 97, 109, 101, 125, 58, 32, 36, 123, 116, 104, 105, 115, 46, 109, 101, 115, 115, 97, 103, 101, 125, 96, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 125, 41, 40, 69, 114, 114, 111, 114, 44, 32, 34, 85, 110, 98, 111, 117, 110, 100, 84, 121, 112, 101, 69, 114, 114, 111, 114, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 86, 46, 112, 117, 115, 104, 40, 48, 44, 32, 49, 44, 32, 118, 111, 105, 100, 32, 48, 44, 32, 49, 44, 32, 110, 117, 108, 108, 44, 32, 49, 44, 32, 116, 114, 117, 101, 44, 32, 49, 44, 32, 102, 97, 108, 115, 101, 44, 32, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 107, 46, 99, 111, 117, 110, 116, 95, 101, 109, 118, 97, 108, 95, 104, 97, 110, 100, 108, 101, 115, 32, 61, 32, 40, 41, 32, 61, 62, 32, 86, 46, 108, 101, 110, 103, 116, 104, 32, 47, 32, 50, 32, 45, 32, 53, 32, 45, 32, 120, 98, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 112, 99, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 97, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 96, 65, 115, 115, 101, 114, 116, 105, 111, 110, 32, 102, 97, 105, 108, 101, 100, 58, 32, 36, 123, 97, 32, 63, 32, 72, 40, 120, 44, 32, 97, 41, 32, 58, 32, 34, 34, 125, 44, 32, 97, 116, 58, 32, 96, 32, 43, 32, 91, 98, 32, 63, 32, 98, 32, 63, 32, 72, 40, 120, 44, 32, 98, 41, 32, 58, 32, 34, 34, 32, 58, 32, 34, 117, 110, 107, 110, 111, 119, 110, 32, 102, 105, 108, 101, 110, 97, 109, 101, 34, 44, 32, 99, 44, 32, 100, 32, 63, 32, 100, 32, 63, 32, 72, 40, 120, 44, 32, 100, 41, 32, 58, 32, 34, 34, 32, 58, 32, 34, 117, 110, 107, 110, 111, 119, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 34, 93, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 110, 101, 119, 32, 72, 97, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68, 91, 100, 46, 121, 97, 32, 43, 32, 49, 54, 32, 62, 62, 32, 50, 93, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68, 91, 100, 46, 121, 97, 32, 43, 32, 52, 32, 62, 62, 32, 50, 93, 32, 61, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68, 91, 100, 46, 121, 97, 32, 43, 32, 56, 32, 62, 62, 32, 50, 93, 32, 61, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 73, 97, 32, 61, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 74, 97, 43, 43, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 73, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 78, 58, 32, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 75, 58, 32, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 76, 58, 32, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 81, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 77, 58, 32, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 83, 58, 32, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 97, 40, 34, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 58, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 98, 32, 61, 32, 75, 97, 91, 97, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, 101, 116, 101, 32, 75, 97, 91, 97, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 98, 46, 81, 97, 44, 32, 100, 32, 61, 32, 98, 46, 71, 97, 44, 32, 101, 32, 61, 32, 98, 46, 84, 97, 44, 32, 102, 32, 61, 32, 101, 46, 109, 97, 112, 40, 40, 104, 41, 32, 61, 62, 32, 104, 46, 98, 98, 41, 46, 99, 111, 110, 99, 97, 116, 40, 101, 46, 109, 97, 112, 40, 40, 104, 41, 32, 61, 62, 32, 104, 46, 105, 98, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 79, 40, 91, 97, 93, 44, 32, 102, 44, 32, 40, 104, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 103, 32, 61, 32, 123, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 46, 102, 111, 114, 69, 97, 99, 104, 40, 40, 108, 44, 32, 109, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 32, 61, 32, 104, 91, 109, 93, 44, 32, 113, 32, 61, 32, 108, 46, 36, 97, 44, 32, 114, 32, 61, 32, 108, 46, 97, 98, 44, 32, 65, 32, 61, 32, 104, 91, 109, 32, 43, 32, 101, 46, 108, 101, 110, 103, 116, 104, 93, 44, 32, 117, 32, 61, 32, 108, 46, 104, 98, 44, 32, 119, 32, 61, 32, 108, 46, 106, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 91, 108, 46, 88, 97, 93, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 97, 100, 58, 32, 40, 69, 41, 32, 61, 62, 32, 110, 46, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 40, 113, 40, 114, 44, 32, 69, 41, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 114, 105, 116, 101, 58, 32, 40, 69, 44, 32, 100, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 66, 32, 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 117, 40, 119, 44, 32, 69, 44, 32, 65, 46, 116, 111, 87, 105, 114, 101, 84, 121, 112, 101, 40, 66, 44, 32, 100, 97, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 97, 40, 66, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 97, 109, 101, 58, 32, 98, 46, 110, 97, 109, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 40, 108, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 109, 32, 61, 32, 123, 125, 44, 32, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 110, 32, 105, 110, 32, 103, 41, 32, 109, 91, 110, 93, 32, 61, 32, 103, 91, 110, 93, 46, 114, 101, 97, 100, 40, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 40, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 111, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 40, 108, 44, 32, 109, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 110, 32, 105, 110, 32, 103, 41, 32, 105, 102, 32, 40, 33, 40, 110, 32, 105, 110, 32, 109, 41, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 84, 121, 112, 101, 69, 114, 114, 111, 114, 40, 96, 77, 105, 115, 115, 105, 110, 103, 32, 102, 105, 101, 108, 100, 58, 32, 34, 36, 123, 110, 125, 34, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 113, 32, 61, 32, 99, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 110, 32, 105, 110, 32, 103, 41, 32, 103, 91, 110, 93, 46, 119, 114, 105, 116, 101, 40, 113, 44, 32, 109, 91, 110, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 117, 108, 108, 32, 33, 61, 61, 32, 108, 32, 38, 38, 32, 108, 46, 112, 117, 115, 104, 40, 100, 44, 32, 113, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 113, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 69, 97, 58, 32, 56, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 97, 100, 86, 97, 108, 117, 101, 70, 114, 111, 109, 80, 111, 105, 110, 116, 101, 114, 58, 32, 74, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70, 97, 58, 32, 100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 68, 58, 32, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 88, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 80, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 40, 97, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 97, 109, 101, 58, 32, 98, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 33, 33, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 111, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 101, 44, 32, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 32, 63, 32, 99, 32, 58, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 69, 97, 58, 32, 56, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 97, 100, 86, 97, 108, 117, 101, 70, 114, 111, 109, 80, 111, 105, 110, 116, 101, 114, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 40, 120, 91, 101, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70, 97, 58, 32, 110, 117, 108, 108, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 44, 32, 104, 44, 32, 103, 44, 32, 108, 44, 32, 109, 44, 32, 110, 44, 32, 113, 44, 32, 114, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 32, 61, 32, 80, 40, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 32, 61, 32, 84, 40, 101, 44, 32, 102, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 32, 38, 38, 32, 40, 103, 32, 61, 32, 84, 40, 104, 44, 32, 103, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 32, 38, 38, 32, 40, 109, 32, 61, 32, 84, 40, 108, 44, 32, 109, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 32, 61, 32, 84, 40, 113, 44, 32, 114, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 65, 32, 61, 32, 99, 98, 40, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 98, 40, 65, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 98, 40, 96, 67, 97, 110, 110, 111, 116, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 32, 36, 123, 110, 125, 32, 100, 117, 101, 32, 116, 111, 32, 117, 110, 98, 111, 117, 110, 100, 32, 116, 121, 112, 101, 115, 96, 44, 32, 91, 100, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 79, 40, 91, 97, 44, 32, 98, 44, 32, 99, 93, 44, 32, 100, 32, 63, 32, 91, 100, 93, 32, 58, 32, 91, 93, 44, 32, 40, 117, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 117, 32, 61, 32, 117, 91, 48, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 119, 32, 61, 32, 117, 46, 120, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 69, 32, 61, 32, 119, 46, 73, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 69, 32, 61, 32, 90, 97, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 117, 32, 61, 32, 36, 97, 40, 110, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 46, 46, 46, 79, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 79, 98, 106, 101, 99, 116, 46, 103, 101, 116, 80, 114, 111, 116, 111, 116, 121, 112, 101, 79, 102, 40, 116, 104, 105, 115, 41, 32, 33, 61, 61, 32, 100, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 34, 85, 115, 101, 32, 39, 110, 101, 119, 39, 32, 116, 111, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 32, 34, 32, 43, 32, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 66, 46, 72, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 110, 32, 43, 32, 34, 32, 104, 97, 115, 32, 110, 111, 32, 97, 99, 99, 101, 115, 115, 105, 98, 108, 101, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 119, 98, 32, 61, 32, 66, 46, 72, 97, 91, 79, 97, 46, 108, 101, 110, 103, 116, 104, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 119, 98, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 96, 84, 114, 105, 101, 100, 32, 116, 111, 32, 105, 110, 118, 111, 107, 101, 32, 99, 116, 111, 114, 32, 111, 102, 32, 36, 123, 110, 125, 32, 119, 105, 116, 104, 32, 105, 110, 118, 97, 108, 105, 100, 32, 110, 117, 109, 98, 101, 114, 32, 111, 102, 32, 112, 97, 114, 97, 109, 101, 116, 101, 114, 115, 32, 40, 36, 123, 79, 97, 46, 108, 101, 110, 103, 116, 104, 125, 41, 32, 45, 32, 101, 120, 112, 101, 99, 116, 101, 100, 32, 40, 36, 123, 79, 98, 106, 101, 99, 116, 46, 107, 101, 121, 115, 40, 66, 46, 72, 97, 41, 46, 116, 111, 83, 116, 114, 105, 110, 103, 40, 41, 125, 41, 32, 112, 97, 114, 97, 109, 101, 116, 101, 114, 115, 32, 105, 110, 115, 116, 101, 97, 100, 33, 96, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 119, 98, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 79, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 97, 32, 61, 32, 79, 98, 106, 101, 99, 116, 46, 99, 114, 101, 97, 116, 101, 40, 69, 44, 32, 123, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 58, 32, 123, 32, 118, 97, 108, 117, 101, 58, 32, 117, 32, 125, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 117, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 100, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 66, 32, 61, 32, 110, 101, 119, 32, 100, 98, 40, 110, 44, 32, 117, 44, 32, 100, 97, 44, 32, 114, 44, 32, 119, 44, 32, 102, 44, 32, 103, 44, 32, 109, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 66, 46, 67, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 101, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 95, 97, 50, 32, 61, 32, 40, 101, 97, 32, 61, 32, 66, 46, 67, 97, 41, 46, 82, 97, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 97, 50, 32, 58, 32, 101, 97, 46, 82, 97, 32, 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 66, 46, 67, 97, 46, 82, 97, 46, 112, 117, 115, 104, 40, 66, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 32, 61, 32, 110, 101, 119, 32, 107, 98, 40, 110, 44, 32, 66, 44, 32, 116, 114, 117, 101, 44, 32, 102, 97, 108, 115, 101, 44, 32, 102, 97, 108, 115, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 97, 32, 61, 32, 110, 101, 119, 32, 107, 98, 40, 110, 32, 43, 32, 34, 42, 34, 44, 32, 66, 44, 32, 102, 97, 108, 115, 101, 44, 32, 102, 97, 108, 115, 101, 44, 32, 102, 97, 108, 115, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 69, 32, 61, 32, 110, 101, 119, 32, 107, 98, 40, 110, 32, 43, 32, 34, 32, 99, 111, 110, 115, 116, 42, 34, 44, 32, 66, 44, 32, 102, 97, 108, 115, 101, 44, 32, 116, 114, 117, 101, 44, 32, 102, 97, 108, 115, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 85, 97, 91, 97, 93, 32, 61, 32, 123, 32, 112, 111, 105, 110, 116, 101, 114, 84, 121, 112, 101, 58, 32, 101, 97, 44, 32, 86, 97, 58, 32, 69, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 98, 40, 65, 44, 32, 117, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 119, 44, 32, 101, 97, 44, 32, 69, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 113, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 104, 32, 61, 32, 115, 98, 40, 98, 44, 32, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, 32, 84, 40, 100, 44, 32, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 79, 40, 91, 93, 44, 32, 91, 97, 93, 44, 32, 40, 103, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 32, 61, 32, 103, 91, 48, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 108, 32, 61, 32, 96, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 32, 36, 123, 103, 46, 110, 97, 109, 101, 125, 96, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 103, 46, 120, 97, 46, 72, 97, 32, 38, 38, 32, 40, 103, 46, 120, 97, 46, 72, 97, 32, 61, 32, 91, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 111, 105, 100, 32, 48, 32, 33, 61, 61, 32, 103, 46, 120, 97, 46, 72, 97, 91, 98, 32, 45, 32, 49, 93, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 96, 67, 97, 110, 110, 111, 116, 32, 114, 101, 103, 105, 115, 116, 101, 114, 32, 109, 117, 108, 116, 105, 112, 108, 101, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 115, 32, 119, 105, 116, 104, 32, 105, 100, 101, 110, 116, 105, 99, 97, 108, 32, 110, 117, 109, 98, 101, 114, 32, 111, 102, 32, 112, 97, 114, 97, 109, 101, 116, 101, 114, 115, 32, 40, 36, 123, 98, 32, 45, 32, 49, 125, 41, 32, 102, 111, 114, 32, 99, 108, 97, 115, 115, 32, 39, 36, 123, 103, 46, 110, 97, 109, 101, 125, 39, 33, 32, 79, 118, 101, 114, 108, 111, 97, 100, 32, 114, 101, 115, 111, 108, 117, 116, 105, 111, 110, 32, 105, 115, 32, 99, 117, 114, 114, 101, 110, 116, 108, 121, 32, 111, 110, 108, 121, 32, 112, 101, 114, 102, 111, 114, 109, 101, 100, 32, 117, 115, 105, 110, 103, 32, 116, 104, 101, 32, 112, 97, 114, 97, 109, 101, 116, 101, 114, 32, 99, 111, 117, 110, 116, 44, 32, 110, 111, 116, 32, 97, 99, 116, 117, 97, 108, 32, 116, 121, 112, 101, 32, 105, 110, 102, 111, 33, 96, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 46, 120, 97, 46, 72, 97, 91, 98, 32, 45, 32, 49, 93, 32, 61, 32, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 98, 40, 96, 67, 97, 110, 110, 111, 116, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 32, 36, 123, 103, 46, 110, 97, 109, 101, 125, 32, 100, 117, 101, 32, 116, 111, 32, 117, 110, 98, 111, 117, 110, 100, 32, 116, 121, 112, 101, 115, 96, 44, 32, 104, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 79, 40, 91, 93, 44, 32, 104, 44, 32, 40, 109, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 46, 115, 112, 108, 105, 99, 101, 40, 49, 44, 32, 48, 44, 32, 110, 117, 108, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 46, 120, 97, 46, 72, 97, 91, 98, 32, 45, 32, 49, 93, 32, 61, 32, 117, 98, 40, 108, 44, 32, 109, 44, 32, 110, 117, 108, 108, 44, 32, 101, 44, 32, 102, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 44, 32, 104, 44, 32, 103, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 108, 32, 61, 32, 115, 98, 40, 99, 44, 32, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 80, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 118, 98, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 32, 61, 32, 84, 40, 101, 44, 32, 102, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 79, 40, 91, 93, 44, 32, 91, 97, 93, 44, 32, 40, 109, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 98, 40, 96, 67, 97, 110, 110, 111, 116, 32, 99, 97, 108, 108, 32, 36, 123, 113, 125, 32, 100, 117, 101, 32, 116, 111, 32, 117, 110, 98, 111, 117, 110, 100, 32, 116, 121, 112, 101, 115, 96, 44, 32, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 32, 61, 32, 109, 91, 48, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 113, 32, 61, 32, 96, 36, 123, 109, 46, 110, 97, 109, 101, 125, 46, 36, 123, 98, 125, 96, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 46, 115, 116, 97, 114, 116, 115, 87, 105, 116, 104, 40, 34, 64, 64, 34, 41, 32, 38, 38, 32, 40, 98, 32, 61, 32, 83, 121, 109, 98, 111, 108, 91, 98, 46, 115, 117, 98, 115, 116, 114, 105, 110, 103, 40, 50, 41, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 32, 38, 38, 32, 109, 46, 120, 97, 46, 102, 98, 46, 112, 117, 115, 104, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 114, 32, 61, 32, 109, 46, 120, 97, 46, 73, 97, 44, 32, 65, 32, 61, 32, 114, 91, 98, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 65, 32, 124, 124, 32, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 65, 46, 65, 97, 32, 38, 38, 32, 65, 46, 99, 108, 97, 115, 115, 78, 97, 109, 101, 32, 33, 61, 61, 32, 109, 46, 110, 97, 109, 101, 32, 38, 38, 32, 65, 46, 74, 97, 32, 61, 61, 61, 32, 99, 32, 45, 32, 50, 32, 63, 32, 40, 110, 46, 74, 97, 32, 61, 32, 99, 32, 45, 32, 50, 44, 32, 110, 46, 99, 108, 97, 115, 115, 78, 97, 109, 101, 32, 61, 32, 109, 46, 110, 97, 109, 101, 44, 32, 114, 91, 98, 93, 32, 61, 32, 110, 41, 32, 58, 32, 40, 97, 98, 40, 114, 44, 32, 98, 44, 32, 113, 41, 44, 32, 114, 91, 98, 93, 46, 65, 97, 91, 99, 32, 45, 32, 50, 93, 32, 61, 32, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 79, 40, 91, 93, 44, 32, 108, 44, 32, 40, 117, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 117, 32, 61, 32, 117, 98, 40, 113, 44, 32, 117, 44, 32, 109, 44, 32, 102, 44, 32, 104, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 114, 91, 98, 93, 46, 65, 97, 32, 63, 32, 40, 117, 46, 74, 97, 32, 61, 32, 99, 32, 45, 32, 50, 44, 32, 114, 91, 98, 93, 32, 61, 32, 117, 41, 32, 58, 32, 114, 91, 98, 93, 46, 65, 97, 91, 99, 32, 45, 32, 50, 93, 32, 61, 32, 117, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 87, 58, 32, 40, 97, 41, 32, 61, 62, 32, 78, 40, 97, 44, 32, 65, 98, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 120, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 80, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 46, 118, 97, 108, 117, 101, 115, 32, 61, 32, 123, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 40, 97, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 97, 109, 101, 58, 32, 98, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 58, 32, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 46, 118, 97, 108, 117, 101, 115, 91, 102, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 111, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 40, 102, 44, 32, 104, 41, 32, 61, 62, 32, 104, 46, 118, 97, 108, 117, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 69, 97, 58, 32, 56, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 97, 100, 86, 97, 108, 117, 101, 70, 114, 111, 109, 80, 111, 105, 110, 116, 101, 114, 58, 32, 66, 98, 40, 98, 44, 32, 99, 44, 32, 100, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70, 97, 58, 32, 110, 117, 108, 108, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 98, 40, 98, 44, 32, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 107, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 67, 98, 40, 97, 44, 32, 34, 101, 110, 117, 109, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 80, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 100, 46, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 32, 61, 32, 79, 98, 106, 101, 99, 116, 46, 99, 114, 101, 97, 116, 101, 40, 100, 46, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 108, 117, 101, 58, 32, 123, 32, 118, 97, 108, 117, 101, 58, 32, 99, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 58, 32, 123, 32, 118, 97, 108, 117, 101, 58, 32, 36, 97, 40, 96, 36, 123, 100, 46, 110, 97, 109, 101, 125, 95, 36, 123, 98, 125, 96, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 46, 118, 97, 108, 117, 101, 115, 91, 99, 93, 32, 61, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 91, 98, 93, 32, 61, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 122, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 80, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 40, 97, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 97, 109, 101, 58, 32, 98, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 40, 100, 41, 32, 61, 62, 32, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 111, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 40, 100, 44, 32, 101, 41, 32, 61, 62, 32, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 69, 97, 58, 32, 56, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 97, 100, 86, 97, 108, 117, 101, 70, 114, 111, 109, 80, 111, 105, 110, 116, 101, 114, 58, 32, 68, 98, 40, 98, 44, 32, 99, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70, 97, 58, 32, 110, 117, 108, 108, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 117, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 104, 32, 61, 32, 115, 98, 40, 98, 44, 32, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 80, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 118, 98, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, 32, 84, 40, 100, 44, 32, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 98, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 98, 40, 96, 67, 97, 110, 110, 111, 116, 32, 99, 97, 108, 108, 32, 36, 123, 97, 125, 32, 100, 117, 101, 32, 116, 111, 32, 117, 110, 98, 111, 117, 110, 100, 32, 116, 121, 112, 101, 115, 96, 44, 32, 104, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 45, 32, 49, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 79, 40, 91, 93, 44, 32, 104, 44, 32, 40, 103, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 98, 40, 97, 44, 32, 117, 98, 40, 97, 44, 32, 91, 103, 91, 48, 93, 44, 32, 110, 117, 108, 108, 93, 46, 99, 111, 110, 99, 97, 116, 40, 103, 46, 115, 108, 105, 99, 101, 40, 49, 41, 41, 44, 32, 110, 117, 108, 108, 44, 32, 101, 44, 32, 102, 41, 44, 32, 98, 32, 45, 32, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 80, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 45, 49, 32, 61, 61, 61, 32, 101, 32, 38, 38, 32, 40, 101, 32, 61, 32, 52, 50, 57, 52, 57, 54, 55, 50, 57, 53, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, 32, 40, 103, 41, 32, 61, 62, 32, 103, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 48, 32, 61, 61, 61, 32, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 32, 61, 32, 51, 50, 32, 45, 32, 56, 32, 42, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, 32, 40, 103, 41, 32, 61, 62, 32, 103, 32, 60, 60, 32, 102, 32, 62, 62, 62, 32, 102, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 104, 32, 61, 32, 98, 46, 105, 110, 99, 108, 117, 100, 101, 115, 40, 34, 117, 110, 115, 105, 103, 110, 101, 100, 34, 41, 32, 63, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 103, 44, 32, 108, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 108, 32, 62, 62, 62, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 103, 44, 32, 108, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 40, 97, 44, 32, 123, 32, 110, 97, 109, 101, 58, 32, 98, 44, 32, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 101, 44, 32, 116, 111, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 104, 44, 32, 69, 97, 58, 32, 56, 44, 32, 114, 101, 97, 100, 86, 97, 108, 117, 101, 70, 114, 111, 109, 80, 111, 105, 110, 116, 101, 114, 58, 32, 69, 98, 40, 98, 44, 32, 99, 44, 32, 48, 32, 33, 61, 61, 32, 100, 41, 44, 32, 70, 97, 58, 32, 110, 117, 108, 108, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 104, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 40, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 101, 40, 118, 46, 98, 117, 102, 102, 101, 114, 44, 32, 68, 91, 102, 32, 43, 32, 52, 32, 62, 62, 32, 50, 93, 44, 32, 68, 91, 102, 32, 62, 62, 32, 50, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 101, 32, 61, 32, 91, 73, 110, 116, 56, 65, 114, 114, 97, 121, 44, 32, 85, 105, 110, 116, 56, 65, 114, 114, 97, 121, 44, 32, 73, 110, 116, 49, 54, 65, 114, 114, 97, 121, 44, 32, 85, 105, 110, 116, 49, 54, 65, 114, 114, 97, 121, 44, 32, 73, 110, 116, 51, 50, 65, 114, 114, 97, 121, 44, 32, 85, 105, 110, 116, 51, 50, 65, 114, 114, 97, 121, 44, 32, 70, 108, 111, 97, 116, 51, 50, 65, 114, 114, 97, 121, 44, 32, 70, 108, 111, 97, 116, 54, 52, 65, 114, 114, 97, 121, 93, 91, 98, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 61, 32, 80, 40, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 40, 97, 44, 32, 123, 32, 110, 97, 109, 101, 58, 32, 99, 44, 32, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 100, 44, 32, 69, 97, 58, 32, 56, 44, 32, 114, 101, 97, 100, 86, 97, 108, 117, 101, 70, 114, 111, 109, 80, 111, 105, 110, 116, 101, 114, 58, 32, 100, 32, 125, 44, 32, 123, 32, 99, 98, 58, 32, 116, 114, 117, 101, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 58, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 40, 97, 44, 32, 70, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 97, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 44, 32, 104, 44, 32, 103, 44, 32, 108, 44, 32, 109, 44, 32, 110, 44, 32, 113, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 61, 32, 80, 40, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 32, 61, 32, 84, 40, 101, 44, 32, 102, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 32, 61, 32, 84, 40, 104, 44, 32, 103, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 32, 61, 32, 84, 40, 108, 44, 32, 109, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 32, 61, 32, 84, 40, 110, 44, 32, 113, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 79, 40, 91, 97, 93, 44, 32, 91, 98, 93, 44, 32, 40, 114, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 32, 61, 32, 114, 91, 48, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 110, 101, 119, 32, 107, 98, 40, 99, 44, 32, 114, 46, 120, 97, 44, 32, 102, 97, 108, 115, 101, 44, 32, 102, 97, 108, 115, 101, 44, 32, 116, 114, 117, 101, 44, 32, 114, 44, 32, 100, 44, 32, 102, 44, 32, 103, 44, 32, 109, 44, 32, 113, 41, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 65, 58, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 80, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 34, 115, 116, 100, 58, 58, 115, 116, 114, 105, 110, 103, 34, 32, 61, 61, 61, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 40, 97, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 97, 109, 101, 58, 32, 98, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 101, 32, 61, 32, 68, 91, 100, 32, 62, 62, 32, 50, 93, 44, 32, 102, 32, 61, 32, 100, 32, 43, 32, 52, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 104, 32, 61, 32, 102, 44, 32, 103, 32, 61, 32, 48, 59, 32, 103, 32, 60, 61, 32, 101, 59, 32, 43, 43, 103, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 108, 32, 61, 32, 102, 32, 43, 32, 103, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 103, 32, 61, 61, 32, 101, 32, 124, 124, 32, 48, 32, 61, 61, 32, 120, 91, 108, 93, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 32, 61, 32, 104, 32, 63, 32, 72, 40, 120, 44, 32, 104, 44, 32, 108, 32, 45, 32, 104, 41, 32, 58, 32, 34, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 109, 41, 32, 118, 97, 114, 32, 109, 32, 61, 32, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 109, 32, 43, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 48, 41, 44, 32, 109, 32, 43, 61, 32, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 32, 61, 32, 108, 32, 43, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 32, 61, 32, 65, 114, 114, 97, 121, 40, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 103, 32, 61, 32, 48, 59, 32, 103, 32, 60, 32, 101, 59, 32, 43, 43, 103, 41, 32, 109, 91, 103, 93, 32, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 120, 91, 102, 32, 43, 32, 103, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 32, 61, 32, 109, 46, 106, 111, 105, 110, 40, 34, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 85, 40, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 111, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 44, 32, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 65, 114, 114, 97, 121, 66, 117, 102, 102, 101, 114, 32, 38, 38, 32, 40, 101, 32, 61, 32, 110, 101, 119, 32, 85, 105, 110, 116, 56, 65, 114, 114, 97, 121, 40, 101, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 44, 32, 104, 32, 61, 32, 34, 115, 116, 114, 105, 110, 103, 34, 32, 61, 61, 32, 116, 121, 112, 101, 111, 102, 32, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 104, 32, 124, 124, 32, 101, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 85, 105, 110, 116, 56, 65, 114, 114, 97, 121, 32, 124, 124, 32, 101, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 85, 105, 110, 116, 56, 67, 108, 97, 109, 112, 101, 100, 65, 114, 114, 97, 121, 32, 124, 124, 32, 101, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 73, 110, 116, 56, 65, 114, 114, 97, 121, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 34, 67, 97, 110, 110, 111, 116, 32, 112, 97, 115, 115, 32, 110, 111, 110, 45, 115, 116, 114, 105, 110, 103, 32, 116, 111, 32, 115, 116, 100, 58, 58, 115, 116, 114, 105, 110, 103, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 32, 38, 38, 32, 104, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 103, 32, 61, 32, 102, 32, 61, 32, 48, 59, 32, 103, 32, 60, 32, 101, 46, 108, 101, 110, 103, 116, 104, 59, 32, 43, 43, 103, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 108, 32, 61, 32, 101, 46, 99, 104, 97, 114, 67, 111, 100, 101, 65, 116, 40, 103, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 49, 50, 55, 32, 62, 61, 32, 108, 32, 63, 32, 102, 43, 43, 32, 58, 32, 50, 48, 52, 55, 32, 62, 61, 32, 108, 32, 63, 32, 102, 32, 43, 61, 32, 50, 32, 58, 32, 53, 53, 50, 57, 54, 32, 60, 61, 32, 108, 32, 38, 38, 32, 53, 55, 51, 52, 51, 32, 62, 61, 32, 108, 32, 63, 32, 40, 102, 32, 43, 61, 32, 52, 44, 32, 43, 43, 103, 41, 32, 58, 32, 102, 32, 43, 61, 32, 51, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 102, 32, 61, 32, 101, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 32, 61, 32, 100, 99, 40, 52, 32, 43, 32, 102, 32, 43, 32, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 32, 61, 32, 103, 32, 43, 32, 52, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68, 91, 103, 32, 62, 62, 32, 50, 93, 32, 61, 32, 102, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 32, 38, 38, 32, 104, 41, 32, 73, 40, 101, 44, 32, 108, 44, 32, 102, 32, 43, 32, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 104, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 104, 32, 61, 32, 48, 59, 32, 104, 32, 60, 32, 102, 59, 32, 43, 43, 104, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 109, 32, 61, 32, 101, 46, 99, 104, 97, 114, 67, 111, 100, 101, 65, 116, 40, 104, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 50, 53, 53, 32, 60, 32, 109, 41, 32, 116, 104, 114, 111, 119, 32, 85, 40, 108, 41, 44, 32, 110, 101, 119, 32, 81, 40, 34, 83, 116, 114, 105, 110, 103, 32, 104, 97, 115, 32, 85, 84, 70, 45, 49, 54, 32, 99, 111, 100, 101, 32, 117, 110, 105, 116, 115, 32, 116, 104, 97, 116, 32, 100, 111, 32, 110, 111, 116, 32, 102, 105, 116, 32, 105, 110, 32, 56, 32, 98, 105, 116, 115, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 91, 108, 32, 43, 32, 104, 93, 32, 61, 32, 109, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 102, 111, 114, 32, 40, 104, 32, 61, 32, 48, 59, 32, 104, 32, 60, 32, 102, 59, 32, 43, 43, 104, 41, 32, 120, 91, 108, 32, 43, 32, 104, 93, 32, 61, 32, 101, 91, 104, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 117, 108, 108, 32, 33, 61, 61, 32, 100, 32, 38, 38, 32, 100, 46, 112, 117, 115, 104, 40, 85, 44, 32, 103, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 103, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 69, 97, 58, 32, 56, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 97, 100, 86, 97, 108, 117, 101, 70, 114, 111, 109, 80, 111, 105, 110, 116, 101, 114, 58, 32, 74, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70, 97, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 85, 40, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 61, 32, 80, 40, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 50, 32, 61, 61, 61, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 72, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 101, 32, 61, 32, 73, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 32, 61, 32, 74, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 104, 32, 61, 32, 40, 103, 41, 32, 61, 62, 32, 122, 91, 103, 32, 62, 62, 32, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 52, 32, 61, 61, 61, 32, 98, 32, 38, 38, 32, 40, 100, 32, 61, 32, 75, 98, 44, 32, 101, 32, 61, 32, 76, 98, 44, 32, 102, 32, 61, 32, 77, 98, 44, 32, 104, 32, 61, 32, 40, 103, 41, 32, 61, 62, 32, 68, 91, 103, 32, 62, 62, 32, 50, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 40, 97, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 97, 109, 101, 58, 32, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 40, 103, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 108, 32, 61, 32, 68, 91, 103, 32, 62, 62, 32, 50, 93, 44, 32, 109, 44, 32, 110, 32, 61, 32, 103, 32, 43, 32, 52, 44, 32, 113, 32, 61, 32, 48, 59, 32, 113, 32, 60, 61, 32, 108, 59, 32, 43, 43, 113, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 114, 32, 61, 32, 103, 32, 43, 32, 52, 32, 43, 32, 113, 32, 42, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 113, 32, 61, 61, 32, 108, 32, 124, 124, 32, 48, 32, 61, 61, 32, 104, 40, 114, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 32, 61, 32, 100, 40, 110, 44, 32, 114, 32, 45, 32, 110, 41, 44, 32, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 109, 32, 63, 32, 109, 32, 61, 32, 110, 32, 58, 32, 40, 109, 32, 43, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 48, 41, 44, 32, 109, 32, 43, 61, 32, 110, 41, 44, 32, 110, 32, 61, 32, 114, 32, 43, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 85, 40, 103, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 111, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 40, 103, 44, 32, 108, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 34, 115, 116, 114, 105, 110, 103, 34, 32, 33, 61, 32, 116, 121, 112, 101, 111, 102, 32, 108, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 81, 40, 96, 67, 97, 110, 110, 111, 116, 32, 112, 97, 115, 115, 32, 110, 111, 110, 45, 115, 116, 114, 105, 110, 103, 32, 116, 111, 32, 67, 43, 43, 32, 115, 116, 114, 105, 110, 103, 32, 116, 121, 112, 101, 32, 36, 123, 99, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 109, 32, 61, 32, 102, 40, 108, 41, 44, 32, 110, 32, 61, 32, 100, 99, 40, 52, 32, 43, 32, 109, 32, 43, 32, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68, 91, 110, 32, 62, 62, 32, 50, 93, 32, 61, 32, 109, 32, 47, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 40, 108, 44, 32, 110, 32, 43, 32, 52, 44, 32, 109, 32, 43, 32, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 117, 108, 108, 32, 33, 61, 61, 32, 103, 32, 38, 38, 32, 103, 46, 112, 117, 115, 104, 40, 85, 44, 32, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 69, 97, 58, 32, 56, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 97, 100, 86, 97, 108, 117, 101, 70, 114, 111, 109, 80, 111, 105, 110, 116, 101, 114, 58, 32, 74, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70, 97, 40, 103, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 85, 40, 103, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 75, 97, 91, 97, 93, 32, 61, 32, 123, 32, 110, 97, 109, 101, 58, 32, 80, 40, 98, 41, 44, 32, 81, 97, 58, 32, 84, 40, 99, 44, 32, 100, 41, 44, 32, 71, 97, 58, 32, 84, 40, 101, 44, 32, 102, 41, 44, 32, 84, 97, 58, 32, 91, 93, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 106, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 44, 32, 104, 44, 32, 103, 44, 32, 108, 44, 32, 109, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 75, 97, 91, 97, 93, 46, 84, 97, 46, 112, 117, 115, 104, 40, 123, 32, 88, 97, 58, 32, 80, 40, 98, 41, 44, 32, 98, 98, 58, 32, 99, 44, 32, 36, 97, 58, 32, 84, 40, 100, 44, 32, 101, 41, 44, 32, 97, 98, 58, 32, 102, 44, 32, 105, 98, 58, 32, 104, 44, 32, 104, 98, 58, 32, 84, 40, 103, 44, 32, 108, 41, 44, 32, 106, 98, 58, 32, 109, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 89, 58, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 80, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 40, 97, 44, 32, 123, 32, 108, 98, 58, 32, 116, 114, 117, 101, 44, 32, 110, 97, 109, 101, 58, 32, 98, 44, 32, 69, 97, 58, 32, 48, 44, 32, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 32, 116, 111, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 73, 58, 32, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70, 97, 32, 61, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 98, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 69, 58, 32, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 73, 110, 102, 105, 110, 105, 116, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 36, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 79, 98, 91, 97, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 122, 98, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 40, 110, 117, 108, 108, 44, 32, 98, 44, 32, 99, 44, 32, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 66, 58, 32, 121, 98, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 95, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 81, 98, 40, 97, 44, 32, 98, 41, 44, 32, 101, 32, 61, 32, 100, 46, 115, 104, 105, 102, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 45, 45, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 32, 61, 32, 65, 114, 114, 97, 121, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 96, 109, 101, 116, 104, 111, 100, 67, 97, 108, 108, 101, 114, 60, 40, 36, 123, 100, 46, 109, 97, 112, 40, 40, 104, 41, 32, 61, 62, 32, 104, 46, 110, 97, 109, 101, 41, 46, 106, 111, 105, 110, 40, 34, 44, 32, 34, 41, 125, 41, 32, 61, 62, 32, 36, 123, 101, 46, 110, 97, 109, 101, 125, 62, 96, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 80, 98, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 36, 97, 40, 98, 44, 32, 40, 104, 44, 32, 103, 44, 32, 108, 44, 32, 109, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 110, 32, 61, 32, 48, 44, 32, 113, 32, 61, 32, 48, 59, 32, 113, 32, 60, 32, 97, 59, 32, 43, 43, 113, 41, 32, 102, 91, 113, 93, 32, 61, 32, 100, 91, 113, 93, 46, 114, 101, 97, 100, 86, 97, 108, 117, 101, 70, 114, 111, 109, 80, 111, 105, 110, 116, 101, 114, 40, 109, 32, 43, 32, 110, 41, 44, 32, 110, 32, 43, 61, 32, 100, 91, 113, 93, 46, 69, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 32, 61, 32, 49, 32, 61, 61, 61, 32, 99, 32, 63, 32, 82, 98, 40, 103, 44, 32, 102, 41, 32, 58, 32, 103, 46, 97, 112, 112, 108, 121, 40, 104, 44, 32, 102, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 32, 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 32, 61, 32, 101, 46, 116, 111, 87, 105, 114, 101, 84, 121, 112, 101, 40, 104, 44, 32, 103, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 46, 108, 101, 110, 103, 116, 104, 32, 38, 38, 32, 40, 68, 91, 108, 32, 62, 62, 32, 50, 93, 32, 61, 32, 105, 98, 40, 104, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 103, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 97, 58, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 57, 32, 60, 32, 97, 32, 38, 38, 32, 40, 86, 91, 97, 32, 43, 32, 49, 93, 32, 43, 61, 32, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 90, 58, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 98, 32, 61, 32, 122, 98, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 97, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 98, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 111, 58, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 67, 98, 40, 97, 44, 32, 34, 95, 101, 109, 118, 97, 108, 95, 116, 97, 107, 101, 95, 118, 97, 108, 117, 101, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 97, 46, 114, 101, 97, 100, 86, 97, 108, 117, 101, 70, 114, 111, 109, 80, 111, 105, 110, 116, 101, 114, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 98, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 70, 58, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83, 98, 91, 97, 93, 32, 38, 38, 32, 40, 99, 108, 101, 97, 114, 84, 105, 109, 101, 111, 117, 116, 40, 83, 98, 91, 97, 93, 46, 105, 100, 41, 44, 32, 100, 101, 108, 101, 116, 101, 32, 83, 98, 91, 97, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 98, 41, 32, 114, 101, 116, 117, 114, 110, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 115, 101, 116, 84, 105, 109, 101, 111, 117, 116, 40, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, 101, 116, 101, 32, 83, 98, 91, 97, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 98, 40, 40, 41, 32, 61, 62, 32, 101, 99, 40, 97, 44, 32, 112, 101, 114, 102, 111, 114, 109, 97, 110, 99, 101, 46, 110, 111, 119, 40, 41, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 32, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83, 98, 91, 97, 93, 32, 61, 32, 123, 32, 105, 100, 58, 32, 99, 44, 32, 109, 98, 58, 32, 98, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 71, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 101, 32, 61, 32, 40, 47, 42, 32, 64, 95, 95, 80, 85, 82, 69, 95, 95, 32, 42, 47, 32, 110, 101, 119, 32, 68, 97, 116, 101, 40, 41, 41, 46, 103, 101, 116, 70, 117, 108, 108, 89, 101, 97, 114, 40, 41, 44, 32, 102, 32, 61, 32, 110, 101, 119, 32, 68, 97, 116, 101, 40, 101, 44, 32, 48, 44, 32, 49, 41, 46, 103, 101, 116, 84, 105, 109, 101, 122, 111, 110, 101, 79, 102, 102, 115, 101, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, 32, 110, 101, 119, 32, 68, 97, 116, 101, 40, 101, 44, 32, 54, 44, 32, 49, 41, 46, 103, 101, 116, 84, 105, 109, 101, 122, 111, 110, 101, 79, 102, 102, 115, 101, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68, 91, 97, 32, 62, 62, 32, 50, 93, 32, 61, 32, 54, 48, 32, 42, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 102, 44, 32, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 67, 91, 98, 32, 62, 62, 32, 50, 93, 32, 61, 32, 78, 117, 109, 98, 101, 114, 40, 102, 32, 33, 61, 32, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 40, 104, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 103, 32, 61, 32, 77, 97, 116, 104, 46, 97, 98, 115, 40, 104, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 96, 85, 84, 67, 36, 123, 48, 32, 60, 61, 32, 104, 32, 63, 32, 34, 45, 34, 32, 58, 32, 34, 43, 34, 125, 36, 123, 83, 116, 114, 105, 110, 103, 40, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 103, 32, 47, 32, 54, 48, 41, 41, 46, 112, 97, 100, 83, 116, 97, 114, 116, 40, 50, 44, 32, 34, 48, 34, 41, 125, 36, 123, 83, 116, 114, 105, 110, 103, 40, 103, 32, 37, 32, 54, 48, 41, 46, 112, 97, 100, 83, 116, 97, 114, 116, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 48, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 125, 96, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 98, 40, 102, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 98, 40, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 60, 32, 102, 32, 63, 32, 40, 73, 40, 97, 44, 32, 99, 44, 32, 49, 55, 41, 44, 32, 73, 40, 98, 44, 32, 100, 44, 32, 49, 55, 41, 41, 32, 58, 32, 40, 73, 40, 97, 44, 32, 100, 44, 32, 49, 55, 41, 44, 32, 73, 40, 98, 44, 32, 99, 44, 32, 49, 55, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 58, 32, 40, 41, 32, 61, 62, 32, 112, 101, 114, 102, 111, 114, 109, 97, 110, 99, 101, 46, 110, 111, 119, 40, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 72, 58, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 98, 32, 61, 32, 120, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 62, 62, 62, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 50, 49, 52, 55, 52, 56, 51, 54, 52, 56, 32, 60, 32, 97, 41, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 99, 32, 61, 32, 49, 59, 32, 52, 32, 62, 61, 32, 99, 59, 32, 99, 32, 42, 61, 32, 50, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 98, 32, 42, 32, 40, 49, 32, 43, 32, 48, 46, 50, 32, 47, 32, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 32, 61, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, 100, 44, 32, 97, 32, 43, 32, 49, 48, 48, 54, 54, 51, 50, 57, 54, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 32, 61, 32, 40, 77, 97, 116, 104, 46, 109, 105, 110, 40, 50, 49, 52, 55, 52, 56, 51, 54, 52, 56, 44, 32, 54, 53, 53, 51, 54, 32, 42, 32, 77, 97, 116, 104, 46, 99, 101, 105, 108, 40, 77, 97, 116, 104, 46, 109, 97, 120, 40, 97, 44, 32, 100, 41, 32, 47, 32, 54, 53, 53, 51, 54, 41, 41, 32, 45, 32, 108, 97, 46, 98, 117, 102, 102, 101, 114, 46, 98, 121, 116, 101, 76, 101, 110, 103, 116, 104, 32, 43, 32, 54, 53, 53, 51, 53, 41, 32, 47, 32, 54, 53, 53, 51, 54, 32, 124, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 46, 103, 114, 111, 119, 40, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 97, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 101, 32, 61, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, 32, 118, 111, 105, 100, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 101, 41, 32, 114, 101, 116, 117, 114, 110, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 85, 58, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 89, 98, 40, 41, 46, 102, 111, 114, 69, 97, 99, 104, 40, 40, 100, 44, 32, 101, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 32, 61, 32, 98, 32, 43, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, 32, 68, 91, 97, 32, 43, 32, 52, 32, 42, 32, 101, 32, 62, 62, 32, 50, 93, 32, 61, 32, 102, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 102, 32, 61, 32, 48, 59, 32, 102, 32, 60, 32, 100, 46, 108, 101, 110, 103, 116, 104, 59, 32, 43, 43, 102, 41, 32, 118, 91, 101, 43, 43, 93, 32, 61, 32, 100, 46, 99, 104, 97, 114, 67, 111, 100, 101, 65, 116, 40, 102, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 91, 101, 93, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 43, 61, 32, 100, 46, 108, 101, 110, 103, 116, 104, 32, 43, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 86, 58, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 89, 98, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68, 91, 97, 32, 62, 62, 32, 50, 93, 32, 61, 32, 99, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 46, 102, 111, 114, 69, 97, 99, 104, 40, 40, 101, 41, 32, 61, 62, 32, 100, 32, 43, 61, 32, 101, 46, 108, 101, 110, 103, 116, 104, 32, 43, 32, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68, 91, 98, 32, 62, 62, 32, 50, 93, 32, 61, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 82, 58, 32, 40, 41, 32, 61, 62, 32, 53, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 80, 58, 32, 40, 41, 32, 61, 62, 32, 53, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 79, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 101, 32, 61, 32, 48, 44, 32, 102, 32, 61, 32, 48, 59, 32, 102, 32, 60, 32, 99, 59, 32, 102, 43, 43, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 104, 32, 61, 32, 68, 91, 98, 32, 62, 62, 32, 50, 93, 44, 32, 103, 32, 61, 32, 68, 91, 98, 32, 43, 32, 52, 32, 62, 62, 32, 50, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 43, 61, 32, 56, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 108, 32, 61, 32, 48, 59, 32, 108, 32, 60, 32, 103, 59, 32, 108, 43, 43, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 109, 32, 61, 32, 97, 44, 32, 110, 32, 61, 32, 120, 91, 104, 32, 43, 32, 108, 93, 44, 32, 113, 32, 61, 32, 90, 98, 91, 109, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 32, 61, 61, 61, 32, 110, 32, 124, 124, 32, 49, 48, 32, 61, 61, 61, 32, 110, 32, 63, 32, 40, 40, 49, 32, 61, 61, 61, 32, 109, 32, 63, 32, 106, 97, 32, 58, 32, 116, 41, 40, 72, 40, 113, 41, 41, 44, 32, 113, 46, 108, 101, 110, 103, 116, 104, 32, 61, 32, 48, 41, 32, 58, 32, 113, 46, 112, 117, 115, 104, 40, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 43, 61, 32, 103, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68, 91, 100, 32, 62, 62, 32, 50, 93, 32, 61, 32, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 58, 32, 102, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 58, 32, 103, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 58, 32, 104, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 58, 32, 105, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 121, 58, 32, 106, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 58, 32, 107, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 58, 32, 108, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 103, 58, 32, 109, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 110, 58, 32, 110, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 67, 58, 32, 111, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 84, 58, 32, 85, 98, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 74, 58, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 99, 40, 120, 46, 115, 117, 98, 97, 114, 114, 97, 121, 40, 97, 44, 32, 97, 32, 43, 32, 98, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 87, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 40, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 51, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 87, 32, 61, 32, 99, 46, 101, 120, 112, 111, 114, 116, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 32, 61, 32, 87, 46, 100, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 97, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83, 32, 61, 32, 87, 46, 104, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 97, 46, 117, 110, 115, 104, 105, 102, 116, 40, 87, 46, 101, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70, 45, 45, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 95, 97, 51, 32, 61, 32, 107, 46, 109, 111, 110, 105, 116, 111, 114, 82, 117, 110, 68, 101, 112, 101, 110, 100, 101, 110, 99, 105, 101, 115, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 51, 46, 99, 97, 108, 108, 40, 107, 44, 32, 70, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 32, 61, 61, 32, 70, 32, 38, 38, 32, 40, 110, 117, 108, 108, 32, 33, 61, 61, 32, 118, 97, 32, 38, 38, 32, 40, 99, 108, 101, 97, 114, 73, 110, 116, 101, 114, 118, 97, 108, 40, 118, 97, 41, 44, 32, 118, 97, 32, 61, 32, 110, 117, 108, 108, 41, 44, 32, 71, 32, 38, 38, 32, 40, 99, 32, 61, 32, 71, 44, 32, 71, 32, 61, 32, 110, 117, 108, 108, 44, 32, 99, 40, 41, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 87, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 98, 32, 61, 32, 123, 32, 97, 58, 32, 112, 99, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 70, 43, 43, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 40, 95, 97, 50, 32, 61, 32, 107, 46, 109, 111, 110, 105, 116, 111, 114, 82, 117, 110, 68, 101, 112, 101, 110, 100, 101, 110, 99, 105, 101, 115, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 50, 46, 99, 97, 108, 108, 40, 107, 44, 32, 70, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 107, 46, 105, 110, 115, 116, 97, 110, 116, 105, 97, 116, 101, 87, 97, 115, 109, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 107, 46, 105, 110, 115, 116, 97, 110, 116, 105, 97, 116, 101, 87, 97, 115, 109, 40, 98, 44, 32, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 40, 96, 77, 111, 100, 117, 108, 101, 46, 105, 110, 115, 116, 97, 110, 116, 105, 97, 116, 101, 87, 97, 115, 109, 32, 99, 97, 108, 108, 98, 97, 99, 107, 32, 102, 97, 105, 108, 101, 100, 32, 119, 105, 116, 104, 32, 101, 114, 114, 111, 114, 58, 32, 36, 123, 99, 125, 96, 41, 44, 32, 98, 97, 40, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 121, 97, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 121, 97, 32, 58, 32, 121, 97, 32, 61, 32, 120, 97, 40, 34, 68, 111, 116, 76, 111, 116, 116, 105, 101, 80, 108, 97, 121, 101, 114, 46, 119, 97, 115, 109, 34, 41, 32, 63, 32, 34, 68, 111, 116, 76, 111, 116, 116, 105, 101, 80, 108, 97, 121, 101, 114, 46, 119, 97, 115, 109, 34, 32, 58, 32, 107, 46, 108, 111, 99, 97, 116, 101, 70, 105, 108, 101, 32, 63, 32, 107, 46, 108, 111, 99, 97, 116, 101, 70, 105, 108, 101, 40, 34, 68, 111, 116, 76, 111, 116, 116, 105, 101, 80, 108, 97, 121, 101, 114, 46, 119, 97, 115, 109, 34, 44, 32, 112, 41, 32, 58, 32, 112, 32, 43, 32, 34, 68, 111, 116, 76, 111, 116, 116, 105, 101, 80, 108, 97, 121, 101, 114, 46, 119, 97, 115, 109, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 67, 97, 40, 98, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 40, 99, 46, 105, 110, 115, 116, 97, 110, 99, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 46, 99, 97, 116, 99, 104, 40, 98, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 123, 125, 59, 10, 32, 32, 32, 32, 32, 32, 125, 40, 41, 44, 32, 100, 99, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 40, 100, 99, 32, 61, 32, 87, 46, 102, 97, 41, 40, 97, 41, 44, 32, 112, 98, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 40, 112, 98, 32, 61, 32, 87, 46, 103, 97, 41, 40, 97, 41, 44, 32, 85, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 40, 85, 32, 61, 32, 87, 46, 105, 97, 41, 40, 97, 41, 44, 32, 101, 99, 32, 61, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 40, 101, 99, 32, 61, 32, 87, 46, 106, 97, 41, 40, 97, 44, 32, 98, 41, 44, 32, 88, 32, 61, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 40, 88, 32, 61, 32, 87, 46, 107, 97, 41, 40, 97, 44, 32, 98, 41, 44, 32, 89, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 40, 89, 32, 61, 32, 87, 46, 108, 97, 41, 40, 97, 41, 44, 32, 90, 32, 61, 32, 40, 41, 32, 61, 62, 32, 40, 90, 32, 61, 32, 87, 46, 109, 97, 41, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 105, 105, 106, 106, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 41, 32, 61, 62, 32, 40, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 105, 105, 106, 106, 32, 61, 32, 87, 46, 110, 97, 41, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 41, 59, 10, 32, 32, 32, 32, 32, 32, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 118, 105, 106, 106, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 41, 32, 61, 62, 32, 40, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 118, 105, 106, 106, 32, 61, 32, 87, 46, 111, 97, 41, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 41, 59, 10, 32, 32, 32, 32, 32, 32, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 106, 105, 105, 105, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 41, 32, 61, 62, 32, 40, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 106, 105, 105, 105, 32, 61, 32, 87, 46, 112, 97, 41, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 106, 105, 105, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 40, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 106, 105, 105, 32, 61, 32, 87, 46, 113, 97, 41, 40, 97, 44, 32, 98, 44, 32, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 113, 99, 32, 61, 32, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 118, 105, 106, 106, 106, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 44, 32, 104, 44, 32, 103, 41, 32, 61, 62, 32, 40, 113, 99, 32, 61, 32, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 118, 105, 106, 106, 106, 32, 61, 32, 87, 46, 114, 97, 41, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 44, 32, 104, 44, 32, 103, 41, 59, 10, 32, 32, 32, 32, 32, 32, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 118, 105, 105, 106, 105, 105, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 44, 32, 104, 41, 32, 61, 62, 32, 40, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 118, 105, 105, 106, 105, 105, 32, 61, 32, 87, 46, 115, 97, 41, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 44, 32, 104, 41, 59, 10, 32, 32, 32, 32, 32, 32, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 105, 105, 105, 105, 105, 106, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 44, 32, 104, 41, 32, 61, 62, 32, 40, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 105, 105, 105, 105, 105, 106, 32, 61, 32, 87, 46, 116, 97, 41, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 44, 32, 104, 41, 59, 10, 32, 32, 32, 32, 32, 32, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 105, 105, 105, 105, 105, 106, 106, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 44, 32, 104, 44, 32, 103, 44, 32, 108, 41, 32, 61, 62, 32, 40, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 105, 105, 105, 105, 105, 106, 106, 32, 61, 32, 87, 46, 117, 97, 41, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 44, 32, 104, 44, 32, 103, 44, 32, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 105, 105, 105, 105, 105, 105, 106, 106, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 44, 32, 104, 44, 32, 103, 44, 32, 108, 44, 32, 109, 41, 32, 61, 62, 32, 40, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 105, 105, 105, 105, 105, 105, 106, 106, 32, 61, 32, 87, 46, 118, 97, 41, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 44, 32, 104, 44, 32, 103, 44, 32, 108, 44, 32, 109, 41, 59, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 107, 99, 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 90, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83, 46, 103, 101, 116, 40, 97, 41, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 89, 40, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 32, 33, 61, 61, 32, 100, 32, 43, 32, 48, 41, 32, 116, 104, 114, 111, 119, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 88, 40, 49, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 99, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 90, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83, 46, 103, 101, 116, 40, 97, 41, 40, 98, 44, 32, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 89, 40, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 101, 32, 33, 61, 61, 32, 101, 32, 43, 32, 48, 41, 32, 116, 104, 114, 111, 119, 32, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 88, 40, 49, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 104, 99, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 101, 32, 61, 32, 90, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 83, 46, 103, 101, 116, 40, 97, 41, 40, 98, 44, 32, 99, 44, 32, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 89, 40, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 102, 32, 33, 61, 61, 32, 102, 32, 43, 32, 48, 41, 32, 116, 104, 114, 111, 119, 32, 102, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 88, 40, 49, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 103, 99, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 90, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 83, 46, 103, 101, 116, 40, 97, 41, 40, 98, 44, 32, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 89, 40, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 101, 32, 33, 61, 61, 32, 101, 32, 43, 32, 48, 41, 32, 116, 104, 114, 111, 119, 32, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 88, 40, 49, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 99, 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 90, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 83, 46, 103, 101, 116, 40, 97, 41, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 89, 40, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 32, 33, 61, 61, 32, 100, 32, 43, 32, 48, 41, 32, 116, 104, 114, 111, 119, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 88, 40, 49, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 99, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 104, 32, 61, 32, 90, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 83, 46, 103, 101, 116, 40, 97, 41, 40, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 103, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 89, 40, 104, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 103, 32, 33, 61, 61, 32, 103, 32, 43, 32, 48, 41, 32, 116, 104, 114, 111, 119, 32, 103, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 88, 40, 49, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 110, 99, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 32, 61, 32, 90, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83, 46, 103, 101, 116, 40, 97, 41, 40, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 104, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 89, 40, 102, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 104, 32, 33, 61, 61, 32, 104, 32, 43, 32, 48, 41, 32, 116, 104, 114, 111, 119, 32, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 88, 40, 49, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 109, 99, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 101, 32, 61, 32, 90, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83, 46, 103, 101, 116, 40, 97, 41, 40, 98, 44, 32, 99, 44, 32, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 89, 40, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 102, 32, 33, 61, 61, 32, 102, 32, 43, 32, 48, 41, 32, 116, 104, 114, 111, 119, 32, 102, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 88, 40, 49, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 106, 99, 40, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 98, 32, 61, 32, 90, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83, 46, 103, 101, 116, 40, 97, 41, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 89, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 32, 33, 61, 61, 32, 99, 32, 43, 32, 48, 41, 32, 116, 104, 114, 111, 119, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 88, 40, 49, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 111, 99, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 44, 32, 104, 44, 32, 103, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 108, 32, 61, 32, 90, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 99, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 44, 32, 104, 44, 32, 103, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 109, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 89, 40, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 109, 32, 33, 61, 61, 32, 109, 32, 43, 32, 48, 41, 32, 116, 104, 114, 111, 119, 32, 109, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 88, 40, 49, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 114, 99, 59, 10, 32, 32, 32, 32, 32, 32, 71, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 99, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 99, 32, 124, 124, 32, 116, 99, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 99, 32, 124, 124, 32, 40, 71, 32, 61, 32, 115, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 99, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 114, 99, 32, 38, 38, 32, 40, 114, 99, 32, 61, 32, 116, 114, 117, 101, 44, 32, 107, 46, 99, 97, 108, 108, 101, 100, 82, 117, 110, 32, 61, 32, 116, 114, 117, 101, 44, 32, 33, 109, 97, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 69, 97, 40, 115, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 97, 40, 107, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 95, 97, 50, 32, 61, 32, 107, 46, 111, 110, 82, 117, 110, 116, 105, 109, 101, 73, 110, 105, 116, 105, 97, 108, 105, 122, 101, 100, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 50, 46, 99, 97, 108, 108, 40, 107, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 107, 46, 112, 111, 115, 116, 82, 117, 110, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 61, 61, 32, 116, 121, 112, 101, 111, 102, 32, 107, 46, 112, 111, 115, 116, 82, 117, 110, 32, 38, 38, 32, 40, 107, 46, 112, 111, 115, 116, 82, 117, 110, 32, 61, 32, 91, 107, 46, 112, 111, 115, 116, 82, 117, 110, 93, 41, 59, 32, 107, 46, 112, 111, 115, 116, 82, 117, 110, 46, 108, 101, 110, 103, 116, 104, 59, 32, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 98, 32, 61, 32, 107, 46, 112, 111, 115, 116, 82, 117, 110, 46, 115, 104, 105, 102, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 97, 46, 117, 110, 115, 104, 105, 102, 116, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 69, 97, 40, 116, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 48, 32, 60, 32, 70, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 107, 46, 112, 114, 101, 82, 117, 110, 41, 32, 102, 111, 114, 32, 40, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 61, 61, 32, 116, 121, 112, 101, 111, 102, 32, 107, 46, 112, 114, 101, 82, 117, 110, 32, 38, 38, 32, 40, 107, 46, 112, 114, 101, 82, 117, 110, 32, 61, 32, 91, 107, 46, 112, 114, 101, 82, 117, 110, 93, 41, 59, 32, 107, 46, 112, 114, 101, 82, 117, 110, 46, 108, 101, 110, 103, 116, 104, 59, 32, 41, 32, 117, 97, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 69, 97, 40, 114, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 32, 60, 32, 70, 32, 124, 124, 32, 40, 107, 46, 115, 101, 116, 83, 116, 97, 116, 117, 115, 32, 63, 32, 40, 107, 46, 115, 101, 116, 83, 116, 97, 116, 117, 115, 40, 34, 82, 117, 110, 110, 105, 110, 103, 46, 46, 46, 34, 41, 44, 32, 115, 101, 116, 84, 105, 109, 101, 111, 117, 116, 40, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 116, 84, 105, 109, 101, 111, 117, 116, 40, 40, 41, 32, 61, 62, 32, 107, 46, 115, 101, 116, 83, 116, 97, 116, 117, 115, 40, 34, 34, 41, 44, 32, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 32, 49, 41, 41, 32, 58, 32, 97, 40, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 107, 46, 112, 114, 101, 73, 110, 105, 116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 61, 61, 32, 116, 121, 112, 101, 111, 102, 32, 107, 46, 112, 114, 101, 73, 110, 105, 116, 32, 38, 38, 32, 40, 107, 46, 112, 114, 101, 73, 110, 105, 116, 32, 61, 32, 91, 107, 46, 112, 114, 101, 73, 110, 105, 116, 93, 41, 59, 32, 48, 32, 60, 32, 107, 46, 112, 114, 101, 73, 110, 105, 116, 46, 108, 101, 110, 103, 116, 104, 59, 32, 41, 32, 107, 46, 112, 114, 101, 73, 110, 105, 116, 46, 112, 111, 112, 40, 41, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 99, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 109, 111, 100, 117, 108, 101, 82, 116, 110, 32, 61, 32, 99, 97, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 111, 100, 117, 108, 101, 82, 116, 110, 59, 10, 32, 32, 32, 32, 125, 59, 10, 32, 32, 125, 41, 40, 41, 59, 10, 32, 32, 118, 97, 114, 32, 100, 111, 116, 108, 111, 116, 116, 105, 101, 95, 112, 108, 97, 121, 101, 114, 95, 100, 101, 102, 97, 117, 108, 116, 32, 61, 32, 99, 114, 101, 97, 116, 101, 68, 111, 116, 76, 111, 116, 116, 105, 101, 80, 108, 97, 121, 101, 114, 77, 111, 100, 117, 108, 101, 59, 10, 10, 32, 32, 47, 47, 32, 115, 114, 99, 47, 99, 111, 114, 101, 47, 100, 111, 116, 108, 111, 116, 116, 105, 101, 45, 119, 97, 115, 109, 45, 108, 111, 97, 100, 101, 114, 46, 116, 115, 10, 32, 32, 118, 97, 114, 32, 68, 111, 116, 76, 111, 116, 116, 105, 101, 87, 97, 115, 109, 76, 111, 97, 100, 101, 114, 32, 61, 32, 99, 108, 97, 115, 115, 32, 123, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 34, 82, 101, 110, 100, 101, 114, 101, 114, 76, 111, 97, 100, 101, 114, 32, 105, 115, 32, 97, 32, 115, 116, 97, 116, 105, 99, 32, 99, 108, 97, 115, 115, 32, 97, 110, 100, 32, 99, 97, 110, 110, 111, 116, 32, 98, 101, 32, 105, 110, 115, 116, 97, 110, 116, 105, 97, 116, 101, 100, 46, 34, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 116, 97, 116, 105, 99, 32, 95, 116, 114, 121, 76, 111, 97, 100, 40, 117, 114, 108, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 95, 95, 97, 115, 121, 110, 99, 40, 116, 104, 105, 115, 44, 32, 110, 117, 108, 108, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 42, 32, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 109, 111, 100, 117, 108, 101, 32, 61, 32, 121, 105, 101, 108, 100, 32, 100, 111, 116, 108, 111, 116, 116, 105, 101, 95, 112, 108, 97, 121, 101, 114, 95, 100, 101, 102, 97, 117, 108, 116, 40, 123, 32, 108, 111, 99, 97, 116, 101, 70, 105, 108, 101, 58, 32, 40, 41, 32, 61, 62, 32, 117, 114, 108, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 111, 100, 117, 108, 101, 59, 10, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 47, 42, 42, 10, 32, 32, 32, 32, 32, 42, 32, 84, 114, 105, 101, 115, 32, 116, 111, 32, 108, 111, 97, 100, 32, 116, 104, 101, 32, 87, 65, 83, 77, 32, 109, 111, 100, 117, 108, 101, 32, 102, 114, 111, 109, 32, 116, 104, 101, 32, 112, 114, 105, 109, 97, 114, 121, 32, 85, 82, 76, 44, 32, 102, 97, 108, 108, 105, 110, 103, 32, 98, 97, 99, 107, 32, 116, 111, 32, 97, 32, 98, 97, 99, 107, 117, 112, 32, 85, 82, 76, 32, 105, 102, 32, 110, 101, 99, 101, 115, 115, 97, 114, 121, 46, 10, 32, 32, 32, 32, 32, 42, 32, 84, 104, 114, 111, 119, 115, 32, 97, 110, 32, 101, 114, 114, 111, 114, 32, 105, 102, 32, 98, 111, 116, 104, 32, 85, 82, 76, 115, 32, 102, 97, 105, 108, 32, 116, 111, 32, 108, 111, 97, 100, 32, 116, 104, 101, 32, 109, 111, 100, 117, 108, 101, 46, 10, 32, 32, 32, 32, 32, 42, 32, 64, 114, 101, 116, 117, 114, 110, 115, 32, 80, 114, 111, 109, 105, 115, 101, 60, 77, 111, 100, 117, 108, 101, 62, 32, 45, 32, 65, 32, 112, 114, 111, 109, 105, 115, 101, 32, 116, 104, 97, 116, 32, 114, 101, 115, 111, 108, 118, 101, 115, 32, 116, 111, 32, 116, 104, 101, 32, 108, 111, 97, 100, 101, 100, 32, 109, 111, 100, 117, 108, 101, 46, 10, 32, 32, 32, 32, 32, 42, 47, 10, 32, 32, 32, 32, 115, 116, 97, 116, 105, 99, 32, 95, 108, 111, 97, 100, 87, 105, 116, 104, 66, 97, 99, 107, 117, 112, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 95, 95, 97, 115, 121, 110, 99, 40, 116, 104, 105, 115, 44, 32, 110, 117, 108, 108, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 42, 32, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 116, 104, 105, 115, 46, 95, 77, 111, 100, 117, 108, 101, 80, 114, 111, 109, 105, 115, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 77, 111, 100, 117, 108, 101, 80, 114, 111, 109, 105, 115, 101, 32, 61, 32, 116, 104, 105, 115, 46, 95, 116, 114, 121, 76, 111, 97, 100, 40, 116, 104, 105, 115, 46, 95, 119, 97, 115, 109, 85, 82, 76, 41, 46, 99, 97, 116, 99, 104, 40, 40, 105, 110, 105, 116, 105, 97, 108, 69, 114, 114, 111, 114, 41, 32, 61, 62, 32, 95, 95, 97, 115, 121, 110, 99, 40, 116, 104, 105, 115, 44, 32, 110, 117, 108, 108, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 42, 32, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 98, 97, 99, 107, 117, 112, 85, 114, 108, 32, 61, 32, 96, 104, 116, 116, 112, 115, 58, 47, 47, 117, 110, 112, 107, 103, 46, 99, 111, 109, 47, 36, 123, 80, 65, 67, 75, 65, 71, 69, 95, 78, 65, 77, 69, 125, 64, 36, 123, 80, 65, 67, 75, 65, 71, 69, 95, 86, 69, 82, 83, 73, 79, 78, 125, 47, 100, 105, 115, 116, 47, 100, 111, 116, 108, 111, 116, 116, 105, 101, 45, 112, 108, 97, 121, 101, 114, 46, 119, 97, 115, 109, 96, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 111, 108, 101, 46, 119, 97, 114, 110, 40, 96, 80, 114, 105, 109, 97, 114, 121, 32, 87, 65, 83, 77, 32, 108, 111, 97, 100, 32, 102, 97, 105, 108, 101, 100, 32, 102, 114, 111, 109, 32, 36, 123, 116, 104, 105, 115, 46, 95, 119, 97, 115, 109, 85, 82, 76, 125, 46, 32, 69, 114, 114, 111, 114, 58, 32, 36, 123, 105, 110, 105, 116, 105, 97, 108, 69, 114, 114, 111, 114, 46, 109, 101, 115, 115, 97, 103, 101, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 111, 108, 101, 46, 119, 97, 114, 110, 40, 96, 65, 116, 116, 101, 109, 112, 116, 105, 110, 103, 32, 116, 111, 32, 108, 111, 97, 100, 32, 87, 65, 83, 77, 32, 102, 114, 111, 109, 32, 98, 97, 99, 107, 117, 112, 32, 85, 82, 76, 58, 32, 36, 123, 98, 97, 99, 107, 117, 112, 85, 114, 108, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 121, 105, 101, 108, 100, 32, 116, 104, 105, 115, 46, 95, 116, 114, 121, 76, 111, 97, 100, 40, 98, 97, 99, 107, 117, 112, 85, 114, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 98, 97, 99, 107, 117, 112, 69, 114, 114, 111, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 111, 108, 101, 46, 101, 114, 114, 111, 114, 40, 96, 80, 114, 105, 109, 97, 114, 121, 32, 87, 65, 83, 77, 32, 85, 82, 76, 32, 102, 97, 105, 108, 101, 100, 58, 32, 36, 123, 105, 110, 105, 116, 105, 97, 108, 69, 114, 114, 111, 114, 46, 109, 101, 115, 115, 97, 103, 101, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 111, 108, 101, 46, 101, 114, 114, 111, 114, 40, 96, 66, 97, 99, 107, 117, 112, 32, 87, 65, 83, 77, 32, 85, 82, 76, 32, 102, 97, 105, 108, 101, 100, 58, 32, 36, 123, 98, 97, 99, 107, 117, 112, 69, 114, 114, 111, 114, 46, 109, 101, 115, 115, 97, 103, 101, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 34, 87, 65, 83, 77, 32, 108, 111, 97, 100, 105, 110, 103, 32, 102, 97, 105, 108, 101, 100, 32, 102, 114, 111, 109, 32, 97, 108, 108, 32, 115, 111, 117, 114, 99, 101, 115, 46, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 77, 111, 100, 117, 108, 101, 80, 114, 111, 109, 105, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 47, 42, 42, 10, 32, 32, 32, 32, 32, 42, 32, 80, 117, 98, 108, 105, 99, 32, 109, 101, 116, 104, 111, 100, 32, 116, 111, 32, 108, 111, 97, 100, 32, 116, 104, 101, 32, 87, 101, 98, 65, 115, 115, 101, 109, 98, 108, 121, 32, 109, 111, 100, 117, 108, 101, 46, 10, 32, 32, 32, 32, 32, 42, 32, 85, 116, 105, 108, 105, 122, 101, 115, 32, 97, 32, 112, 114, 105, 109, 97, 114, 121, 32, 97, 110, 100, 32, 98, 97, 99, 107, 117, 112, 32, 85, 82, 76, 32, 102, 111, 114, 32, 114, 111, 98, 117, 115, 116, 110, 101, 115, 115, 46, 10, 32, 32, 32, 32, 32, 42, 32, 64, 114, 101, 116, 117, 114, 110, 115, 32, 80, 114, 111, 109, 105, 115, 101, 60, 77, 111, 100, 117, 108, 101, 62, 32, 45, 32, 65, 32, 112, 114, 111, 109, 105, 115, 101, 32, 116, 104, 97, 116, 32, 114, 101, 115, 111, 108, 118, 101, 115, 32, 116, 111, 32, 116, 104, 101, 32, 108, 111, 97, 100, 101, 100, 32, 109, 111, 100, 117, 108, 101, 46, 10, 32, 32, 32, 32, 32, 42, 47, 10, 32, 32, 32, 32, 115, 116, 97, 116, 105, 99, 32, 108, 111, 97, 100, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 95, 95, 97, 115, 121, 110, 99, 40, 116, 104, 105, 115, 44, 32, 110, 117, 108, 108, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 42, 32, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 108, 111, 97, 100, 87, 105, 116, 104, 66, 97, 99, 107, 117, 112, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 47, 42, 42, 10, 32, 32, 32, 32, 32, 42, 32, 83, 101, 116, 115, 32, 97, 32, 110, 101, 119, 32, 85, 82, 76, 32, 102, 111, 114, 32, 116, 104, 101, 32, 87, 65, 83, 77, 32, 102, 105, 108, 101, 32, 97, 110, 100, 32, 105, 110, 118, 97, 108, 105, 100, 97, 116, 101, 115, 32, 116, 104, 101, 32, 99, 117, 114, 114, 101, 110, 116, 32, 109, 111, 100, 117, 108, 101, 32, 112, 114, 111, 109, 105, 115, 101, 46, 10, 32, 32, 32, 32, 32, 42, 10, 32, 32, 32, 32, 32, 42, 32, 64, 112, 97, 114, 97, 109, 32, 115, 116, 114, 105, 110, 103, 32, 45, 32, 32, 84, 104, 101, 32, 110, 101, 119, 32, 85, 82, 76, 32, 102, 111, 114, 32, 116, 104, 101, 32, 87, 65, 83, 77, 32, 102, 105, 108, 101, 46, 10, 32, 32, 32, 32, 32, 42, 47, 10, 32, 32, 32, 32, 115, 116, 97, 116, 105, 99, 32, 115, 101, 116, 87, 97, 115, 109, 85, 114, 108, 40, 117, 114, 108, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 117, 114, 108, 32, 61, 61, 61, 32, 116, 104, 105, 115, 46, 95, 119, 97, 115, 109, 85, 82, 76, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 119, 97, 115, 109, 85, 82, 76, 32, 61, 32, 117, 114, 108, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 77, 111, 100, 117, 108, 101, 80, 114, 111, 109, 105, 115, 101, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 125, 59, 10, 32, 32, 47, 47, 32, 101, 115, 108, 105, 110, 116, 45, 100, 105, 115, 97, 98, 108, 101, 45, 110, 101, 120, 116, 45, 108, 105, 110, 101, 32, 64, 116, 121, 112, 101, 115, 99, 114, 105, 112, 116, 45, 101, 115, 108, 105, 110, 116, 47, 110, 97, 109, 105, 110, 103, 45, 99, 111, 110, 118, 101, 110, 116, 105, 111, 110, 10, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 68, 111, 116, 76, 111, 116, 116, 105, 101, 87, 97, 115, 109, 76, 111, 97, 100, 101, 114, 44, 32, 34, 95, 77, 111, 100, 117, 108, 101, 80, 114, 111, 109, 105, 115, 101, 34, 44, 32, 110, 117, 108, 108, 41, 59, 10, 32, 32, 47, 47, 32, 85, 82, 76, 32, 102, 111, 114, 32, 116, 104, 101, 32, 87, 65, 83, 77, 32, 102, 105, 108, 101, 44, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 101, 100, 32, 117, 115, 105, 110, 103, 32, 112, 97, 99, 107, 97, 103, 101, 32, 105, 110, 102, 111, 114, 109, 97, 116, 105, 111, 110, 10, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 68, 111, 116, 76, 111, 116, 116, 105, 101, 87, 97, 115, 109, 76, 111, 97, 100, 101, 114, 44, 32, 34, 95, 119, 97, 115, 109, 85, 82, 76, 34, 44, 32, 96, 104, 116, 116, 112, 115, 58, 47, 47, 99, 100, 110, 46, 106, 115, 100, 101, 108, 105, 118, 114, 46, 110, 101, 116, 47, 110, 112, 109, 47, 36, 123, 80, 65, 67, 75, 65, 71, 69, 95, 78, 65, 77, 69, 125, 64, 36, 123, 80, 65, 67, 75, 65, 71, 69, 95, 86, 69, 82, 83, 73, 79, 78, 125, 47, 100, 105, 115, 116, 47, 100, 111, 116, 108, 111, 116, 116, 105, 101, 45, 112, 108, 97, 121, 101, 114, 46, 119, 97, 115, 109, 96, 41, 59, 10, 10, 32, 32, 47, 47, 32, 115, 114, 99, 47, 101, 118, 101, 110, 116, 45, 109, 97, 110, 97, 103, 101, 114, 46, 116, 115, 10, 32, 32, 118, 97, 114, 32, 69, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 32, 61, 32, 99, 108, 97, 115, 115, 32, 123, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 101, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 115, 34, 44, 32, 47, 42, 32, 64, 95, 95, 80, 85, 82, 69, 95, 95, 32, 42, 47, 32, 110, 101, 119, 32, 77, 97, 112, 40, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 97, 100, 100, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 116, 121, 112, 101, 44, 32, 108, 105, 115, 116, 101, 110, 101, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 32, 61, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 115, 46, 103, 101, 116, 40, 116, 121, 112, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 108, 105, 115, 116, 101, 110, 101, 114, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 32, 61, 32, 47, 42, 32, 64, 95, 95, 80, 85, 82, 69, 95, 95, 32, 42, 47, 32, 110, 101, 119, 32, 83, 101, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 115, 46, 115, 101, 116, 40, 116, 121, 112, 101, 44, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 46, 97, 100, 100, 40, 108, 105, 115, 116, 101, 110, 101, 114, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 114, 101, 109, 111, 118, 101, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 116, 121, 112, 101, 44, 32, 108, 105, 115, 116, 101, 110, 101, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 32, 61, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 115, 46, 103, 101, 116, 40, 116, 121, 112, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 108, 105, 115, 116, 101, 110, 101, 114, 115, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 105, 115, 116, 101, 110, 101, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 46, 100, 101, 108, 101, 116, 101, 40, 108, 105, 115, 116, 101, 110, 101, 114, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 105, 115, 116, 101, 110, 101, 114, 115, 46, 115, 105, 122, 101, 32, 61, 61, 61, 32, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 115, 46, 100, 101, 108, 101, 116, 101, 40, 116, 121, 112, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 115, 46, 100, 101, 108, 101, 116, 101, 40, 116, 121, 112, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 100, 105, 115, 112, 97, 116, 99, 104, 40, 101, 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 32, 61, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 115, 46, 103, 101, 116, 40, 101, 118, 101, 110, 116, 46, 116, 121, 112, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 46, 102, 111, 114, 69, 97, 99, 104, 40, 40, 108, 105, 115, 116, 101, 110, 101, 114, 41, 32, 61, 62, 32, 108, 105, 115, 116, 101, 110, 101, 114, 40, 101, 118, 101, 110, 116, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 114, 101, 109, 111, 118, 101, 65, 108, 108, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 115, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 115, 46, 99, 108, 101, 97, 114, 40, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 125, 59, 10, 10, 32, 32, 47, 47, 32, 115, 114, 99, 47, 111, 102, 102, 115, 99, 114, 101, 101, 110, 45, 111, 98, 115, 101, 114, 118, 101, 114, 46, 116, 115, 10, 32, 32, 118, 97, 114, 32, 79, 102, 102, 115, 99, 114, 101, 101, 110, 79, 98, 115, 101, 114, 118, 101, 114, 32, 61, 32, 99, 108, 97, 115, 115, 32, 123, 10, 32, 32, 32, 32, 115, 116, 97, 116, 105, 99, 32, 95, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 79, 98, 115, 101, 114, 118, 101, 114, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 114, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 79, 98, 115, 101, 114, 118, 101, 114, 67, 97, 108, 108, 98, 97, 99, 107, 32, 61, 32, 40, 101, 110, 116, 114, 105, 101, 115, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 110, 116, 114, 105, 101, 115, 46, 102, 111, 114, 69, 97, 99, 104, 40, 40, 101, 110, 116, 114, 121, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 100, 67, 97, 110, 118, 97, 115, 101, 115, 46, 103, 101, 116, 40, 101, 110, 116, 114, 121, 46, 116, 97, 114, 103, 101, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 101, 110, 116, 114, 121, 46, 105, 115, 73, 110, 116, 101, 114, 115, 101, 99, 116, 105, 110, 103, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 117, 110, 102, 114, 101, 101, 122, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 102, 114, 101, 101, 122, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 114, 32, 61, 32, 110, 101, 119, 32, 73, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 79, 98, 115, 101, 114, 118, 101, 114, 40, 105, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 79, 98, 115, 101, 114, 118, 101, 114, 67, 97, 108, 108, 98, 97, 99, 107, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 101, 115, 104, 111, 108, 100, 58, 32, 48, 10, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 116, 97, 116, 105, 99, 32, 111, 98, 115, 101, 114, 118, 101, 40, 99, 97, 110, 118, 97, 115, 44, 32, 100, 111, 116, 76, 111, 116, 116, 105, 101, 73, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 79, 98, 115, 101, 114, 118, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 100, 67, 97, 110, 118, 97, 115, 101, 115, 46, 104, 97, 115, 40, 99, 97, 110, 118, 97, 115, 41, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 100, 67, 97, 110, 118, 97, 115, 101, 115, 46, 115, 101, 116, 40, 99, 97, 110, 118, 97, 115, 44, 32, 100, 111, 116, 76, 111, 116, 116, 105, 101, 73, 110, 115, 116, 97, 110, 99, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 114, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 111, 98, 115, 101, 114, 118, 101, 40, 99, 97, 110, 118, 97, 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 116, 97, 116, 105, 99, 32, 117, 110, 111, 98, 115, 101, 114, 118, 101, 40, 99, 97, 110, 118, 97, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 44, 32, 95, 98, 59, 10, 32, 32, 32, 32, 32, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 114, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 117, 110, 111, 98, 115, 101, 114, 118, 101, 40, 99, 97, 110, 118, 97, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 100, 67, 97, 110, 118, 97, 115, 101, 115, 46, 100, 101, 108, 101, 116, 101, 40, 99, 97, 110, 118, 97, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 100, 67, 97, 110, 118, 97, 115, 101, 115, 46, 115, 105, 122, 101, 32, 61, 61, 61, 32, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 40, 95, 98, 32, 61, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 114, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 98, 46, 100, 105, 115, 99, 111, 110, 110, 101, 99, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 114, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 125, 59, 10, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 79, 102, 102, 115, 99, 114, 101, 101, 110, 79, 98, 115, 101, 114, 118, 101, 114, 44, 32, 34, 95, 111, 98, 115, 101, 114, 118, 101, 114, 34, 44, 32, 110, 117, 108, 108, 41, 59, 10, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 79, 102, 102, 115, 99, 114, 101, 101, 110, 79, 98, 115, 101, 114, 118, 101, 114, 44, 32, 34, 95, 111, 98, 115, 101, 114, 118, 101, 100, 67, 97, 110, 118, 97, 115, 101, 115, 34, 44, 32, 47, 42, 32, 64, 95, 95, 80, 85, 82, 69, 95, 95, 32, 42, 47, 32, 110, 101, 119, 32, 77, 97, 112, 40, 41, 41, 59, 10, 10, 32, 32, 47, 47, 32, 115, 114, 99, 47, 114, 101, 115, 105, 122, 101, 45, 111, 98, 115, 101, 114, 118, 101, 114, 46, 116, 115, 10, 32, 32, 118, 97, 114, 32, 82, 69, 83, 73, 90, 69, 95, 68, 69, 66, 79, 85, 78, 67, 69, 95, 84, 73, 77, 69, 32, 61, 32, 49, 48, 48, 59, 10, 32, 32, 118, 97, 114, 32, 67, 97, 110, 118, 97, 115, 82, 101, 115, 105, 122, 101, 79, 98, 115, 101, 114, 118, 101, 114, 32, 61, 32, 99, 108, 97, 115, 115, 32, 123, 10, 32, 32, 32, 32, 115, 116, 97, 116, 105, 99, 32, 95, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 79, 98, 115, 101, 114, 118, 101, 114, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 114, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 105, 122, 101, 72, 97, 110, 100, 108, 101, 114, 32, 61, 32, 40, 101, 110, 116, 114, 105, 101, 115, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 110, 116, 114, 105, 101, 115, 46, 102, 111, 114, 69, 97, 99, 104, 40, 40, 101, 110, 116, 114, 121, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 101, 108, 101, 109, 101, 110, 116, 32, 61, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 100, 67, 97, 110, 118, 97, 115, 101, 115, 46, 103, 101, 116, 40, 101, 110, 116, 114, 121, 46, 116, 97, 114, 103, 101, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 101, 108, 101, 109, 101, 110, 116, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 91, 100, 111, 116, 76, 111, 116, 116, 105, 101, 73, 110, 115, 116, 97, 110, 99, 101, 44, 32, 116, 105, 109, 101, 111, 117, 116, 93, 32, 61, 32, 101, 108, 101, 109, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 101, 97, 114, 84, 105, 109, 101, 111, 117, 116, 40, 116, 105, 109, 101, 111, 117, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 110, 101, 119, 84, 105, 109, 101, 111, 117, 116, 32, 61, 32, 115, 101, 116, 84, 105, 109, 101, 111, 117, 116, 40, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 111, 116, 76, 111, 116, 116, 105, 101, 73, 110, 115, 116, 97, 110, 99, 101, 46, 114, 101, 115, 105, 122, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 32, 82, 69, 83, 73, 90, 69, 95, 68, 69, 66, 79, 85, 78, 67, 69, 95, 84, 73, 77, 69, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 100, 67, 97, 110, 118, 97, 115, 101, 115, 46, 115, 101, 116, 40, 101, 110, 116, 114, 121, 46, 116, 97, 114, 103, 101, 116, 44, 32, 91, 100, 111, 116, 76, 111, 116, 116, 105, 101, 73, 110, 115, 116, 97, 110, 99, 101, 44, 32, 110, 101, 119, 84, 105, 109, 101, 111, 117, 116, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 114, 32, 61, 32, 110, 101, 119, 32, 82, 101, 115, 105, 122, 101, 79, 98, 115, 101, 114, 118, 101, 114, 40, 114, 101, 115, 105, 122, 101, 72, 97, 110, 100, 108, 101, 114, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 116, 97, 116, 105, 99, 32, 111, 98, 115, 101, 114, 118, 101, 40, 99, 97, 110, 118, 97, 115, 44, 32, 100, 111, 116, 76, 111, 116, 116, 105, 101, 73, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 79, 98, 115, 101, 114, 118, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 100, 67, 97, 110, 118, 97, 115, 101, 115, 46, 104, 97, 115, 40, 99, 97, 110, 118, 97, 115, 41, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 100, 67, 97, 110, 118, 97, 115, 101, 115, 46, 115, 101, 116, 40, 99, 97, 110, 118, 97, 115, 44, 32, 91, 100, 111, 116, 76, 111, 116, 116, 105, 101, 73, 110, 115, 116, 97, 110, 99, 101, 44, 32, 48, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 114, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 111, 98, 115, 101, 114, 118, 101, 40, 99, 97, 110, 118, 97, 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 116, 97, 116, 105, 99, 32, 117, 110, 111, 98, 115, 101, 114, 118, 101, 40, 99, 97, 110, 118, 97, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 44, 32, 95, 98, 59, 10, 32, 32, 32, 32, 32, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 114, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 117, 110, 111, 98, 115, 101, 114, 118, 101, 40, 99, 97, 110, 118, 97, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 100, 67, 97, 110, 118, 97, 115, 101, 115, 46, 100, 101, 108, 101, 116, 101, 40, 99, 97, 110, 118, 97, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 100, 67, 97, 110, 118, 97, 115, 101, 115, 46, 115, 105, 122, 101, 32, 61, 61, 61, 32, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 40, 95, 98, 32, 61, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 114, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 98, 46, 100, 105, 115, 99, 111, 110, 110, 101, 99, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 114, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 125, 59, 10, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 67, 97, 110, 118, 97, 115, 82, 101, 115, 105, 122, 101, 79, 98, 115, 101, 114, 118, 101, 114, 44, 32, 34, 95, 111, 98, 115, 101, 114, 118, 101, 114, 34, 44, 32, 110, 117, 108, 108, 41, 59, 10, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 67, 97, 110, 118, 97, 115, 82, 101, 115, 105, 122, 101, 79, 98, 115, 101, 114, 118, 101, 114, 44, 32, 34, 95, 111, 98, 115, 101, 114, 118, 101, 100, 67, 97, 110, 118, 97, 115, 101, 115, 34, 44, 32, 47, 42, 32, 64, 95, 95, 80, 85, 82, 69, 95, 95, 32, 42, 47, 32, 110, 101, 119, 32, 77, 97, 112, 40, 41, 41, 59, 10, 10, 32, 32, 47, 47, 32, 115, 114, 99, 47, 117, 116, 105, 108, 115, 46, 116, 115, 10, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 115, 72, 101, 120, 67, 111, 108, 111, 114, 40, 99, 111, 108, 111, 114, 41, 32, 123, 10, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 47, 94, 35, 40, 91, 92, 100, 97, 45, 102, 93, 123, 54, 125, 124, 91, 92, 100, 97, 45, 102, 93, 123, 56, 125, 41, 36, 47, 105, 117, 46, 116, 101, 115, 116, 40, 99, 111, 108, 111, 114, 41, 59, 10, 32, 32, 125, 10, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 104, 101, 120, 83, 116, 114, 105, 110, 103, 84, 111, 82, 71, 66, 65, 73, 110, 116, 40, 99, 111, 108, 111, 114, 72, 101, 120, 41, 32, 123, 10, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 115, 72, 101, 120, 67, 111, 108, 111, 114, 40, 99, 111, 108, 111, 114, 72, 101, 120, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 48, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 108, 101, 116, 32, 104, 101, 120, 32, 61, 32, 99, 111, 108, 111, 114, 72, 101, 120, 46, 114, 101, 112, 108, 97, 99, 101, 40, 34, 35, 34, 44, 32, 34, 34, 41, 59, 10, 32, 32, 32, 32, 104, 101, 120, 32, 61, 32, 104, 101, 120, 46, 108, 101, 110, 103, 116, 104, 32, 61, 61, 61, 32, 54, 32, 63, 32, 96, 36, 123, 104, 101, 120, 125, 102, 102, 96, 32, 58, 32, 104, 101, 120, 59, 10, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 97, 114, 115, 101, 73, 110, 116, 40, 104, 101, 120, 44, 32, 49, 54, 41, 59, 10, 32, 32, 125, 10, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 115, 68, 111, 116, 76, 111, 116, 116, 105, 101, 40, 102, 105, 108, 101, 68, 97, 116, 97, 41, 32, 123, 10, 32, 32, 32, 32, 105, 102, 32, 40, 102, 105, 108, 101, 68, 97, 116, 97, 46, 98, 121, 116, 101, 76, 101, 110, 103, 116, 104, 32, 60, 32, 52, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 102, 105, 108, 101, 83, 105, 103, 110, 97, 116, 117, 114, 101, 32, 61, 32, 110, 101, 119, 32, 85, 105, 110, 116, 56, 65, 114, 114, 97, 121, 40, 102, 105, 108, 101, 68, 97, 116, 97, 46, 115, 108, 105, 99, 101, 40, 48, 44, 32, 90, 73, 80, 95, 83, 73, 71, 78, 65, 84, 85, 82, 69, 46, 98, 121, 116, 101, 76, 101, 110, 103, 116, 104, 41, 41, 59, 10, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 90, 73, 80, 95, 83, 73, 71, 78, 65, 84, 85, 82, 69, 46, 108, 101, 110, 103, 116, 104, 59, 32, 105, 32, 43, 61, 32, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 90, 73, 80, 95, 83, 73, 71, 78, 65, 84, 85, 82, 69, 91, 105, 93, 32, 33, 61, 61, 32, 102, 105, 108, 101, 83, 105, 103, 110, 97, 116, 117, 114, 101, 91, 105, 93, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 114, 117, 101, 59, 10, 32, 32, 125, 10, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 115, 76, 111, 116, 116, 105, 101, 74, 83, 79, 78, 40, 106, 115, 111, 110, 41, 32, 123, 10, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 76, 79, 84, 84, 73, 69, 95, 74, 83, 79, 78, 95, 77, 65, 78, 68, 65, 84, 79, 82, 89, 95, 70, 73, 69, 76, 68, 83, 46, 101, 118, 101, 114, 121, 40, 40, 102, 105, 101, 108, 100, 41, 32, 61, 62, 32, 79, 98, 106, 101, 99, 116, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 46, 99, 97, 108, 108, 40, 106, 115, 111, 110, 44, 32, 102, 105, 101, 108, 100, 41, 41, 59, 10, 32, 32, 125, 10, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 115, 76, 111, 116, 116, 105, 101, 40, 102, 105, 108, 101, 68, 97, 116, 97, 41, 32, 123, 10, 32, 32, 32, 32, 105, 102, 32, 40, 116, 121, 112, 101, 111, 102, 32, 102, 105, 108, 101, 68, 97, 116, 97, 32, 61, 61, 61, 32, 34, 115, 116, 114, 105, 110, 103, 34, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 115, 76, 111, 116, 116, 105, 101, 74, 83, 79, 78, 40, 74, 83, 79, 78, 46, 112, 97, 114, 115, 101, 40, 102, 105, 108, 101, 68, 97, 116, 97, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 95, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 115, 76, 111, 116, 116, 105, 101, 74, 83, 79, 78, 40, 102, 105, 108, 101, 68, 97, 116, 97, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 125, 10, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 103, 101, 116, 68, 101, 102, 97, 117, 108, 116, 68, 80, 82, 40, 41, 32, 123, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 100, 112, 114, 32, 61, 32, 73, 83, 95, 66, 82, 79, 87, 83, 69, 82, 32, 63, 32, 119, 105, 110, 100, 111, 119, 46, 100, 101, 118, 105, 99, 101, 80, 105, 120, 101, 108, 82, 97, 116, 105, 111, 32, 58, 32, 49, 59, 10, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 49, 32, 43, 32, 40, 100, 112, 114, 32, 45, 32, 49, 41, 32, 42, 32, 68, 69, 70, 65, 85, 76, 84, 95, 68, 80, 82, 95, 70, 65, 67, 84, 79, 82, 59, 10, 32, 32, 125, 10, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 115, 69, 108, 101, 109, 101, 110, 116, 73, 110, 86, 105, 101, 119, 112, 111, 114, 116, 40, 101, 108, 101, 109, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 99, 116, 32, 61, 32, 101, 108, 101, 109, 101, 110, 116, 46, 103, 101, 116, 66, 111, 117, 110, 100, 105, 110, 103, 67, 108, 105, 101, 110, 116, 82, 101, 99, 116, 40, 41, 59, 10, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 101, 99, 116, 46, 116, 111, 112, 32, 62, 61, 32, 48, 32, 38, 38, 32, 114, 101, 99, 116, 46, 108, 101, 102, 116, 32, 62, 61, 32, 48, 32, 38, 38, 32, 114, 101, 99, 116, 46, 98, 111, 116, 116, 111, 109, 32, 60, 61, 32, 40, 119, 105, 110, 100, 111, 119, 46, 105, 110, 110, 101, 114, 72, 101, 105, 103, 104, 116, 32, 124, 124, 32, 100, 111, 99, 117, 109, 101, 110, 116, 46, 100, 111, 99, 117, 109, 101, 110, 116, 69, 108, 101, 109, 101, 110, 116, 46, 99, 108, 105, 101, 110, 116, 72, 101, 105, 103, 104, 116, 41, 32, 38, 38, 32, 114, 101, 99, 116, 46, 114, 105, 103, 104, 116, 32, 60, 61, 32, 40, 119, 105, 110, 100, 111, 119, 46, 105, 110, 110, 101, 114, 87, 105, 100, 116, 104, 32, 124, 124, 32, 100, 111, 99, 117, 109, 101, 110, 116, 46, 100, 111, 99, 117, 109, 101, 110, 116, 69, 108, 101, 109, 101, 110, 116, 46, 99, 108, 105, 101, 110, 116, 87, 105, 100, 116, 104, 41, 59, 10, 32, 32, 125, 10, 10, 32, 32, 47, 47, 32, 115, 114, 99, 47, 100, 111, 116, 108, 111, 116, 116, 105, 101, 46, 116, 115, 10, 32, 32, 118, 97, 114, 32, 99, 114, 101, 97, 116, 101, 67, 111, 114, 101, 77, 111, 100, 101, 32, 61, 32, 40, 109, 111, 100, 101, 44, 32, 109, 111, 100, 117, 108, 101, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 105, 102, 32, 40, 109, 111, 100, 101, 32, 61, 61, 61, 32, 34, 114, 101, 118, 101, 114, 115, 101, 34, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 111, 100, 117, 108, 101, 46, 77, 111, 100, 101, 46, 82, 101, 118, 101, 114, 115, 101, 59, 10, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 109, 111, 100, 101, 32, 61, 61, 61, 32, 34, 98, 111, 117, 110, 99, 101, 34, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 111, 100, 117, 108, 101, 46, 77, 111, 100, 101, 46, 66, 111, 117, 110, 99, 101, 59, 10, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 109, 111, 100, 101, 32, 61, 61, 61, 32, 34, 114, 101, 118, 101, 114, 115, 101, 45, 98, 111, 117, 110, 99, 101, 34, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 111, 100, 117, 108, 101, 46, 77, 111, 100, 101, 46, 82, 101, 118, 101, 114, 115, 101, 66, 111, 117, 110, 99, 101, 59, 10, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 111, 100, 117, 108, 101, 46, 77, 111, 100, 101, 46, 70, 111, 114, 119, 97, 114, 100, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 125, 59, 10, 32, 32, 118, 97, 114, 32, 99, 114, 101, 97, 116, 101, 67, 111, 114, 101, 70, 105, 116, 32, 61, 32, 40, 102, 105, 116, 44, 32, 109, 111, 100, 117, 108, 101, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 105, 102, 32, 40, 102, 105, 116, 32, 61, 61, 61, 32, 34, 99, 111, 110, 116, 97, 105, 110, 34, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 111, 100, 117, 108, 101, 46, 70, 105, 116, 46, 67, 111, 110, 116, 97, 105, 110, 59, 10, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 102, 105, 116, 32, 61, 61, 61, 32, 34, 99, 111, 118, 101, 114, 34, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 111, 100, 117, 108, 101, 46, 70, 105, 116, 46, 67, 111, 118, 101, 114, 59, 10, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 102, 105, 116, 32, 61, 61, 61, 32, 34, 102, 105, 108, 108, 34, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 111, 100, 117, 108, 101, 46, 70, 105, 116, 46, 70, 105, 108, 108, 59, 10, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 102, 105, 116, 32, 61, 61, 61, 32, 34, 102, 105, 116, 45, 104, 101, 105, 103, 104, 116, 34, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 111, 100, 117, 108, 101, 46, 70, 105, 116, 46, 70, 105, 116, 72, 101, 105, 103, 104, 116, 59, 10, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 102, 105, 116, 32, 61, 61, 61, 32, 34, 102, 105, 116, 45, 119, 105, 100, 116, 104, 34, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 111, 100, 117, 108, 101, 46, 70, 105, 116, 46, 70, 105, 116, 87, 105, 100, 116, 104, 59, 10, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 111, 100, 117, 108, 101, 46, 70, 105, 116, 46, 78, 111, 110, 101, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 125, 59, 10, 32, 32, 118, 97, 114, 32, 99, 114, 101, 97, 116, 101, 67, 111, 114, 101, 65, 108, 105, 103, 110, 32, 61, 32, 40, 97, 108, 105, 103, 110, 44, 32, 109, 111, 100, 117, 108, 101, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 99, 111, 114, 101, 65, 108, 105, 103, 110, 32, 61, 32, 110, 101, 119, 32, 109, 111, 100, 117, 108, 101, 46, 86, 101, 99, 116, 111, 114, 70, 108, 111, 97, 116, 40, 41, 59, 10, 32, 32, 32, 32, 99, 111, 114, 101, 65, 108, 105, 103, 110, 46, 112, 117, 115, 104, 95, 98, 97, 99, 107, 40, 97, 108, 105, 103, 110, 91, 48, 93, 41, 59, 10, 32, 32, 32, 32, 99, 111, 114, 101, 65, 108, 105, 103, 110, 46, 112, 117, 115, 104, 95, 98, 97, 99, 107, 40, 97, 108, 105, 103, 110, 91, 49, 93, 41, 59, 10, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 114, 101, 65, 108, 105, 103, 110, 59, 10, 32, 32, 125, 59, 10, 32, 32, 118, 97, 114, 32, 99, 114, 101, 97, 116, 101, 67, 111, 114, 101, 83, 101, 103, 109, 101, 110, 116, 32, 61, 32, 40, 115, 101, 103, 109, 101, 110, 116, 44, 32, 109, 111, 100, 117, 108, 101, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 99, 111, 114, 101, 115, 101, 103, 109, 101, 110, 116, 32, 61, 32, 110, 101, 119, 32, 109, 111, 100, 117, 108, 101, 46, 86, 101, 99, 116, 111, 114, 70, 108, 111, 97, 116, 40, 41, 59, 10, 32, 32, 32, 32, 105, 102, 32, 40, 115, 101, 103, 109, 101, 110, 116, 46, 108, 101, 110, 103, 116, 104, 32, 33, 61, 61, 32, 50, 41, 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 114, 101, 115, 101, 103, 109, 101, 110, 116, 59, 10, 32, 32, 32, 32, 99, 111, 114, 101, 115, 101, 103, 109, 101, 110, 116, 46, 112, 117, 115, 104, 95, 98, 97, 99, 107, 40, 115, 101, 103, 109, 101, 110, 116, 91, 48, 93, 41, 59, 10, 32, 32, 32, 32, 99, 111, 114, 101, 115, 101, 103, 109, 101, 110, 116, 46, 112, 117, 115, 104, 95, 98, 97, 99, 107, 40, 115, 101, 103, 109, 101, 110, 116, 91, 49, 93, 41, 59, 10, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 114, 101, 115, 101, 103, 109, 101, 110, 116, 59, 10, 32, 32, 125, 59, 10, 32, 32, 118, 97, 114, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 32, 61, 32, 99, 108, 97, 115, 115, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 32, 123, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 40, 99, 111, 110, 102, 105, 103, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 99, 97, 110, 118, 97, 115, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 99, 111, 110, 116, 101, 120, 116, 34, 44, 32, 110, 117, 108, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 97, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 73, 100, 34, 44, 32, 110, 117, 108, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 102, 114, 97, 109, 101, 77, 97, 110, 97, 103, 101, 114, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 34, 44, 32, 110, 117, 108, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 34, 44, 32, 123, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 105, 115, 70, 114, 111, 122, 101, 110, 34, 44, 32, 102, 97, 108, 115, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 34, 44, 32, 110, 117, 108, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 112, 111, 105, 110, 116, 101, 114, 85, 112, 77, 101, 116, 104, 111, 100, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 112, 111, 105, 110, 116, 101, 114, 68, 111, 119, 110, 77, 101, 116, 104, 111, 100, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 112, 111, 105, 110, 116, 101, 114, 77, 111, 118, 101, 77, 101, 116, 104, 111, 100, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 112, 111, 105, 110, 116, 101, 114, 69, 110, 116, 101, 114, 77, 101, 116, 104, 111, 100, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 112, 111, 105, 110, 116, 101, 114, 69, 120, 105, 116, 77, 101, 116, 104, 111, 100, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 44, 32, 95, 98, 44, 32, 95, 99, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 32, 61, 32, 99, 111, 110, 102, 105, 103, 46, 99, 97, 110, 118, 97, 115, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 103, 101, 116, 67, 111, 110, 116, 101, 120, 116, 40, 34, 50, 100, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 32, 61, 32, 110, 101, 119, 32, 69, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 102, 114, 97, 109, 101, 77, 97, 110, 97, 103, 101, 114, 32, 61, 32, 110, 101, 119, 32, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 77, 97, 110, 97, 103, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 32, 61, 32, 95, 95, 115, 112, 114, 101, 97, 100, 80, 114, 111, 112, 115, 40, 95, 95, 115, 112, 114, 101, 97, 100, 86, 97, 108, 117, 101, 115, 40, 123, 125, 44, 32, 99, 111, 110, 102, 105, 103, 46, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 41, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 118, 105, 99, 101, 80, 105, 120, 101, 108, 82, 97, 116, 105, 111, 58, 32, 40, 40, 95, 97, 32, 61, 32, 99, 111, 110, 102, 105, 103, 46, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 100, 101, 118, 105, 99, 101, 80, 105, 120, 101, 108, 82, 97, 116, 105, 111, 41, 32, 124, 124, 32, 103, 101, 116, 68, 101, 102, 97, 117, 108, 116, 68, 80, 82, 40, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 102, 114, 101, 101, 122, 101, 79, 110, 79, 102, 102, 115, 99, 114, 101, 101, 110, 32, 105, 115, 32, 116, 114, 117, 101, 32, 98, 121, 32, 100, 101, 102, 97, 117, 108, 116, 32, 116, 111, 32, 112, 114, 101, 118, 101, 110, 116, 32, 117, 110, 110, 101, 99, 101, 115, 115, 97, 114, 121, 32, 114, 101, 110, 100, 101, 114, 105, 110, 103, 32, 119, 104, 101, 110, 32, 116, 104, 101, 32, 99, 97, 110, 118, 97, 115, 32, 105, 115, 32, 111, 102, 102, 115, 99, 114, 101, 101, 110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 114, 101, 101, 122, 101, 79, 110, 79, 102, 102, 115, 99, 114, 101, 101, 110, 58, 32, 40, 95, 99, 32, 61, 32, 40, 95, 98, 32, 61, 32, 99, 111, 110, 102, 105, 103, 46, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 98, 46, 102, 114, 101, 101, 122, 101, 79, 110, 79, 102, 102, 115, 99, 114, 101, 101, 110, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 99, 32, 58, 32, 116, 114, 117, 101, 10, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 68, 111, 116, 76, 111, 116, 116, 105, 101, 87, 97, 115, 109, 76, 111, 97, 100, 101, 114, 46, 108, 111, 97, 100, 40, 41, 46, 116, 104, 101, 110, 40, 40, 109, 111, 100, 117, 108, 101, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 50, 44, 32, 95, 98, 50, 44, 32, 95, 99, 50, 44, 32, 95, 100, 44, 32, 95, 101, 44, 32, 95, 102, 44, 32, 95, 103, 44, 32, 95, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 32, 61, 32, 109, 111, 100, 117, 108, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 32, 110, 101, 119, 32, 109, 111, 100, 117, 108, 101, 46, 68, 111, 116, 76, 111, 116, 116, 105, 101, 80, 108, 97, 121, 101, 114, 40, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 101, 109, 101, 73, 100, 58, 32, 40, 95, 97, 50, 32, 61, 32, 99, 111, 110, 102, 105, 103, 46, 116, 104, 101, 109, 101, 73, 100, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 97, 50, 32, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 117, 116, 111, 112, 108, 97, 121, 58, 32, 40, 95, 98, 50, 32, 61, 32, 99, 111, 110, 102, 105, 103, 46, 97, 117, 116, 111, 112, 108, 97, 121, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 98, 50, 32, 58, 32, 102, 97, 108, 115, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 58, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, 111, 112, 65, 110, 105, 109, 97, 116, 105, 111, 110, 58, 32, 40, 95, 99, 50, 32, 61, 32, 99, 111, 110, 102, 105, 103, 46, 108, 111, 111, 112, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 99, 50, 32, 58, 32, 102, 97, 108, 115, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 111, 100, 101, 58, 32, 99, 114, 101, 97, 116, 101, 67, 111, 114, 101, 77, 111, 100, 101, 40, 40, 95, 100, 32, 61, 32, 99, 111, 110, 102, 105, 103, 46, 109, 111, 100, 101, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 100, 32, 58, 32, 34, 102, 111, 114, 119, 97, 114, 100, 34, 44, 32, 109, 111, 100, 117, 108, 101, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 103, 109, 101, 110, 116, 58, 32, 99, 114, 101, 97, 116, 101, 67, 111, 114, 101, 83, 101, 103, 109, 101, 110, 116, 40, 40, 95, 101, 32, 61, 32, 99, 111, 110, 102, 105, 103, 46, 115, 101, 103, 109, 101, 110, 116, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 101, 32, 58, 32, 91, 93, 44, 32, 109, 111, 100, 117, 108, 101, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 112, 101, 101, 100, 58, 32, 40, 95, 102, 32, 61, 32, 99, 111, 110, 102, 105, 103, 46, 115, 112, 101, 101, 100, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 102, 32, 58, 32, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 117, 115, 101, 70, 114, 97, 109, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 58, 32, 40, 95, 103, 32, 61, 32, 99, 111, 110, 102, 105, 103, 46, 117, 115, 101, 70, 114, 97, 109, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 103, 32, 58, 32, 116, 114, 117, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 97, 114, 107, 101, 114, 58, 32, 40, 95, 104, 32, 61, 32, 99, 111, 110, 102, 105, 103, 46, 109, 97, 114, 107, 101, 114, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 104, 32, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 121, 111, 117, 116, 58, 32, 99, 111, 110, 102, 105, 103, 46, 108, 97, 121, 111, 117, 116, 32, 63, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 108, 105, 103, 110, 58, 32, 99, 114, 101, 97, 116, 101, 67, 111, 114, 101, 65, 108, 105, 103, 110, 40, 99, 111, 110, 102, 105, 103, 46, 108, 97, 121, 111, 117, 116, 46, 97, 108, 105, 103, 110, 44, 32, 109, 111, 100, 117, 108, 101, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 105, 116, 58, 32, 99, 114, 101, 97, 116, 101, 67, 111, 114, 101, 70, 105, 116, 40, 99, 111, 110, 102, 105, 103, 46, 108, 97, 121, 111, 117, 116, 46, 102, 105, 116, 44, 32, 109, 111, 100, 117, 108, 101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 58, 32, 109, 111, 100, 117, 108, 101, 46, 99, 114, 101, 97, 116, 101, 68, 101, 102, 97, 117, 108, 116, 76, 97, 121, 111, 117, 116, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 32, 116, 121, 112, 101, 58, 32, 34, 114, 101, 97, 100, 121, 34, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 111, 110, 102, 105, 103, 46, 100, 97, 116, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 111, 97, 100, 70, 114, 111, 109, 68, 97, 116, 97, 40, 99, 111, 110, 102, 105, 103, 46, 100, 97, 116, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 99, 111, 110, 102, 105, 103, 46, 115, 114, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 111, 97, 100, 70, 114, 111, 109, 83, 114, 99, 40, 99, 111, 110, 102, 105, 103, 46, 115, 114, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 111, 110, 102, 105, 103, 46, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 115, 101, 116, 66, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 40, 99, 111, 110, 102, 105, 103, 46, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 41, 46, 99, 97, 116, 99, 104, 40, 40, 101, 114, 114, 111, 114, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 121, 112, 101, 58, 32, 34, 108, 111, 97, 100, 69, 114, 114, 111, 114, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 114, 114, 111, 114, 58, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 70, 97, 105, 108, 101, 100, 32, 116, 111, 32, 108, 111, 97, 100, 32, 119, 97, 115, 109, 32, 109, 111, 100, 117, 108, 101, 58, 32, 36, 123, 101, 114, 114, 111, 114, 125, 96, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 101, 114, 85, 112, 77, 101, 116, 104, 111, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 111, 110, 80, 111, 105, 110, 116, 101, 114, 85, 112, 46, 98, 105, 110, 100, 40, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 101, 114, 68, 111, 119, 110, 77, 101, 116, 104, 111, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 111, 110, 80, 111, 105, 110, 116, 101, 114, 68, 111, 119, 110, 46, 98, 105, 110, 100, 40, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 101, 114, 77, 111, 118, 101, 77, 101, 116, 104, 111, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 111, 110, 80, 111, 105, 110, 116, 101, 114, 77, 111, 118, 101, 46, 98, 105, 110, 100, 40, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 101, 114, 69, 110, 116, 101, 114, 77, 101, 116, 104, 111, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 111, 110, 80, 111, 105, 110, 116, 101, 114, 69, 110, 116, 101, 114, 46, 98, 105, 110, 100, 40, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 101, 114, 69, 120, 105, 116, 77, 101, 116, 104, 111, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 111, 110, 80, 111, 105, 110, 116, 101, 114, 76, 101, 97, 118, 101, 46, 98, 105, 110, 100, 40, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 95, 100, 105, 115, 112, 97, 116, 99, 104, 69, 114, 114, 111, 114, 40, 109, 101, 115, 115, 97, 103, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 111, 108, 101, 46, 101, 114, 114, 111, 114, 40, 109, 101, 115, 115, 97, 103, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 32, 116, 121, 112, 101, 58, 32, 34, 108, 111, 97, 100, 69, 114, 114, 111, 114, 34, 44, 32, 101, 114, 114, 111, 114, 58, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 109, 101, 115, 115, 97, 103, 101, 41, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 95, 102, 101, 116, 99, 104, 68, 97, 116, 97, 40, 115, 114, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 95, 95, 97, 115, 121, 110, 99, 40, 116, 104, 105, 115, 44, 32, 110, 117, 108, 108, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 42, 32, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 112, 111, 110, 115, 101, 32, 61, 32, 121, 105, 101, 108, 100, 32, 102, 101, 116, 99, 104, 40, 115, 114, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 114, 101, 115, 112, 111, 110, 115, 101, 46, 111, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 70, 97, 105, 108, 101, 100, 32, 116, 111, 32, 102, 101, 116, 99, 104, 32, 97, 110, 105, 109, 97, 116, 105, 111, 110, 32, 100, 97, 116, 97, 32, 102, 114, 111, 109, 32, 85, 82, 76, 58, 32, 36, 123, 115, 114, 99, 125, 46, 32, 36, 123, 114, 101, 115, 112, 111, 110, 115, 101, 46, 115, 116, 97, 116, 117, 115, 125, 58, 32, 36, 123, 114, 101, 115, 112, 111, 110, 115, 101, 46, 115, 116, 97, 116, 117, 115, 84, 101, 120, 116, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 100, 97, 116, 97, 32, 61, 32, 121, 105, 101, 108, 100, 32, 114, 101, 115, 112, 111, 110, 115, 101, 46, 97, 114, 114, 97, 121, 66, 117, 102, 102, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, 115, 68, 111, 116, 76, 111, 116, 116, 105, 101, 40, 100, 97, 116, 97, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 97, 116, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 84, 101, 120, 116, 68, 101, 99, 111, 100, 101, 114, 40, 41, 46, 100, 101, 99, 111, 100, 101, 40, 100, 97, 116, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 95, 108, 111, 97, 100, 70, 114, 111, 109, 68, 97, 116, 97, 40, 100, 97, 116, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 119, 105, 100, 116, 104, 32, 61, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 119, 105, 100, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 104, 101, 105, 103, 104, 116, 32, 61, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 104, 101, 105, 103, 104, 116, 59, 10, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 108, 111, 97, 100, 101, 100, 32, 61, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 121, 112, 101, 111, 102, 32, 100, 97, 116, 97, 32, 61, 61, 61, 32, 34, 115, 116, 114, 105, 110, 103, 34, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 115, 76, 111, 116, 116, 105, 101, 40, 100, 97, 116, 97, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 105, 115, 112, 97, 116, 99, 104, 69, 114, 114, 111, 114, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 73, 110, 118, 97, 108, 105, 100, 32, 76, 111, 116, 116, 105, 101, 32, 74, 83, 79, 78, 32, 115, 116, 114, 105, 110, 103, 58, 32, 84, 104, 101, 32, 112, 114, 111, 118, 105, 100, 101, 100, 32, 115, 116, 114, 105, 110, 103, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 99, 111, 110, 102, 111, 114, 109, 32, 116, 111, 32, 116, 104, 101, 32, 76, 111, 116, 116, 105, 101, 32, 74, 83, 79, 78, 32, 102, 111, 114, 109, 97, 116, 46, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, 97, 100, 101, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 108, 111, 97, 100, 65, 110, 105, 109, 97, 116, 105, 111, 110, 68, 97, 116, 97, 40, 100, 97, 116, 97, 44, 32, 119, 105, 100, 116, 104, 44, 32, 104, 101, 105, 103, 104, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 100, 97, 116, 97, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 65, 114, 114, 97, 121, 66, 117, 102, 102, 101, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 115, 68, 111, 116, 76, 111, 116, 116, 105, 101, 40, 100, 97, 116, 97, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 105, 115, 112, 97, 116, 99, 104, 69, 114, 114, 111, 114, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 73, 110, 118, 97, 108, 105, 100, 32, 100, 111, 116, 76, 111, 116, 116, 105, 101, 32, 65, 114, 114, 97, 121, 66, 117, 102, 102, 101, 114, 58, 32, 84, 104, 101, 32, 112, 114, 111, 118, 105, 100, 101, 100, 32, 65, 114, 114, 97, 121, 66, 117, 102, 102, 101, 114, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 99, 111, 110, 102, 111, 114, 109, 32, 116, 111, 32, 116, 104, 101, 32, 100, 111, 116, 76, 111, 116, 116, 105, 101, 32, 102, 111, 114, 109, 97, 116, 46, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, 97, 100, 101, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 108, 111, 97, 100, 68, 111, 116, 76, 111, 116, 116, 105, 101, 68, 97, 116, 97, 40, 100, 97, 116, 97, 44, 32, 119, 105, 100, 116, 104, 44, 32, 104, 101, 105, 103, 104, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 116, 121, 112, 101, 111, 102, 32, 100, 97, 116, 97, 32, 61, 61, 61, 32, 34, 111, 98, 106, 101, 99, 116, 34, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 115, 76, 111, 116, 116, 105, 101, 40, 100, 97, 116, 97, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 105, 115, 112, 97, 116, 99, 104, 69, 114, 114, 111, 114, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 73, 110, 118, 97, 108, 105, 100, 32, 76, 111, 116, 116, 105, 101, 32, 74, 83, 79, 78, 32, 111, 98, 106, 101, 99, 116, 58, 32, 84, 104, 101, 32, 112, 114, 111, 118, 105, 100, 101, 100, 32, 111, 98, 106, 101, 99, 116, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 99, 111, 110, 102, 111, 114, 109, 32, 116, 111, 32, 116, 104, 101, 32, 76, 111, 116, 116, 105, 101, 32, 74, 83, 79, 78, 32, 102, 111, 114, 109, 97, 116, 46, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, 97, 100, 101, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 108, 111, 97, 100, 65, 110, 105, 109, 97, 116, 105, 111, 110, 68, 97, 116, 97, 40, 74, 83, 79, 78, 46, 115, 116, 114, 105, 110, 103, 105, 102, 121, 40, 100, 97, 116, 97, 41, 44, 32, 119, 105, 100, 116, 104, 44, 32, 104, 101, 105, 103, 104, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 105, 115, 112, 97, 116, 99, 104, 69, 114, 114, 111, 114, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 96, 85, 110, 115, 117, 112, 112, 111, 114, 116, 101, 100, 32, 100, 97, 116, 97, 32, 116, 121, 112, 101, 32, 102, 111, 114, 32, 97, 110, 105, 109, 97, 116, 105, 111, 110, 32, 100, 97, 116, 97, 46, 32, 69, 120, 112, 101, 99, 116, 101, 100, 58, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 45, 32, 115, 116, 114, 105, 110, 103, 32, 40, 76, 111, 116, 116, 105, 101, 32, 74, 83, 79, 78, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 45, 32, 65, 114, 114, 97, 121, 66, 117, 102, 102, 101, 114, 32, 40, 100, 111, 116, 76, 111, 116, 116, 105, 101, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 45, 32, 111, 98, 106, 101, 99, 116, 32, 40, 76, 111, 116, 116, 105, 101, 32, 74, 83, 79, 78, 41, 46, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 82, 101, 99, 101, 105, 118, 101, 100, 58, 32, 36, 123, 116, 121, 112, 101, 111, 102, 32, 100, 97, 116, 97, 125, 96, 10, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 111, 97, 100, 101, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 32, 116, 121, 112, 101, 58, 32, 34, 108, 111, 97, 100, 34, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 73, 83, 95, 66, 82, 79, 87, 83, 69, 82, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 114, 101, 115, 105, 122, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 121, 112, 101, 58, 32, 34, 102, 114, 97, 109, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 117, 114, 114, 101, 110, 116, 70, 114, 97, 109, 101, 58, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 99, 117, 114, 114, 101, 110, 116, 70, 114, 97, 109, 101, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 99, 111, 110, 102, 105, 103, 40, 41, 46, 97, 117, 116, 111, 112, 108, 97, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 112, 108, 97, 121, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 105, 115, 80, 108, 97, 121, 105, 110, 103, 40, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 32, 116, 121, 112, 101, 58, 32, 34, 112, 108, 97, 121, 34, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 97, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 73, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 102, 114, 97, 109, 101, 77, 97, 110, 97, 103, 101, 114, 46, 114, 101, 113, 117, 101, 115, 116, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 40, 116, 104, 105, 115, 46, 95, 100, 114, 97, 119, 46, 98, 105, 110, 100, 40, 116, 104, 105, 115, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 111, 108, 101, 46, 101, 114, 114, 111, 114, 40, 34, 115, 111, 109, 101, 116, 104, 105, 110, 103, 32, 119, 101, 110, 116, 32, 119, 114, 111, 110, 103, 44, 32, 116, 104, 101, 32, 97, 110, 105, 109, 97, 116, 105, 111, 110, 32, 119, 97, 115, 32, 115, 117, 112, 112, 111, 115, 101, 32, 116, 111, 32, 97, 117, 116, 111, 112, 108, 97, 121, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 73, 83, 95, 66, 82, 79, 87, 83, 69, 82, 32, 38, 38, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 72, 84, 77, 76, 67, 97, 110, 118, 97, 115, 69, 108, 101, 109, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 46, 102, 114, 101, 101, 122, 101, 79, 110, 79, 102, 102, 115, 99, 114, 101, 101, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 79, 102, 102, 115, 99, 114, 101, 101, 110, 79, 98, 115, 101, 114, 118, 101, 114, 46, 111, 98, 115, 101, 114, 118, 101, 40, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 44, 32, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 46, 97, 117, 116, 111, 82, 101, 115, 105, 122, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 67, 97, 110, 118, 97, 115, 82, 101, 115, 105, 122, 101, 79, 98, 115, 101, 114, 118, 101, 114, 46, 111, 98, 115, 101, 114, 118, 101, 40, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 44, 32, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 105, 115, 112, 97, 116, 99, 104, 69, 114, 114, 111, 114, 40, 34, 70, 97, 105, 108, 101, 100, 32, 116, 111, 32, 108, 111, 97, 100, 32, 97, 110, 105, 109, 97, 116, 105, 111, 110, 32, 100, 97, 116, 97, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 95, 108, 111, 97, 100, 70, 114, 111, 109, 83, 114, 99, 40, 115, 114, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 102, 101, 116, 99, 104, 68, 97, 116, 97, 40, 115, 114, 99, 41, 46, 116, 104, 101, 110, 40, 40, 100, 97, 116, 97, 41, 32, 61, 62, 32, 116, 104, 105, 115, 46, 95, 108, 111, 97, 100, 70, 114, 111, 109, 68, 97, 116, 97, 40, 100, 97, 116, 97, 41, 41, 46, 99, 97, 116, 99, 104, 40, 40, 101, 114, 114, 111, 114, 41, 32, 61, 62, 32, 116, 104, 105, 115, 46, 95, 100, 105, 115, 112, 97, 116, 99, 104, 69, 114, 114, 111, 114, 40, 96, 70, 97, 105, 108, 101, 100, 32, 116, 111, 32, 108, 111, 97, 100, 32, 97, 110, 105, 109, 97, 116, 105, 111, 110, 32, 100, 97, 116, 97, 32, 102, 114, 111, 109, 32, 85, 82, 76, 58, 32, 36, 123, 115, 114, 99, 125, 46, 32, 36, 123, 101, 114, 114, 111, 114, 125, 96, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 97, 99, 116, 105, 118, 101, 65, 110, 105, 109, 97, 116, 105, 111, 110, 73, 100, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 97, 99, 116, 105, 118, 101, 65, 110, 105, 109, 97, 116, 105, 111, 110, 73, 100, 40, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 97, 99, 116, 105, 118, 101, 84, 104, 101, 109, 101, 73, 100, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 97, 99, 116, 105, 118, 101, 84, 104, 101, 109, 101, 73, 100, 40, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 108, 97, 121, 111, 117, 116, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 108, 97, 121, 111, 117, 116, 32, 61, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 99, 111, 110, 102, 105, 103, 40, 41, 46, 108, 97, 121, 111, 117, 116, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 97, 121, 111, 117, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 108, 105, 103, 110, 58, 32, 91, 108, 97, 121, 111, 117, 116, 46, 97, 108, 105, 103, 110, 46, 103, 101, 116, 40, 48, 41, 44, 32, 108, 97, 121, 111, 117, 116, 46, 97, 108, 105, 103, 110, 46, 103, 101, 116, 40, 49, 41, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 105, 116, 58, 32, 40, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 50, 44, 32, 95, 98, 44, 32, 95, 99, 44, 32, 95, 100, 44, 32, 95, 101, 44, 32, 95, 102, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, 108, 97, 121, 111, 117, 116, 46, 102, 105, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 40, 40, 95, 97, 50, 32, 61, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 50, 46, 70, 105, 116, 46, 67, 111, 110, 116, 97, 105, 110, 41, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 34, 99, 111, 110, 116, 97, 105, 110, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 40, 40, 95, 98, 32, 61, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 98, 46, 70, 105, 116, 46, 67, 111, 118, 101, 114, 41, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 34, 99, 111, 118, 101, 114, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 40, 40, 95, 99, 32, 61, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 99, 46, 70, 105, 116, 46, 70, 105, 108, 108, 41, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 34, 102, 105, 108, 108, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 40, 40, 95, 100, 32, 61, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 100, 46, 70, 105, 116, 46, 70, 105, 116, 72, 101, 105, 103, 104, 116, 41, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 34, 102, 105, 116, 45, 104, 101, 105, 103, 104, 116, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 40, 40, 95, 101, 32, 61, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 101, 46, 70, 105, 116, 46, 70, 105, 116, 87, 105, 100, 116, 104, 41, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 34, 102, 105, 116, 45, 119, 105, 100, 116, 104, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 40, 40, 95, 102, 32, 61, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 102, 46, 70, 105, 116, 46, 78, 111, 110, 101, 41, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 34, 110, 111, 110, 101, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 102, 97, 117, 108, 116, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 34, 99, 111, 110, 116, 97, 105, 110, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 118, 111, 105, 100, 32, 48, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 109, 97, 114, 107, 101, 114, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 109, 97, 114, 107, 101, 114, 32, 61, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 99, 111, 110, 102, 105, 103, 40, 41, 46, 109, 97, 114, 107, 101, 114, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 97, 114, 107, 101, 114, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 109, 97, 110, 105, 102, 101, 115, 116, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 59, 10, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 109, 97, 110, 105, 102, 101, 115, 116, 32, 61, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 109, 97, 110, 105, 102, 101, 115, 116, 83, 116, 114, 105, 110, 103, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 32, 124, 124, 32, 33, 109, 97, 110, 105, 102, 101, 115, 116, 41, 32, 114, 101, 116, 117, 114, 110, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 109, 97, 110, 105, 102, 101, 115, 116, 74, 115, 111, 110, 32, 61, 32, 74, 83, 79, 78, 46, 112, 97, 114, 115, 101, 40, 109, 97, 110, 105, 102, 101, 115, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 79, 98, 106, 101, 99, 116, 46, 107, 101, 121, 115, 40, 109, 97, 110, 105, 102, 101, 115, 116, 74, 115, 111, 110, 41, 46, 108, 101, 110, 103, 116, 104, 32, 61, 61, 61, 32, 48, 41, 32, 114, 101, 116, 117, 114, 110, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 97, 110, 105, 102, 101, 115, 116, 74, 115, 111, 110, 59, 10, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 95, 101, 114, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 115, 101, 103, 109, 101, 110, 116, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 115, 101, 103, 109, 101, 110, 116, 32, 61, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 99, 111, 110, 102, 105, 103, 40, 41, 46, 115, 101, 103, 109, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 101, 103, 109, 101, 110, 116, 32, 38, 38, 32, 115, 101, 103, 109, 101, 110, 116, 46, 115, 105, 122, 101, 40, 41, 32, 61, 61, 61, 32, 50, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 115, 101, 103, 109, 101, 110, 116, 46, 103, 101, 116, 40, 48, 41, 44, 32, 115, 101, 103, 109, 101, 110, 116, 46, 103, 101, 116, 40, 49, 41, 93, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 118, 111, 105, 100, 32, 48, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 108, 111, 111, 112, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 44, 32, 95, 98, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 95, 98, 32, 61, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 99, 111, 110, 102, 105, 103, 40, 41, 46, 108, 111, 111, 112, 65, 110, 105, 109, 97, 116, 105, 111, 110, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 98, 32, 58, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 109, 111, 100, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 44, 32, 95, 98, 44, 32, 95, 99, 44, 32, 95, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 109, 111, 100, 101, 32, 61, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 99, 111, 110, 102, 105, 103, 40, 41, 46, 109, 111, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 109, 111, 100, 101, 32, 61, 61, 61, 32, 40, 40, 95, 98, 32, 61, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 98, 46, 77, 111, 100, 101, 46, 82, 101, 118, 101, 114, 115, 101, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 34, 114, 101, 118, 101, 114, 115, 101, 34, 59, 10, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 109, 111, 100, 101, 32, 61, 61, 61, 32, 40, 40, 95, 99, 32, 61, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 99, 46, 77, 111, 100, 101, 46, 66, 111, 117, 110, 99, 101, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 34, 98, 111, 117, 110, 99, 101, 34, 59, 10, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 109, 111, 100, 101, 32, 61, 61, 61, 32, 40, 40, 95, 100, 32, 61, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 100, 46, 77, 111, 100, 101, 46, 82, 101, 118, 101, 114, 115, 101, 66, 111, 117, 110, 99, 101, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 34, 114, 101, 118, 101, 114, 115, 101, 45, 98, 111, 117, 110, 99, 101, 34, 59, 10, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 34, 102, 111, 114, 119, 97, 114, 100, 34, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 105, 115, 70, 114, 111, 122, 101, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 105, 115, 70, 114, 111, 122, 101, 110, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 97, 32, 58, 32, 34, 34, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 97, 117, 116, 111, 112, 108, 97, 121, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 44, 32, 95, 98, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 95, 98, 32, 61, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 99, 111, 110, 102, 105, 103, 40, 41, 46, 97, 117, 116, 111, 112, 108, 97, 121, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 98, 32, 58, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 117, 115, 101, 70, 114, 97, 109, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 44, 32, 95, 98, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 95, 98, 32, 61, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 99, 111, 110, 102, 105, 103, 40, 41, 46, 117, 115, 101, 70, 114, 97, 109, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 98, 32, 58, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 115, 112, 101, 101, 100, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 44, 32, 95, 98, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 95, 98, 32, 61, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 99, 111, 110, 102, 105, 103, 40, 41, 46, 115, 112, 101, 101, 100, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 98, 32, 58, 32, 48, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 105, 115, 82, 101, 97, 100, 121, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 33, 61, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 105, 115, 76, 111, 97, 100, 101, 100, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 44, 32, 95, 98, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 95, 98, 32, 61, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 105, 115, 76, 111, 97, 100, 101, 100, 40, 41, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 98, 32, 58, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 105, 115, 80, 108, 97, 121, 105, 110, 103, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 44, 32, 95, 98, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 95, 98, 32, 61, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 105, 115, 80, 108, 97, 121, 105, 110, 103, 40, 41, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 98, 32, 58, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 105, 115, 80, 97, 117, 115, 101, 100, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 44, 32, 95, 98, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 95, 98, 32, 61, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 105, 115, 80, 97, 117, 115, 101, 100, 40, 41, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 98, 32, 58, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 105, 115, 83, 116, 111, 112, 112, 101, 100, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 44, 32, 95, 98, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 95, 98, 32, 61, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 105, 115, 83, 116, 111, 112, 112, 101, 100, 40, 41, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 98, 32, 58, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 99, 117, 114, 114, 101, 110, 116, 70, 114, 97, 109, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 44, 32, 95, 98, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 95, 98, 32, 61, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 99, 117, 114, 114, 101, 110, 116, 70, 114, 97, 109, 101, 40, 41, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 98, 32, 58, 32, 48, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 108, 111, 111, 112, 67, 111, 117, 110, 116, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 44, 32, 95, 98, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 95, 98, 32, 61, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 108, 111, 111, 112, 67, 111, 117, 110, 116, 40, 41, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 98, 32, 58, 32, 48, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 116, 111, 116, 97, 108, 70, 114, 97, 109, 101, 115, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 44, 32, 95, 98, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 95, 98, 32, 61, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 116, 111, 116, 97, 108, 70, 114, 97, 109, 101, 115, 40, 41, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 98, 32, 58, 32, 48, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 100, 117, 114, 97, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 44, 32, 95, 98, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 95, 98, 32, 61, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 100, 117, 114, 97, 116, 105, 111, 110, 40, 41, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 98, 32, 58, 32, 48, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 115, 101, 103, 109, 101, 110, 116, 68, 117, 114, 97, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 44, 32, 95, 98, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 95, 98, 32, 61, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 115, 101, 103, 109, 101, 110, 116, 68, 117, 114, 97, 116, 105, 111, 110, 40, 41, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 98, 32, 58, 32, 48, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 99, 97, 110, 118, 97, 115, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 108, 111, 97, 100, 40, 99, 111, 110, 102, 105, 103, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 44, 32, 95, 98, 44, 32, 95, 99, 44, 32, 95, 100, 44, 32, 95, 101, 44, 32, 95, 102, 44, 32, 95, 103, 44, 32, 95, 104, 44, 32, 95, 105, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 32, 124, 124, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 97, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 73, 100, 32, 33, 61, 61, 32, 110, 117, 108, 108, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 102, 114, 97, 109, 101, 77, 97, 110, 97, 103, 101, 114, 46, 99, 97, 110, 99, 101, 108, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 40, 116, 104, 105, 115, 46, 95, 97, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 97, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 73, 100, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 115, 101, 116, 67, 111, 110, 102, 105, 103, 40, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 101, 109, 101, 73, 100, 58, 32, 40, 95, 97, 32, 61, 32, 99, 111, 110, 102, 105, 103, 46, 116, 104, 101, 109, 101, 73, 100, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 97, 32, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 117, 116, 111, 112, 108, 97, 121, 58, 32, 40, 95, 98, 32, 61, 32, 99, 111, 110, 102, 105, 103, 46, 97, 117, 116, 111, 112, 108, 97, 121, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 98, 32, 58, 32, 102, 97, 108, 115, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 58, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, 111, 112, 65, 110, 105, 109, 97, 116, 105, 111, 110, 58, 32, 40, 95, 99, 32, 61, 32, 99, 111, 110, 102, 105, 103, 46, 108, 111, 111, 112, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 99, 32, 58, 32, 102, 97, 108, 115, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 111, 100, 101, 58, 32, 99, 114, 101, 97, 116, 101, 67, 111, 114, 101, 77, 111, 100, 101, 40, 40, 95, 100, 32, 61, 32, 99, 111, 110, 102, 105, 103, 46, 109, 111, 100, 101, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 100, 32, 58, 32, 34, 102, 111, 114, 119, 97, 114, 100, 34, 44, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 103, 109, 101, 110, 116, 58, 32, 99, 114, 101, 97, 116, 101, 67, 111, 114, 101, 83, 101, 103, 109, 101, 110, 116, 40, 40, 95, 101, 32, 61, 32, 99, 111, 110, 102, 105, 103, 46, 115, 101, 103, 109, 101, 110, 116, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 101, 32, 58, 32, 91, 93, 44, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 112, 101, 101, 100, 58, 32, 40, 95, 102, 32, 61, 32, 99, 111, 110, 102, 105, 103, 46, 115, 112, 101, 101, 100, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 102, 32, 58, 32, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 117, 115, 101, 70, 114, 97, 109, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 58, 32, 40, 95, 103, 32, 61, 32, 99, 111, 110, 102, 105, 103, 46, 117, 115, 101, 70, 114, 97, 109, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 103, 32, 58, 32, 116, 114, 117, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 97, 114, 107, 101, 114, 58, 32, 40, 95, 104, 32, 61, 32, 99, 111, 110, 102, 105, 103, 46, 109, 97, 114, 107, 101, 114, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 104, 32, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 121, 111, 117, 116, 58, 32, 99, 111, 110, 102, 105, 103, 46, 108, 97, 121, 111, 117, 116, 32, 63, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 108, 105, 103, 110, 58, 32, 99, 114, 101, 97, 116, 101, 67, 111, 114, 101, 65, 108, 105, 103, 110, 40, 99, 111, 110, 102, 105, 103, 46, 108, 97, 121, 111, 117, 116, 46, 97, 108, 105, 103, 110, 44, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 105, 116, 58, 32, 99, 114, 101, 97, 116, 101, 67, 111, 114, 101, 70, 105, 116, 40, 99, 111, 110, 102, 105, 103, 46, 108, 97, 121, 111, 117, 116, 46, 102, 105, 116, 44, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 58, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 46, 99, 114, 101, 97, 116, 101, 68, 101, 102, 97, 117, 108, 116, 76, 97, 121, 111, 117, 116, 40, 41, 10, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 111, 110, 102, 105, 103, 46, 100, 97, 116, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 111, 97, 100, 70, 114, 111, 109, 68, 97, 116, 97, 40, 99, 111, 110, 102, 105, 103, 46, 100, 97, 116, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 99, 111, 110, 102, 105, 103, 46, 115, 114, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 111, 97, 100, 70, 114, 111, 109, 83, 114, 99, 40, 99, 111, 110, 102, 105, 103, 46, 115, 114, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 115, 101, 116, 66, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 40, 40, 95, 105, 32, 61, 32, 99, 111, 110, 102, 105, 103, 46, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 105, 32, 58, 32, 34, 34, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 95, 114, 101, 110, 100, 101, 114, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 32, 124, 124, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 110, 100, 101, 114, 101, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 114, 101, 110, 100, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 101, 110, 100, 101, 114, 101, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 98, 117, 102, 102, 101, 114, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 98, 117, 102, 102, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 99, 108, 97, 109, 112, 101, 100, 66, 117, 102, 102, 101, 114, 32, 61, 32, 110, 101, 119, 32, 85, 105, 110, 116, 56, 67, 108, 97, 109, 112, 101, 100, 65, 114, 114, 97, 121, 40, 98, 117, 102, 102, 101, 114, 44, 32, 48, 44, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 119, 105, 100, 116, 104, 32, 42, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 104, 101, 105, 103, 104, 116, 32, 42, 32, 52, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 105, 109, 97, 103, 101, 68, 97, 116, 97, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 121, 112, 101, 111, 102, 32, 73, 109, 97, 103, 101, 68, 97, 116, 97, 32, 61, 61, 61, 32, 34, 117, 110, 100, 101, 102, 105, 110, 101, 100, 34, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 109, 97, 103, 101, 68, 97, 116, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 99, 114, 101, 97, 116, 101, 73, 109, 97, 103, 101, 68, 97, 116, 97, 40, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 119, 105, 100, 116, 104, 44, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 104, 101, 105, 103, 104, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 109, 97, 103, 101, 68, 97, 116, 97, 46, 100, 97, 116, 97, 46, 115, 101, 116, 40, 99, 108, 97, 109, 112, 101, 100, 66, 117, 102, 102, 101, 114, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 109, 97, 103, 101, 68, 97, 116, 97, 32, 61, 32, 110, 101, 119, 32, 73, 109, 97, 103, 101, 68, 97, 116, 97, 40, 99, 108, 97, 109, 112, 101, 100, 66, 117, 102, 102, 101, 114, 44, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 119, 105, 100, 116, 104, 44, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 104, 101, 105, 103, 104, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 112, 117, 116, 73, 109, 97, 103, 101, 68, 97, 116, 97, 40, 105, 109, 97, 103, 101, 68, 97, 116, 97, 44, 32, 48, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 121, 112, 101, 58, 32, 34, 114, 101, 110, 100, 101, 114, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 117, 114, 114, 101, 110, 116, 70, 114, 97, 109, 101, 58, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 99, 117, 114, 114, 101, 110, 116, 70, 114, 97, 109, 101, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 95, 100, 114, 97, 119, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 32, 124, 124, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 32, 61, 61, 61, 32, 110, 117, 108, 108, 32, 124, 124, 32, 33, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 105, 115, 80, 108, 97, 121, 105, 110, 103, 40, 41, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 110, 101, 120, 116, 70, 114, 97, 109, 101, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 114, 101, 113, 117, 101, 115, 116, 70, 114, 97, 109, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 117, 112, 100, 97, 116, 101, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 115, 101, 116, 70, 114, 97, 109, 101, 40, 110, 101, 120, 116, 70, 114, 97, 109, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 117, 112, 100, 97, 116, 101, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 121, 112, 101, 58, 32, 34, 102, 114, 97, 109, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 117, 114, 114, 101, 110, 116, 70, 114, 97, 109, 101, 58, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 99, 117, 114, 114, 101, 110, 116, 70, 114, 97, 109, 101, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 110, 100, 101, 114, 101, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 101, 110, 100, 101, 114, 101, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 105, 115, 67, 111, 109, 112, 108, 101, 116, 101, 40, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 99, 111, 110, 102, 105, 103, 40, 41, 46, 108, 111, 111, 112, 65, 110, 105, 109, 97, 116, 105, 111, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 121, 112, 101, 58, 32, 34, 108, 111, 111, 112, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, 111, 112, 67, 111, 117, 110, 116, 58, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 108, 111, 111, 112, 67, 111, 117, 110, 116, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 32, 116, 121, 112, 101, 58, 32, 34, 99, 111, 109, 112, 108, 101, 116, 101, 34, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 97, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 73, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 102, 114, 97, 109, 101, 77, 97, 110, 97, 103, 101, 114, 46, 114, 101, 113, 117, 101, 115, 116, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 40, 116, 104, 105, 115, 46, 95, 100, 114, 97, 119, 46, 98, 105, 110, 100, 40, 116, 104, 105, 115, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 112, 108, 97, 121, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 111, 107, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 112, 108, 97, 121, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 111, 107, 32, 124, 124, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 105, 115, 80, 108, 97, 121, 105, 110, 103, 40, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 105, 115, 70, 114, 111, 122, 101, 110, 32, 61, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 32, 116, 121, 112, 101, 58, 32, 34, 112, 108, 97, 121, 34, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 97, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 73, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 102, 114, 97, 109, 101, 77, 97, 110, 97, 103, 101, 114, 46, 114, 101, 113, 117, 101, 115, 116, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 40, 116, 104, 105, 115, 46, 95, 100, 114, 97, 119, 46, 98, 105, 110, 100, 40, 116, 104, 105, 115, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 73, 83, 95, 66, 82, 79, 87, 83, 69, 82, 32, 38, 38, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 72, 84, 77, 76, 67, 97, 110, 118, 97, 115, 69, 108, 101, 109, 101, 110, 116, 32, 38, 38, 32, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 46, 102, 114, 101, 101, 122, 101, 79, 110, 79, 102, 102, 115, 99, 114, 101, 101, 110, 32, 38, 38, 32, 33, 105, 115, 69, 108, 101, 109, 101, 110, 116, 73, 110, 86, 105, 101, 119, 112, 111, 114, 116, 40, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 102, 114, 101, 101, 122, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 112, 97, 117, 115, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 111, 107, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 112, 97, 117, 115, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 111, 107, 32, 124, 124, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 105, 115, 80, 97, 117, 115, 101, 100, 40, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 32, 116, 121, 112, 101, 58, 32, 34, 112, 97, 117, 115, 101, 34, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 116, 111, 112, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 111, 107, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 115, 116, 111, 112, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 111, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 32, 116, 121, 112, 101, 58, 32, 34, 102, 114, 97, 109, 101, 34, 44, 32, 99, 117, 114, 114, 101, 110, 116, 70, 114, 97, 109, 101, 58, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 99, 117, 114, 114, 101, 110, 116, 70, 114, 97, 109, 101, 40, 41, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 32, 116, 121, 112, 101, 58, 32, 34, 115, 116, 111, 112, 34, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 101, 116, 70, 114, 97, 109, 101, 40, 102, 114, 97, 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 102, 114, 97, 109, 101, 32, 60, 32, 48, 32, 124, 124, 32, 102, 114, 97, 109, 101, 32, 62, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 116, 111, 116, 97, 108, 70, 114, 97, 109, 101, 115, 40, 41, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 111, 107, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 115, 101, 101, 107, 40, 102, 114, 97, 109, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 111, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 32, 116, 121, 112, 101, 58, 32, 34, 102, 114, 97, 109, 101, 34, 44, 32, 99, 117, 114, 114, 101, 110, 116, 70, 114, 97, 109, 101, 58, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 99, 117, 114, 114, 101, 110, 116, 70, 114, 97, 109, 101, 40, 41, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 101, 116, 83, 112, 101, 101, 100, 40, 115, 112, 101, 101, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 115, 101, 116, 67, 111, 110, 102, 105, 103, 40, 95, 95, 115, 112, 114, 101, 97, 100, 80, 114, 111, 112, 115, 40, 95, 95, 115, 112, 114, 101, 97, 100, 86, 97, 108, 117, 101, 115, 40, 123, 125, 44, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 99, 111, 110, 102, 105, 103, 40, 41, 41, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 112, 101, 101, 100, 10, 32, 32, 32, 32, 32, 32, 125, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 101, 116, 66, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 40, 99, 111, 108, 111, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 73, 83, 95, 66, 82, 79, 87, 83, 69, 82, 32, 38, 38, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 72, 84, 77, 76, 67, 97, 110, 118, 97, 115, 69, 108, 101, 109, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 115, 116, 121, 108, 101, 46, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 32, 61, 32, 99, 111, 108, 111, 114, 59, 10, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 115, 101, 116, 67, 111, 110, 102, 105, 103, 40, 95, 95, 115, 112, 114, 101, 97, 100, 80, 114, 111, 112, 115, 40, 95, 95, 115, 112, 114, 101, 97, 100, 86, 97, 108, 117, 101, 115, 40, 123, 125, 44, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 99, 111, 110, 102, 105, 103, 40, 41, 41, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 58, 32, 104, 101, 120, 83, 116, 114, 105, 110, 103, 84, 111, 82, 71, 66, 65, 73, 110, 116, 40, 99, 111, 108, 111, 114, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 32, 61, 32, 99, 111, 108, 111, 114, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 101, 116, 76, 111, 111, 112, 40, 108, 111, 111, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 115, 101, 116, 67, 111, 110, 102, 105, 103, 40, 95, 95, 115, 112, 114, 101, 97, 100, 80, 114, 111, 112, 115, 40, 95, 95, 115, 112, 114, 101, 97, 100, 86, 97, 108, 117, 101, 115, 40, 123, 125, 44, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 99, 111, 110, 102, 105, 103, 40, 41, 41, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, 111, 112, 65, 110, 105, 109, 97, 116, 105, 111, 110, 58, 32, 108, 111, 111, 112, 10, 32, 32, 32, 32, 32, 32, 125, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 101, 116, 85, 115, 101, 70, 114, 97, 109, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 40, 117, 115, 101, 70, 114, 97, 109, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 115, 101, 116, 67, 111, 110, 102, 105, 103, 40, 95, 95, 115, 112, 114, 101, 97, 100, 80, 114, 111, 112, 115, 40, 95, 95, 115, 112, 114, 101, 97, 100, 86, 97, 108, 117, 101, 115, 40, 123, 125, 44, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 99, 111, 110, 102, 105, 103, 40, 41, 41, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 117, 115, 101, 70, 114, 97, 109, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 10, 32, 32, 32, 32, 32, 32, 125, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 97, 100, 100, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 116, 121, 112, 101, 44, 32, 108, 105, 115, 116, 101, 110, 101, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 97, 100, 100, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 116, 121, 112, 101, 44, 32, 108, 105, 115, 116, 101, 110, 101, 114, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 114, 101, 109, 111, 118, 101, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 116, 121, 112, 101, 44, 32, 108, 105, 115, 116, 101, 110, 101, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 114, 101, 109, 111, 118, 101, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 116, 121, 112, 101, 44, 32, 108, 105, 115, 116, 101, 110, 101, 114, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 100, 101, 115, 116, 114, 111, 121, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 73, 83, 95, 66, 82, 79, 87, 83, 69, 82, 32, 38, 38, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 72, 84, 77, 76, 67, 97, 110, 118, 97, 115, 69, 108, 101, 109, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 79, 102, 102, 115, 99, 114, 101, 101, 110, 79, 98, 115, 101, 114, 118, 101, 114, 46, 117, 110, 111, 98, 115, 101, 114, 118, 101, 40, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 67, 97, 110, 118, 97, 115, 82, 101, 115, 105, 122, 101, 79, 98, 115, 101, 114, 118, 101, 114, 46, 117, 110, 111, 98, 115, 101, 114, 118, 101, 40, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 100, 101, 108, 101, 116, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 121, 112, 101, 58, 32, 34, 100, 101, 115, 116, 114, 111, 121, 34, 10, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 114, 101, 109, 111, 118, 101, 65, 108, 108, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 115, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 108, 101, 97, 110, 117, 112, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 76, 105, 115, 116, 101, 110, 101, 114, 115, 40, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 102, 114, 101, 101, 122, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 97, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 73, 100, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 102, 114, 97, 109, 101, 77, 97, 110, 97, 103, 101, 114, 46, 99, 97, 110, 99, 101, 108, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 40, 116, 104, 105, 115, 46, 95, 97, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 97, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 73, 100, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 105, 115, 70, 114, 111, 122, 101, 110, 32, 61, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 32, 116, 121, 112, 101, 58, 32, 34, 102, 114, 101, 101, 122, 101, 34, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 117, 110, 102, 114, 101, 101, 122, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 97, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 73, 100, 32, 33, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 97, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 73, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 102, 114, 97, 109, 101, 77, 97, 110, 97, 103, 101, 114, 46, 114, 101, 113, 117, 101, 115, 116, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 40, 116, 104, 105, 115, 46, 95, 100, 114, 97, 119, 46, 98, 105, 110, 100, 40, 116, 104, 105, 115, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 105, 115, 70, 114, 111, 122, 101, 110, 32, 61, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 32, 116, 121, 112, 101, 58, 32, 34, 117, 110, 102, 114, 101, 101, 122, 101, 34, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 114, 101, 115, 105, 122, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 124, 124, 32, 33, 116, 104, 105, 115, 46, 105, 115, 76, 111, 97, 100, 101, 100, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 73, 83, 95, 66, 82, 79, 87, 83, 69, 82, 32, 38, 38, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 72, 84, 77, 76, 67, 97, 110, 118, 97, 115, 69, 108, 101, 109, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 100, 112, 114, 32, 61, 32, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 46, 100, 101, 118, 105, 99, 101, 80, 105, 120, 101, 108, 82, 97, 116, 105, 111, 32, 124, 124, 32, 119, 105, 110, 100, 111, 119, 46, 100, 101, 118, 105, 99, 101, 80, 105, 120, 101, 108, 82, 97, 116, 105, 111, 32, 124, 124, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 123, 32, 104, 101, 105, 103, 104, 116, 58, 32, 99, 108, 105, 101, 110, 116, 72, 101, 105, 103, 104, 116, 44, 32, 119, 105, 100, 116, 104, 58, 32, 99, 108, 105, 101, 110, 116, 87, 105, 100, 116, 104, 32, 125, 32, 61, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 103, 101, 116, 66, 111, 117, 110, 100, 105, 110, 103, 67, 108, 105, 101, 110, 116, 82, 101, 99, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 119, 105, 100, 116, 104, 32, 61, 32, 99, 108, 105, 101, 110, 116, 87, 105, 100, 116, 104, 32, 42, 32, 100, 112, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 104, 101, 105, 103, 104, 116, 32, 61, 32, 99, 108, 105, 101, 110, 116, 72, 101, 105, 103, 104, 116, 32, 42, 32, 100, 112, 114, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 111, 107, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 114, 101, 115, 105, 122, 101, 40, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 119, 105, 100, 116, 104, 44, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 104, 101, 105, 103, 104, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 111, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 101, 116, 83, 101, 103, 109, 101, 110, 116, 40, 115, 116, 97, 114, 116, 70, 114, 97, 109, 101, 44, 32, 101, 110, 100, 70, 114, 97, 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 32, 124, 124, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 115, 101, 116, 67, 111, 110, 102, 105, 103, 40, 95, 95, 115, 112, 114, 101, 97, 100, 80, 114, 111, 112, 115, 40, 95, 95, 115, 112, 114, 101, 97, 100, 86, 97, 108, 117, 101, 115, 40, 123, 125, 44, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 99, 111, 110, 102, 105, 103, 40, 41, 41, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 103, 109, 101, 110, 116, 58, 32, 99, 114, 101, 97, 116, 101, 67, 111, 114, 101, 83, 101, 103, 109, 101, 110, 116, 40, 91, 115, 116, 97, 114, 116, 70, 114, 97, 109, 101, 44, 32, 101, 110, 100, 70, 114, 97, 109, 101, 93, 44, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 41, 10, 32, 32, 32, 32, 32, 32, 125, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 101, 116, 77, 111, 100, 101, 40, 109, 111, 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 32, 124, 124, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 115, 101, 116, 67, 111, 110, 102, 105, 103, 40, 95, 95, 115, 112, 114, 101, 97, 100, 80, 114, 111, 112, 115, 40, 95, 95, 115, 112, 114, 101, 97, 100, 86, 97, 108, 117, 101, 115, 40, 123, 125, 44, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 99, 111, 110, 102, 105, 103, 40, 41, 41, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 111, 100, 101, 58, 32, 99, 114, 101, 97, 116, 101, 67, 111, 114, 101, 77, 111, 100, 101, 40, 109, 111, 100, 101, 44, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 41, 10, 32, 32, 32, 32, 32, 32, 125, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 101, 116, 82, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 40, 99, 111, 110, 102, 105, 103, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 95, 97, 32, 61, 32, 99, 111, 110, 102, 105, 103, 44, 32, 123, 32, 100, 101, 118, 105, 99, 101, 80, 105, 120, 101, 108, 82, 97, 116, 105, 111, 44, 32, 102, 114, 101, 101, 122, 101, 79, 110, 79, 102, 102, 115, 99, 114, 101, 101, 110, 32, 125, 32, 61, 32, 95, 97, 44, 32, 114, 101, 115, 116, 67, 111, 110, 102, 105, 103, 32, 61, 32, 95, 95, 111, 98, 106, 82, 101, 115, 116, 40, 95, 97, 44, 32, 91, 34, 100, 101, 118, 105, 99, 101, 80, 105, 120, 101, 108, 82, 97, 116, 105, 111, 34, 44, 32, 34, 102, 114, 101, 101, 122, 101, 79, 110, 79, 102, 102, 115, 99, 114, 101, 101, 110, 34, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 32, 61, 32, 95, 95, 115, 112, 114, 101, 97, 100, 80, 114, 111, 112, 115, 40, 95, 95, 115, 112, 114, 101, 97, 100, 86, 97, 108, 117, 101, 115, 40, 95, 95, 115, 112, 114, 101, 97, 100, 86, 97, 108, 117, 101, 115, 40, 123, 125, 44, 32, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 41, 44, 32, 114, 101, 115, 116, 67, 111, 110, 102, 105, 103, 41, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 100, 101, 118, 105, 99, 101, 80, 105, 120, 101, 108, 82, 97, 116, 105, 111, 32, 105, 115, 32, 97, 32, 115, 112, 101, 99, 105, 97, 108, 32, 99, 97, 115, 101, 44, 32, 105, 116, 32, 115, 104, 111, 117, 108, 100, 32, 98, 101, 32, 115, 101, 116, 32, 116, 111, 32, 116, 104, 101, 32, 100, 101, 102, 97, 117, 108, 116, 32, 118, 97, 108, 117, 101, 32, 105, 102, 32, 105, 116, 39, 115, 32, 110, 111, 116, 32, 112, 114, 111, 118, 105, 100, 101, 100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 118, 105, 99, 101, 80, 105, 120, 101, 108, 82, 97, 116, 105, 111, 58, 32, 100, 101, 118, 105, 99, 101, 80, 105, 120, 101, 108, 82, 97, 116, 105, 111, 32, 124, 124, 32, 103, 101, 116, 68, 101, 102, 97, 117, 108, 116, 68, 80, 82, 40, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 114, 101, 101, 122, 101, 79, 110, 79, 102, 102, 115, 99, 114, 101, 101, 110, 58, 32, 102, 114, 101, 101, 122, 101, 79, 110, 79, 102, 102, 115, 99, 114, 101, 101, 110, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 102, 114, 101, 101, 122, 101, 79, 110, 79, 102, 102, 115, 99, 114, 101, 101, 110, 32, 58, 32, 116, 114, 117, 101, 10, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 73, 83, 95, 66, 82, 79, 87, 83, 69, 82, 32, 38, 38, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 72, 84, 77, 76, 67, 97, 110, 118, 97, 115, 69, 108, 101, 109, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 46, 97, 117, 116, 111, 82, 101, 115, 105, 122, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 67, 97, 110, 118, 97, 115, 82, 101, 115, 105, 122, 101, 79, 98, 115, 101, 114, 118, 101, 114, 46, 111, 98, 115, 101, 114, 118, 101, 40, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 44, 32, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 67, 97, 110, 118, 97, 115, 82, 101, 115, 105, 122, 101, 79, 98, 115, 101, 114, 118, 101, 114, 46, 117, 110, 111, 98, 115, 101, 114, 118, 101, 40, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 46, 102, 114, 101, 101, 122, 101, 79, 110, 79, 102, 102, 115, 99, 114, 101, 101, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 79, 102, 102, 115, 99, 114, 101, 101, 110, 79, 98, 115, 101, 114, 118, 101, 114, 46, 111, 98, 115, 101, 114, 118, 101, 40, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 44, 32, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 79, 102, 102, 115, 99, 114, 101, 101, 110, 79, 98, 115, 101, 114, 118, 101, 114, 46, 117, 110, 111, 98, 115, 101, 114, 118, 101, 40, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 105, 115, 70, 114, 111, 122, 101, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 117, 110, 102, 114, 101, 101, 122, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 108, 111, 97, 100, 65, 110, 105, 109, 97, 116, 105, 111, 110, 40, 97, 110, 105, 109, 97, 116, 105, 111, 110, 73, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 32, 124, 124, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 97, 99, 116, 105, 118, 101, 65, 110, 105, 109, 97, 116, 105, 111, 110, 73, 100, 40, 41, 32, 61, 61, 61, 32, 97, 110, 105, 109, 97, 116, 105, 111, 110, 73, 100, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 108, 111, 97, 100, 101, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 108, 111, 97, 100, 65, 110, 105, 109, 97, 116, 105, 111, 110, 40, 97, 110, 105, 109, 97, 116, 105, 111, 110, 73, 100, 44, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 119, 105, 100, 116, 104, 44, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 104, 101, 105, 103, 104, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 111, 97, 100, 101, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 32, 116, 121, 112, 101, 58, 32, 34, 108, 111, 97, 100, 34, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 114, 101, 115, 105, 122, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 121, 112, 101, 58, 32, 34, 108, 111, 97, 100, 69, 114, 114, 111, 114, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 114, 114, 111, 114, 58, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 70, 97, 105, 108, 101, 100, 32, 116, 111, 32, 97, 110, 105, 109, 97, 116, 105, 111, 110, 32, 58, 36, 123, 97, 110, 105, 109, 97, 116, 105, 111, 110, 73, 100, 125, 96, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 101, 116, 77, 97, 114, 107, 101, 114, 40, 109, 97, 114, 107, 101, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 115, 101, 116, 67, 111, 110, 102, 105, 103, 40, 95, 95, 115, 112, 114, 101, 97, 100, 80, 114, 111, 112, 115, 40, 95, 95, 115, 112, 114, 101, 97, 100, 86, 97, 108, 117, 101, 115, 40, 123, 125, 44, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 99, 111, 110, 102, 105, 103, 40, 41, 41, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 97, 114, 107, 101, 114, 10, 32, 32, 32, 32, 32, 32, 125, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 109, 97, 114, 107, 101, 114, 115, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 109, 97, 114, 107, 101, 114, 115, 32, 61, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 109, 97, 114, 107, 101, 114, 115, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 109, 97, 114, 107, 101, 114, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 117, 108, 116, 32, 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 109, 97, 114, 107, 101, 114, 115, 46, 115, 105, 122, 101, 40, 41, 59, 32, 105, 32, 43, 61, 32, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 109, 97, 114, 107, 101, 114, 32, 61, 32, 109, 97, 114, 107, 101, 114, 115, 46, 103, 101, 116, 40, 105, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 46, 112, 117, 115, 104, 40, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 97, 109, 101, 58, 32, 109, 97, 114, 107, 101, 114, 46, 110, 97, 109, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 105, 109, 101, 58, 32, 109, 97, 114, 107, 101, 114, 46, 116, 105, 109, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 117, 114, 97, 116, 105, 111, 110, 58, 32, 109, 97, 114, 107, 101, 114, 46, 100, 117, 114, 97, 116, 105, 111, 110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 101, 115, 117, 108, 116, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 93, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 101, 116, 84, 104, 101, 109, 101, 40, 116, 104, 101, 109, 101, 73, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 108, 111, 97, 100, 101, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 115, 101, 116, 84, 104, 101, 109, 101, 40, 116, 104, 101, 109, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 108, 111, 97, 100, 101, 100, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 114, 101, 115, 101, 116, 84, 104, 101, 109, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 114, 101, 115, 101, 116, 84, 104, 101, 109, 101, 40, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 101, 116, 84, 104, 101, 109, 101, 68, 97, 116, 97, 40, 116, 104, 101, 109, 101, 68, 97, 116, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 108, 111, 97, 100, 101, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 115, 101, 116, 84, 104, 101, 109, 101, 68, 97, 116, 97, 40, 116, 104, 101, 109, 101, 68, 97, 116, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 108, 111, 97, 100, 101, 100, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 101, 116, 83, 108, 111, 116, 115, 40, 115, 108, 111, 116, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 115, 101, 116, 83, 108, 111, 116, 115, 40, 115, 108, 111, 116, 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 101, 116, 76, 97, 121, 111, 117, 116, 40, 108, 97, 121, 111, 117, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 32, 124, 124, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 115, 101, 116, 67, 111, 110, 102, 105, 103, 40, 95, 95, 115, 112, 114, 101, 97, 100, 80, 114, 111, 112, 115, 40, 95, 95, 115, 112, 114, 101, 97, 100, 86, 97, 108, 117, 101, 115, 40, 123, 125, 44, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 99, 111, 110, 102, 105, 103, 40, 41, 41, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 121, 111, 117, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 108, 105, 103, 110, 58, 32, 99, 114, 101, 97, 116, 101, 67, 111, 114, 101, 65, 108, 105, 103, 110, 40, 108, 97, 121, 111, 117, 116, 46, 97, 108, 105, 103, 110, 44, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 105, 116, 58, 32, 99, 114, 101, 97, 116, 101, 67, 111, 114, 101, 70, 105, 116, 40, 108, 97, 121, 111, 117, 116, 46, 102, 105, 116, 44, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 101, 116, 86, 105, 101, 119, 112, 111, 114, 116, 40, 120, 44, 32, 121, 44, 32, 119, 105, 100, 116, 104, 44, 32, 104, 101, 105, 103, 104, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 115, 101, 116, 86, 105, 101, 119, 112, 111, 114, 116, 40, 120, 44, 32, 121, 44, 32, 119, 105, 100, 116, 104, 44, 32, 104, 101, 105, 103, 104, 116, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 116, 97, 116, 105, 99, 32, 115, 101, 116, 87, 97, 115, 109, 85, 114, 108, 40, 117, 114, 108, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 68, 111, 116, 76, 111, 116, 116, 105, 101, 87, 97, 115, 109, 76, 111, 97, 100, 101, 114, 46, 115, 101, 116, 87, 97, 115, 109, 85, 114, 108, 40, 117, 114, 108, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 108, 111, 97, 100, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 40, 115, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 73, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 44, 32, 95, 98, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 95, 98, 32, 61, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 108, 111, 97, 100, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 40, 115, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 73, 100, 41, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 98, 32, 58, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 116, 97, 114, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 44, 32, 95, 98, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 115, 116, 97, 114, 116, 101, 100, 32, 61, 32, 40, 95, 98, 32, 61, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 115, 116, 97, 114, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 40, 41, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 98, 32, 58, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 116, 97, 114, 116, 101, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 115, 101, 116, 117, 112, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 76, 105, 115, 116, 101, 110, 101, 114, 115, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 116, 97, 114, 116, 101, 100, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 116, 111, 112, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 44, 32, 95, 98, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 115, 116, 111, 112, 112, 101, 100, 32, 61, 32, 40, 95, 98, 32, 61, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 115, 116, 111, 112, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 40, 41, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 98, 32, 58, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 116, 111, 112, 112, 101, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 108, 101, 97, 110, 117, 112, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 76, 105, 115, 116, 101, 110, 101, 114, 115, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 116, 111, 112, 112, 101, 100, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 95, 103, 101, 116, 80, 111, 105, 110, 116, 101, 114, 80, 111, 115, 105, 116, 105, 111, 110, 40, 101, 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 99, 116, 32, 61, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 103, 101, 116, 66, 111, 117, 110, 100, 105, 110, 103, 67, 108, 105, 101, 110, 116, 82, 101, 99, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 115, 99, 97, 108, 101, 88, 32, 61, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 119, 105, 100, 116, 104, 32, 47, 32, 114, 101, 99, 116, 46, 119, 105, 100, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 115, 99, 97, 108, 101, 89, 32, 61, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 104, 101, 105, 103, 104, 116, 32, 47, 32, 114, 101, 99, 116, 46, 104, 101, 105, 103, 104, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 100, 101, 118, 105, 99, 101, 80, 105, 120, 101, 108, 82, 97, 116, 105, 111, 32, 61, 32, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 46, 100, 101, 118, 105, 99, 101, 80, 105, 120, 101, 108, 82, 97, 116, 105, 111, 32, 124, 124, 32, 119, 105, 110, 100, 111, 119, 46, 100, 101, 118, 105, 99, 101, 80, 105, 120, 101, 108, 82, 97, 116, 105, 111, 32, 124, 124, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 120, 32, 61, 32, 40, 101, 118, 101, 110, 116, 46, 99, 108, 105, 101, 110, 116, 88, 32, 45, 32, 114, 101, 99, 116, 46, 108, 101, 102, 116, 41, 32, 42, 32, 115, 99, 97, 108, 101, 88, 32, 47, 32, 100, 101, 118, 105, 99, 101, 80, 105, 120, 101, 108, 82, 97, 116, 105, 111, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 121, 32, 61, 32, 40, 101, 118, 101, 110, 116, 46, 99, 108, 105, 101, 110, 116, 89, 32, 45, 32, 114, 101, 99, 116, 46, 116, 111, 112, 41, 32, 42, 32, 115, 99, 97, 108, 101, 89, 32, 47, 32, 100, 101, 118, 105, 99, 101, 80, 105, 120, 101, 108, 82, 97, 116, 105, 111, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 120, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 121, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 95, 111, 110, 80, 111, 105, 110, 116, 101, 114, 85, 112, 40, 101, 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 123, 32, 120, 44, 32, 121, 32, 125, 32, 61, 32, 116, 104, 105, 115, 46, 95, 103, 101, 116, 80, 111, 105, 110, 116, 101, 114, 80, 111, 115, 105, 116, 105, 111, 110, 40, 101, 118, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 112, 111, 115, 116, 80, 111, 105, 110, 116, 101, 114, 85, 112, 69, 118, 101, 110, 116, 40, 120, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 95, 111, 110, 80, 111, 105, 110, 116, 101, 114, 68, 111, 119, 110, 40, 101, 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 123, 32, 120, 44, 32, 121, 32, 125, 32, 61, 32, 116, 104, 105, 115, 46, 95, 103, 101, 116, 80, 111, 105, 110, 116, 101, 114, 80, 111, 115, 105, 116, 105, 111, 110, 40, 101, 118, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 112, 111, 115, 116, 80, 111, 105, 110, 116, 101, 114, 68, 111, 119, 110, 69, 118, 101, 110, 116, 40, 120, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 95, 111, 110, 80, 111, 105, 110, 116, 101, 114, 77, 111, 118, 101, 40, 101, 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 123, 32, 120, 44, 32, 121, 32, 125, 32, 61, 32, 116, 104, 105, 115, 46, 95, 103, 101, 116, 80, 111, 105, 110, 116, 101, 114, 80, 111, 115, 105, 116, 105, 111, 110, 40, 101, 118, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 112, 111, 115, 116, 80, 111, 105, 110, 116, 101, 114, 77, 111, 118, 101, 69, 118, 101, 110, 116, 40, 120, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 95, 111, 110, 80, 111, 105, 110, 116, 101, 114, 69, 110, 116, 101, 114, 40, 101, 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 123, 32, 120, 44, 32, 121, 32, 125, 32, 61, 32, 116, 104, 105, 115, 46, 95, 103, 101, 116, 80, 111, 105, 110, 116, 101, 114, 80, 111, 115, 105, 116, 105, 111, 110, 40, 101, 118, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 112, 111, 115, 116, 80, 111, 105, 110, 116, 101, 114, 69, 110, 116, 101, 114, 69, 118, 101, 110, 116, 40, 120, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 95, 111, 110, 80, 111, 105, 110, 116, 101, 114, 76, 101, 97, 118, 101, 40, 101, 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 123, 32, 120, 44, 32, 121, 32, 125, 32, 61, 32, 116, 104, 105, 115, 46, 95, 103, 101, 116, 80, 111, 105, 110, 116, 101, 114, 80, 111, 115, 105, 116, 105, 111, 110, 40, 101, 118, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 112, 111, 115, 116, 80, 111, 105, 110, 116, 101, 114, 69, 120, 105, 116, 69, 118, 101, 110, 116, 40, 120, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 112, 111, 115, 116, 80, 111, 105, 110, 116, 101, 114, 85, 112, 69, 118, 101, 110, 116, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 112, 111, 115, 116, 80, 111, 105, 110, 116, 101, 114, 85, 112, 69, 118, 101, 110, 116, 40, 120, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 112, 111, 115, 116, 80, 111, 105, 110, 116, 101, 114, 68, 111, 119, 110, 69, 118, 101, 110, 116, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 112, 111, 115, 116, 80, 111, 105, 110, 116, 101, 114, 68, 111, 119, 110, 69, 118, 101, 110, 116, 40, 120, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 112, 111, 115, 116, 80, 111, 105, 110, 116, 101, 114, 77, 111, 118, 101, 69, 118, 101, 110, 116, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 112, 111, 115, 116, 80, 111, 105, 110, 116, 101, 114, 77, 111, 118, 101, 69, 118, 101, 110, 116, 40, 120, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 112, 111, 115, 116, 80, 111, 105, 110, 116, 101, 114, 69, 110, 116, 101, 114, 69, 118, 101, 110, 116, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 112, 111, 115, 116, 80, 111, 105, 110, 116, 101, 114, 69, 110, 116, 101, 114, 69, 118, 101, 110, 116, 40, 120, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 112, 111, 115, 116, 80, 111, 105, 110, 116, 101, 114, 69, 120, 105, 116, 69, 118, 101, 110, 116, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 112, 111, 115, 116, 80, 111, 105, 110, 116, 101, 114, 69, 120, 105, 116, 69, 118, 101, 110, 116, 40, 120, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 76, 105, 115, 116, 101, 110, 101, 114, 115, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 114, 101, 116, 117, 114, 110, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 86, 101, 99, 116, 111, 114, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 115, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 70, 114, 97, 109, 101, 119, 111, 114, 107, 83, 101, 116, 117, 112, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 32, 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 86, 101, 99, 116, 111, 114, 46, 115, 105, 122, 101, 40, 41, 59, 32, 105, 32, 43, 61, 32, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 46, 112, 117, 115, 104, 40, 108, 105, 115, 116, 101, 110, 101, 114, 115, 86, 101, 99, 116, 111, 114, 46, 103, 101, 116, 40, 105, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 95, 115, 101, 116, 117, 112, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 76, 105, 115, 116, 101, 110, 101, 114, 115, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 73, 83, 95, 66, 82, 79, 87, 83, 69, 82, 32, 38, 38, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 72, 84, 77, 76, 67, 97, 110, 118, 97, 115, 69, 108, 101, 109, 101, 110, 116, 32, 38, 38, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 33, 61, 61, 32, 110, 117, 108, 108, 32, 38, 38, 32, 116, 104, 105, 115, 46, 105, 115, 76, 111, 97, 100, 101, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 32, 61, 32, 116, 104, 105, 115, 46, 103, 101, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 76, 105, 115, 116, 101, 110, 101, 114, 115, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 105, 115, 116, 101, 110, 101, 114, 115, 46, 105, 110, 99, 108, 117, 100, 101, 115, 40, 34, 80, 111, 105, 110, 116, 101, 114, 85, 112, 34, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 97, 100, 100, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 34, 112, 111, 105, 110, 116, 101, 114, 117, 112, 34, 44, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 101, 114, 85, 112, 77, 101, 116, 104, 111, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 105, 115, 116, 101, 110, 101, 114, 115, 46, 105, 110, 99, 108, 117, 100, 101, 115, 40, 34, 80, 111, 105, 110, 116, 101, 114, 68, 111, 119, 110, 34, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 97, 100, 100, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 34, 112, 111, 105, 110, 116, 101, 114, 100, 111, 119, 110, 34, 44, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 101, 114, 68, 111, 119, 110, 77, 101, 116, 104, 111, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 105, 115, 116, 101, 110, 101, 114, 115, 46, 105, 110, 99, 108, 117, 100, 101, 115, 40, 34, 80, 111, 105, 110, 116, 101, 114, 77, 111, 118, 101, 34, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 97, 100, 100, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 34, 112, 111, 105, 110, 116, 101, 114, 109, 111, 118, 101, 34, 44, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 101, 114, 77, 111, 118, 101, 77, 101, 116, 104, 111, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 105, 115, 116, 101, 110, 101, 114, 115, 46, 105, 110, 99, 108, 117, 100, 101, 115, 40, 34, 80, 111, 105, 110, 116, 101, 114, 69, 110, 116, 101, 114, 34, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 97, 100, 100, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 34, 112, 111, 105, 110, 116, 101, 114, 101, 110, 116, 101, 114, 34, 44, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 101, 114, 69, 110, 116, 101, 114, 77, 101, 116, 104, 111, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 105, 115, 116, 101, 110, 101, 114, 115, 46, 105, 110, 99, 108, 117, 100, 101, 115, 40, 34, 80, 111, 105, 110, 116, 101, 114, 69, 120, 105, 116, 34, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 97, 100, 100, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 34, 112, 111, 105, 110, 116, 101, 114, 108, 101, 97, 118, 101, 34, 44, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 101, 114, 69, 120, 105, 116, 77, 101, 116, 104, 111, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 95, 99, 108, 101, 97, 110, 117, 112, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 76, 105, 115, 116, 101, 110, 101, 114, 115, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 73, 83, 95, 66, 82, 79, 87, 83, 69, 82, 32, 38, 38, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 72, 84, 77, 76, 67, 97, 110, 118, 97, 115, 69, 108, 101, 109, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 114, 101, 109, 111, 118, 101, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 34, 112, 111, 105, 110, 116, 101, 114, 117, 112, 34, 44, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 101, 114, 85, 112, 77, 101, 116, 104, 111, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 114, 101, 109, 111, 118, 101, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 34, 112, 111, 105, 110, 116, 101, 114, 100, 111, 119, 110, 34, 44, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 101, 114, 68, 111, 119, 110, 77, 101, 116, 104, 111, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 114, 101, 109, 111, 118, 101, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 34, 112, 111, 105, 110, 116, 101, 114, 109, 111, 118, 101, 34, 44, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 101, 114, 77, 111, 118, 101, 77, 101, 116, 104, 111, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 114, 101, 109, 111, 118, 101, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 34, 112, 111, 105, 110, 116, 101, 114, 101, 110, 116, 101, 114, 34, 44, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 101, 114, 69, 110, 116, 101, 114, 77, 101, 116, 104, 111, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 114, 101, 109, 111, 118, 101, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 34, 112, 111, 105, 110, 116, 101, 114, 108, 101, 97, 118, 101, 34, 44, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 101, 114, 69, 120, 105, 116, 77, 101, 116, 104, 111, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 108, 111, 97, 100, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 68, 97, 116, 97, 40, 115, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 68, 97, 116, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 44, 32, 95, 98, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 95, 98, 32, 61, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 108, 111, 97, 100, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 68, 97, 116, 97, 40, 115, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 68, 97, 116, 97, 41, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 98, 32, 58, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 97, 110, 105, 109, 97, 116, 105, 111, 110, 83, 105, 122, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 44, 32, 95, 98, 44, 32, 95, 99, 44, 32, 95, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 119, 105, 100, 116, 104, 32, 61, 32, 40, 95, 98, 32, 61, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 97, 110, 105, 109, 97, 116, 105, 111, 110, 83, 105, 122, 101, 40, 41, 46, 103, 101, 116, 40, 48, 41, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 98, 32, 58, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 104, 101, 105, 103, 104, 116, 32, 61, 32, 40, 95, 100, 32, 61, 32, 40, 95, 99, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 99, 46, 97, 110, 105, 109, 97, 116, 105, 111, 110, 83, 105, 122, 101, 40, 41, 46, 103, 101, 116, 40, 49, 41, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 100, 32, 58, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 105, 100, 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 104, 101, 105, 103, 104, 116, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 101, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 66, 111, 111, 108, 101, 97, 110, 67, 111, 110, 116, 101, 120, 116, 40, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 44, 32, 95, 98, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 95, 98, 32, 61, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 115, 101, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 66, 111, 111, 108, 101, 97, 110, 67, 111, 110, 116, 101, 120, 116, 40, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 41, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 98, 32, 58, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 101, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 78, 117, 109, 101, 114, 105, 99, 67, 111, 110, 116, 101, 120, 116, 40, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 44, 32, 95, 98, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 95, 98, 32, 61, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 115, 101, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 78, 117, 109, 101, 114, 105, 99, 67, 111, 110, 116, 101, 120, 116, 40, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 41, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 98, 32, 58, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 101, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 83, 116, 114, 105, 110, 103, 67, 111, 110, 116, 101, 120, 116, 40, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 44, 32, 95, 98, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 95, 98, 32, 61, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 115, 101, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 83, 116, 114, 105, 110, 103, 67, 111, 110, 116, 101, 120, 116, 40, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 41, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 98, 32, 58, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 47, 42, 42, 10, 32, 32, 32, 32, 32, 42, 32, 71, 101, 116, 32, 116, 104, 101, 32, 98, 111, 117, 110, 100, 115, 32, 111, 102, 32, 97, 32, 108, 97, 121, 101, 114, 32, 98, 121, 32, 105, 116, 115, 32, 110, 97, 109, 101, 10, 32, 32, 32, 32, 32, 42, 32, 64, 112, 97, 114, 97, 109, 32, 108, 97, 121, 101, 114, 78, 97, 109, 101, 32, 45, 32, 84, 104, 101, 32, 110, 97, 109, 101, 32, 111, 102, 32, 116, 104, 101, 32, 108, 97, 121, 101, 114, 10, 32, 32, 32, 32, 32, 42, 32, 64, 114, 101, 116, 117, 114, 110, 115, 32, 84, 104, 101, 32, 98, 111, 117, 110, 100, 115, 32, 111, 102, 32, 116, 104, 101, 32, 108, 97, 121, 101, 114, 10, 32, 32, 32, 32, 32, 42, 10, 32, 32, 32, 32, 32, 42, 32, 64, 101, 120, 97, 109, 112, 108, 101, 10, 32, 32, 32, 32, 32, 42, 32, 96, 96, 96, 116, 121, 112, 101, 115, 99, 114, 105, 112, 116, 10, 32, 32, 32, 32, 32, 42, 32, 47, 47, 32, 68, 114, 97, 119, 32, 97, 32, 114, 101, 99, 116, 97, 110, 103, 108, 101, 32, 97, 114, 111, 117, 110, 100, 32, 116, 104, 101, 32, 108, 97, 121, 101, 114, 32, 39, 76, 97, 121, 101, 114, 32, 49, 39, 10, 32, 32, 32, 32, 32, 42, 32, 100, 111, 116, 76, 111, 116, 116, 105, 101, 46, 97, 100, 100, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 39, 114, 101, 110, 100, 101, 114, 39, 44, 32, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 42, 32, 32, 32, 99, 111, 110, 115, 116, 32, 98, 111, 117, 110, 100, 105, 110, 103, 66, 111, 120, 32, 61, 32, 100, 111, 116, 76, 111, 116, 116, 105, 101, 46, 103, 101, 116, 76, 97, 121, 101, 114, 66, 111, 117, 110, 100, 105, 110, 103, 66, 111, 120, 40, 39, 76, 97, 121, 101, 114, 32, 49, 39, 41, 59, 10, 32, 32, 32, 32, 32, 42, 10, 32, 32, 32, 32, 32, 42, 32, 32, 32, 105, 102, 32, 40, 98, 111, 117, 110, 100, 105, 110, 103, 66, 111, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 42, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 123, 32, 120, 44, 32, 121, 44, 32, 119, 105, 100, 116, 104, 44, 32, 104, 101, 105, 103, 104, 116, 32, 125, 32, 61, 32, 98, 111, 117, 110, 100, 105, 110, 103, 66, 111, 120, 59, 10, 32, 32, 32, 32, 32, 42, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 115, 116, 114, 111, 107, 101, 82, 101, 99, 116, 40, 120, 44, 32, 121, 44, 32, 119, 105, 100, 116, 104, 44, 32, 104, 101, 105, 103, 104, 116, 41, 59, 10, 32, 32, 32, 32, 32, 42, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 42, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 42, 32, 96, 96, 96, 10, 32, 32, 32, 32, 32, 42, 47, 10, 32, 32, 32, 32, 103, 101, 116, 76, 97, 121, 101, 114, 66, 111, 117, 110, 100, 105, 110, 103, 66, 111, 120, 40, 108, 97, 121, 101, 114, 78, 97, 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 98, 111, 117, 110, 100, 115, 32, 61, 32, 40, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 103, 101, 116, 76, 97, 121, 101, 114, 66, 111, 117, 110, 100, 115, 40, 108, 97, 121, 101, 114, 78, 97, 109, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 98, 111, 117, 110, 100, 115, 41, 32, 114, 101, 116, 117, 114, 110, 32, 118, 111, 105, 100, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 98, 111, 117, 110, 100, 115, 46, 115, 105, 122, 101, 40, 41, 32, 33, 61, 61, 32, 52, 41, 32, 114, 101, 116, 117, 114, 110, 32, 118, 111, 105, 100, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 120, 32, 61, 32, 98, 111, 117, 110, 100, 115, 46, 103, 101, 116, 40, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 121, 32, 61, 32, 98, 111, 117, 110, 100, 115, 46, 103, 101, 116, 40, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 119, 105, 100, 116, 104, 32, 61, 32, 98, 111, 117, 110, 100, 115, 46, 103, 101, 116, 40, 50, 41, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 104, 101, 105, 103, 104, 116, 32, 61, 32, 98, 111, 117, 110, 100, 115, 46, 103, 101, 116, 40, 51, 41, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 120, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 105, 100, 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 104, 101, 105, 103, 104, 116, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 116, 97, 116, 105, 99, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 84, 104, 101, 109, 101, 84, 111, 76, 111, 116, 116, 105, 101, 83, 108, 111, 116, 115, 40, 116, 104, 101, 109, 101, 44, 32, 115, 108, 111, 116, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 97, 44, 32, 95, 98, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 95, 98, 32, 61, 32, 40, 95, 97, 32, 61, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 41, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 118, 111, 105, 100, 32, 48, 32, 58, 32, 95, 97, 46, 116, 114, 97, 110, 115, 102, 111, 114, 109, 84, 104, 101, 109, 101, 84, 111, 76, 111, 116, 116, 105, 101, 83, 108, 111, 116, 115, 40, 116, 104, 101, 109, 101, 44, 32, 115, 108, 111, 116, 115, 41, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 63, 32, 95, 98, 32, 58, 32, 34, 34, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 125, 59, 10, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 44, 32, 34, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 34, 44, 32, 110, 117, 108, 108, 41, 59, 10, 32, 32, 118, 97, 114, 32, 68, 111, 116, 76, 111, 116, 116, 105, 101, 32, 61, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 59, 10, 10, 32, 32, 47, 47, 32, 115, 114, 99, 47, 119, 111, 114, 107, 101, 114, 47, 100, 111, 116, 108, 111, 116, 116, 105, 101, 46, 119, 111, 114, 107, 101, 114, 46, 116, 115, 10, 32, 32, 118, 97, 114, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 32, 61, 32, 47, 42, 32, 64, 95, 95, 80, 85, 82, 69, 95, 95, 32, 42, 47, 32, 110, 101, 119, 32, 77, 97, 112, 40, 41, 59, 10, 32, 32, 118, 97, 114, 32, 101, 118, 101, 110, 116, 72, 97, 110, 100, 108, 101, 114, 77, 97, 112, 32, 61, 32, 123, 10, 32, 32, 32, 32, 114, 101, 97, 100, 121, 58, 32, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 32, 61, 62, 32, 40, 101, 118, 101, 110, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 112, 111, 110, 115, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 116, 104, 111, 100, 58, 32, 34, 111, 110, 82, 101, 97, 100, 121, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 112, 111, 115, 116, 77, 101, 115, 115, 97, 103, 101, 40, 114, 101, 115, 112, 111, 110, 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 99, 111, 109, 112, 108, 101, 116, 101, 58, 32, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 32, 61, 62, 32, 40, 101, 118, 101, 110, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 112, 111, 110, 115, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 116, 104, 111, 100, 58, 32, 34, 111, 110, 67, 111, 109, 112, 108, 101, 116, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 112, 111, 115, 116, 77, 101, 115, 115, 97, 103, 101, 40, 114, 101, 115, 112, 111, 110, 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 108, 111, 97, 100, 58, 32, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 32, 61, 62, 32, 40, 101, 118, 101, 110, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 108, 111, 97, 100, 69, 118, 101, 110, 116, 32, 61, 32, 101, 118, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 112, 111, 110, 115, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 116, 104, 111, 100, 58, 32, 34, 111, 110, 76, 111, 97, 100, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 58, 32, 108, 111, 97, 100, 69, 118, 101, 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 112, 111, 115, 116, 77, 101, 115, 115, 97, 103, 101, 40, 114, 101, 115, 112, 111, 110, 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 108, 111, 97, 100, 69, 114, 114, 111, 114, 58, 32, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 32, 61, 62, 32, 40, 101, 118, 101, 110, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 108, 111, 97, 100, 69, 114, 114, 111, 114, 69, 118, 101, 110, 116, 32, 61, 32, 101, 118, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 112, 111, 110, 115, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 116, 104, 111, 100, 58, 32, 34, 111, 110, 76, 111, 97, 100, 69, 114, 114, 111, 114, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 58, 32, 108, 111, 97, 100, 69, 114, 114, 111, 114, 69, 118, 101, 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 112, 111, 115, 116, 77, 101, 115, 115, 97, 103, 101, 40, 114, 101, 115, 112, 111, 110, 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 108, 111, 111, 112, 58, 32, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 32, 61, 62, 32, 40, 101, 118, 101, 110, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 108, 111, 111, 112, 69, 118, 101, 110, 116, 32, 61, 32, 101, 118, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 112, 111, 110, 115, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 116, 104, 111, 100, 58, 32, 34, 111, 110, 76, 111, 111, 112, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 58, 32, 108, 111, 111, 112, 69, 118, 101, 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 112, 111, 115, 116, 77, 101, 115, 115, 97, 103, 101, 40, 114, 101, 115, 112, 111, 110, 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 112, 108, 97, 121, 58, 32, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 32, 61, 62, 32, 40, 101, 118, 101, 110, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 112, 108, 97, 121, 69, 118, 101, 110, 116, 32, 61, 32, 101, 118, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 112, 111, 110, 115, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 116, 104, 111, 100, 58, 32, 34, 111, 110, 80, 108, 97, 121, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 58, 32, 112, 108, 97, 121, 69, 118, 101, 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 112, 111, 115, 116, 77, 101, 115, 115, 97, 103, 101, 40, 114, 101, 115, 112, 111, 110, 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 112, 97, 117, 115, 101, 58, 32, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 32, 61, 62, 32, 40, 101, 118, 101, 110, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 112, 97, 117, 115, 101, 69, 118, 101, 110, 116, 32, 61, 32, 101, 118, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 112, 111, 110, 115, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 116, 104, 111, 100, 58, 32, 34, 111, 110, 80, 97, 117, 115, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 58, 32, 112, 97, 117, 115, 101, 69, 118, 101, 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 112, 111, 115, 116, 77, 101, 115, 115, 97, 103, 101, 40, 114, 101, 115, 112, 111, 110, 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 116, 111, 112, 58, 32, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 32, 61, 62, 32, 40, 101, 118, 101, 110, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 115, 116, 111, 112, 69, 118, 101, 110, 116, 32, 61, 32, 101, 118, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 112, 111, 110, 115, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 116, 104, 111, 100, 58, 32, 34, 111, 110, 83, 116, 111, 112, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 58, 32, 115, 116, 111, 112, 69, 118, 101, 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 112, 111, 115, 116, 77, 101, 115, 115, 97, 103, 101, 40, 114, 101, 115, 112, 111, 110, 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 102, 114, 97, 109, 101, 58, 32, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 32, 61, 62, 32, 40, 101, 118, 101, 110, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 102, 114, 97, 109, 101, 69, 118, 101, 110, 116, 32, 61, 32, 101, 118, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 112, 111, 110, 115, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 116, 104, 111, 100, 58, 32, 34, 111, 110, 70, 114, 97, 109, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 58, 32, 102, 114, 97, 109, 101, 69, 118, 101, 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 112, 111, 115, 116, 77, 101, 115, 115, 97, 103, 101, 40, 114, 101, 115, 112, 111, 110, 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 114, 101, 110, 100, 101, 114, 58, 32, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 32, 61, 62, 32, 40, 101, 118, 101, 110, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 110, 100, 101, 114, 69, 118, 101, 110, 116, 32, 61, 32, 101, 118, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 112, 111, 110, 115, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 116, 104, 111, 100, 58, 32, 34, 111, 110, 82, 101, 110, 100, 101, 114, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 58, 32, 114, 101, 110, 100, 101, 114, 69, 118, 101, 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 112, 111, 115, 116, 77, 101, 115, 115, 97, 103, 101, 40, 114, 101, 115, 112, 111, 110, 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 102, 114, 101, 101, 122, 101, 58, 32, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 32, 61, 62, 32, 40, 101, 118, 101, 110, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 102, 114, 101, 101, 122, 101, 69, 118, 101, 110, 116, 32, 61, 32, 101, 118, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 112, 111, 110, 115, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 116, 104, 111, 100, 58, 32, 34, 111, 110, 70, 114, 101, 101, 122, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 58, 32, 102, 114, 101, 101, 122, 101, 69, 118, 101, 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 112, 111, 115, 116, 77, 101, 115, 115, 97, 103, 101, 40, 114, 101, 115, 112, 111, 110, 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 117, 110, 102, 114, 101, 101, 122, 101, 58, 32, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 32, 61, 62, 32, 40, 101, 118, 101, 110, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 117, 110, 102, 114, 101, 101, 122, 101, 69, 118, 101, 110, 116, 32, 61, 32, 101, 118, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 112, 111, 110, 115, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 116, 104, 111, 100, 58, 32, 34, 111, 110, 85, 110, 102, 114, 101, 101, 122, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 58, 32, 117, 110, 102, 114, 101, 101, 122, 101, 69, 118, 101, 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 112, 111, 115, 116, 77, 101, 115, 115, 97, 103, 101, 40, 114, 101, 115, 112, 111, 110, 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 100, 101, 115, 116, 114, 111, 121, 58, 32, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 32, 61, 62, 32, 40, 101, 118, 101, 110, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 100, 101, 115, 116, 114, 111, 121, 69, 118, 101, 110, 116, 32, 61, 32, 101, 118, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 112, 111, 110, 115, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 116, 104, 111, 100, 58, 32, 34, 111, 110, 68, 101, 115, 116, 114, 111, 121, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 58, 32, 100, 101, 115, 116, 114, 111, 121, 69, 118, 101, 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 112, 111, 115, 116, 77, 101, 115, 115, 97, 103, 101, 40, 114, 101, 115, 112, 111, 110, 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 125, 59, 10, 32, 32, 118, 97, 114, 32, 99, 111, 109, 109, 97, 110, 100, 115, 32, 61, 32, 123, 10, 32, 32, 32, 32, 103, 101, 116, 68, 111, 116, 76, 111, 116, 116, 105, 101, 73, 110, 115, 116, 97, 110, 99, 101, 83, 116, 97, 116, 101, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 115, 116, 97, 116, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 115, 76, 111, 97, 100, 101, 100, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 105, 115, 76, 111, 97, 100, 101, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 115, 80, 97, 117, 115, 101, 100, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 105, 115, 80, 97, 117, 115, 101, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 115, 80, 108, 97, 121, 105, 110, 103, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 105, 115, 80, 108, 97, 121, 105, 110, 103, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 115, 83, 116, 111, 112, 112, 101, 100, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 105, 115, 83, 116, 111, 112, 112, 101, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 115, 70, 114, 111, 122, 101, 110, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 105, 115, 70, 114, 111, 122, 101, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, 111, 112, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 108, 111, 111, 112, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 111, 100, 101, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 109, 111, 100, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 112, 101, 101, 100, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 112, 101, 101, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 117, 114, 114, 101, 110, 116, 70, 114, 97, 109, 101, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 99, 117, 114, 114, 101, 110, 116, 70, 114, 97, 109, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 111, 116, 97, 108, 70, 114, 97, 109, 101, 115, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 116, 111, 116, 97, 108, 70, 114, 97, 109, 101, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 117, 114, 97, 116, 105, 111, 110, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 100, 117, 114, 97, 116, 105, 111, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 117, 115, 101, 70, 114, 97, 109, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 117, 115, 101, 70, 114, 97, 109, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 97, 114, 107, 101, 114, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 109, 97, 114, 107, 101, 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 97, 114, 107, 101, 114, 115, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 109, 97, 114, 107, 101, 114, 115, 40, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 99, 116, 105, 118, 101, 65, 110, 105, 109, 97, 116, 105, 111, 110, 73, 100, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 97, 99, 116, 105, 118, 101, 65, 110, 105, 109, 97, 116, 105, 111, 110, 73, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 99, 116, 105, 118, 101, 84, 104, 101, 109, 101, 73, 100, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 97, 99, 116, 105, 118, 101, 84, 104, 101, 109, 101, 73, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 117, 116, 111, 112, 108, 97, 121, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 97, 117, 116, 111, 112, 108, 97, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 103, 109, 101, 110, 116, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 101, 103, 109, 101, 110, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 121, 111, 117, 116, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 108, 97, 121, 111, 117, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 103, 109, 101, 110, 116, 68, 117, 114, 97, 116, 105, 111, 110, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 101, 103, 109, 101, 110, 116, 68, 117, 114, 97, 116, 105, 111, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 115, 82, 101, 97, 100, 121, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 105, 115, 82, 101, 97, 100, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 97, 110, 105, 102, 101, 115, 116, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 109, 97, 110, 105, 102, 101, 115, 116, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 116, 101, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 101, 116, 76, 97, 121, 111, 117, 116, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 108, 97, 121, 111, 117, 116, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 108, 97, 121, 111, 117, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 101, 116, 76, 97, 121, 111, 117, 116, 40, 108, 97, 121, 111, 117, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 117, 99, 99, 101, 115, 115, 58, 32, 116, 114, 117, 101, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 103, 101, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 76, 105, 115, 116, 101, 110, 101, 114, 115, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 103, 101, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 76, 105, 115, 116, 101, 110, 101, 114, 115, 40, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 112, 111, 115, 116, 80, 111, 105, 110, 116, 101, 114, 68, 111, 119, 110, 69, 118, 101, 110, 116, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 120, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 120, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 121, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 121, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 112, 111, 115, 116, 80, 111, 105, 110, 116, 101, 114, 68, 111, 119, 110, 69, 118, 101, 110, 116, 40, 120, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 112, 111, 115, 116, 80, 111, 105, 110, 116, 101, 114, 69, 110, 116, 101, 114, 69, 118, 101, 110, 116, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 120, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 120, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 121, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 121, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 112, 111, 115, 116, 80, 111, 105, 110, 116, 101, 114, 69, 110, 116, 101, 114, 69, 118, 101, 110, 116, 40, 120, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 112, 111, 115, 116, 80, 111, 105, 110, 116, 101, 114, 69, 120, 105, 116, 69, 118, 101, 110, 116, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 120, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 120, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 121, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 121, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 112, 111, 115, 116, 80, 111, 105, 110, 116, 101, 114, 69, 120, 105, 116, 69, 118, 101, 110, 116, 40, 120, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 112, 111, 115, 116, 80, 111, 105, 110, 116, 101, 114, 77, 111, 118, 101, 69, 118, 101, 110, 116, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 120, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 120, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 121, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 121, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 112, 111, 115, 116, 80, 111, 105, 110, 116, 101, 114, 77, 111, 118, 101, 69, 118, 101, 110, 116, 40, 120, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 112, 111, 115, 116, 80, 111, 105, 110, 116, 101, 114, 85, 112, 69, 118, 101, 110, 116, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 120, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 120, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 121, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 121, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 112, 111, 115, 116, 80, 111, 105, 110, 116, 101, 114, 85, 112, 69, 118, 101, 110, 116, 40, 120, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 116, 97, 114, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 116, 97, 114, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 40, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 116, 111, 112, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 116, 111, 112, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 40, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 108, 111, 97, 100, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 115, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 115, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 108, 111, 97, 100, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 40, 115, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 108, 111, 97, 100, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 68, 97, 116, 97, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 115, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 68, 97, 116, 97, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 115, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 68, 97, 116, 97, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 108, 111, 97, 100, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 68, 97, 116, 97, 40, 115, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 68, 97, 116, 97, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 99, 114, 101, 97, 116, 101, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 99, 111, 110, 102, 105, 103, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 99, 111, 110, 102, 105, 103, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 119, 105, 100, 116, 104, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 119, 105, 100, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 104, 101, 105, 103, 104, 116, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 104, 101, 105, 103, 104, 116, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 104, 97, 115, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 97, 108, 114, 101, 97, 100, 121, 32, 101, 120, 105, 115, 116, 115, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 110, 101, 119, 32, 68, 111, 116, 76, 111, 116, 116, 105, 101, 40, 99, 111, 110, 102, 105, 103, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 99, 97, 110, 118, 97, 115, 46, 104, 101, 105, 103, 104, 116, 32, 61, 32, 104, 101, 105, 103, 104, 116, 59, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 99, 97, 110, 118, 97, 115, 46, 119, 105, 100, 116, 104, 32, 61, 32, 119, 105, 100, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 115, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 44, 32, 105, 110, 115, 116, 97, 110, 99, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 101, 118, 101, 110, 116, 115, 32, 61, 32, 91, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 99, 111, 109, 112, 108, 101, 116, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 114, 97, 109, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 108, 111, 97, 100, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 108, 111, 97, 100, 69, 114, 114, 111, 114, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 108, 111, 111, 112, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 112, 97, 117, 115, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 112, 108, 97, 121, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 115, 116, 111, 112, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 100, 101, 115, 116, 114, 111, 121, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 114, 101, 101, 122, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 117, 110, 102, 114, 101, 101, 122, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 114, 101, 110, 100, 101, 114, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 114, 101, 97, 100, 121, 34, 10, 32, 32, 32, 32, 32, 32, 93, 59, 10, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 115, 46, 102, 111, 114, 69, 97, 99, 104, 40, 40, 101, 118, 101, 110, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 97, 100, 100, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 101, 118, 101, 110, 116, 44, 32, 101, 118, 101, 110, 116, 72, 97, 110, 100, 108, 101, 114, 77, 97, 112, 91, 101, 118, 101, 110, 116, 93, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 100, 101, 115, 116, 114, 111, 121, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 100, 101, 115, 116, 114, 111, 121, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 100, 101, 108, 101, 116, 101, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 102, 114, 101, 101, 122, 101, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 102, 114, 101, 101, 122, 101, 40, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 108, 111, 97, 100, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 99, 111, 110, 102, 105, 103, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 99, 111, 110, 102, 105, 103, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 108, 111, 97, 100, 40, 99, 111, 110, 102, 105, 103, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 108, 111, 97, 100, 65, 110, 105, 109, 97, 116, 105, 111, 110, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 97, 110, 105, 109, 97, 116, 105, 111, 110, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 97, 110, 105, 109, 97, 116, 105, 111, 110, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 108, 111, 97, 100, 65, 110, 105, 109, 97, 116, 105, 111, 110, 40, 97, 110, 105, 109, 97, 116, 105, 111, 110, 73, 100, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 101, 116, 84, 104, 101, 109, 101, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 116, 104, 101, 109, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 116, 104, 101, 109, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 101, 116, 84, 104, 101, 109, 101, 40, 116, 104, 101, 109, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 101, 116, 84, 104, 101, 109, 101, 68, 97, 116, 97, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 116, 104, 101, 109, 101, 68, 97, 116, 97, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 116, 104, 101, 109, 101, 68, 97, 116, 97, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 101, 116, 84, 104, 101, 109, 101, 68, 97, 116, 97, 40, 116, 104, 101, 109, 101, 68, 97, 116, 97, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 112, 97, 117, 115, 101, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 112, 97, 117, 115, 101, 40, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 112, 108, 97, 121, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 112, 108, 97, 121, 40, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 114, 101, 115, 105, 122, 101, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 119, 105, 100, 116, 104, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 119, 105, 100, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 104, 101, 105, 103, 104, 116, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 104, 101, 105, 103, 104, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 99, 97, 110, 118, 97, 115, 46, 104, 101, 105, 103, 104, 116, 32, 61, 32, 104, 101, 105, 103, 104, 116, 59, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 99, 97, 110, 118, 97, 115, 46, 119, 105, 100, 116, 104, 32, 61, 32, 119, 105, 100, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 114, 101, 115, 105, 122, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 117, 99, 99, 101, 115, 115, 58, 32, 116, 114, 117, 101, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 101, 116, 66, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 101, 116, 66, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 40, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 101, 116, 70, 114, 97, 109, 101, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 102, 114, 97, 109, 101, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 102, 114, 97, 109, 101, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 101, 116, 70, 114, 97, 109, 101, 40, 102, 114, 97, 109, 101, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 101, 116, 77, 111, 100, 101, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 109, 111, 100, 101, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 109, 111, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 101, 116, 77, 111, 100, 101, 40, 109, 111, 100, 101, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 101, 116, 82, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 101, 116, 82, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 40, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 101, 116, 83, 101, 103, 109, 101, 110, 116, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 115, 101, 103, 109, 101, 110, 116, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 115, 101, 103, 109, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 101, 116, 83, 101, 103, 109, 101, 110, 116, 40, 115, 101, 103, 109, 101, 110, 116, 91, 48, 93, 44, 32, 115, 101, 103, 109, 101, 110, 116, 91, 49, 93, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 101, 116, 83, 112, 101, 101, 100, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 115, 112, 101, 101, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 115, 112, 101, 101, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 101, 116, 83, 112, 101, 101, 100, 40, 115, 112, 101, 101, 100, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 101, 116, 85, 115, 101, 70, 114, 97, 109, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 117, 115, 101, 70, 114, 97, 109, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 117, 115, 101, 70, 114, 97, 109, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 101, 116, 85, 115, 101, 70, 114, 97, 109, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 40, 117, 115, 101, 70, 114, 97, 109, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 101, 116, 87, 97, 115, 109, 85, 114, 108, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 115, 101, 116, 87, 97, 115, 109, 85, 114, 108, 40, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 117, 114, 108, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 116, 111, 112, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 116, 111, 112, 40, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 117, 110, 102, 114, 101, 101, 122, 101, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 117, 110, 102, 114, 101, 101, 122, 101, 40, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 101, 116, 86, 105, 101, 119, 112, 111, 114, 116, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 120, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 120, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 121, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 121, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 119, 105, 100, 116, 104, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 119, 105, 100, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 104, 101, 105, 103, 104, 116, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 104, 101, 105, 103, 104, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 101, 116, 86, 105, 101, 119, 112, 111, 114, 116, 40, 120, 44, 32, 121, 44, 32, 119, 105, 100, 116, 104, 44, 32, 104, 101, 105, 103, 104, 116, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 101, 116, 77, 97, 114, 107, 101, 114, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 109, 97, 114, 107, 101, 114, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 109, 97, 114, 107, 101, 114, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 101, 116, 77, 97, 114, 107, 101, 114, 40, 109, 97, 114, 107, 101, 114, 41, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 117, 99, 99, 101, 115, 115, 58, 32, 116, 114, 117, 101, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 101, 116, 76, 111, 111, 112, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 108, 111, 111, 112, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 108, 111, 111, 112, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 101, 116, 76, 111, 111, 112, 40, 108, 111, 111, 112, 41, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 117, 99, 99, 101, 115, 115, 58, 32, 116, 114, 117, 101, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 125, 59, 10, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, 120, 101, 99, 117, 116, 101, 67, 111, 109, 109, 97, 110, 100, 40, 114, 112, 99, 82, 101, 113, 117, 101, 115, 116, 41, 32, 123, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 109, 101, 116, 104, 111, 100, 32, 61, 32, 114, 112, 99, 82, 101, 113, 117, 101, 115, 116, 46, 109, 101, 116, 104, 111, 100, 59, 10, 32, 32, 32, 32, 105, 102, 32, 40, 116, 121, 112, 101, 111, 102, 32, 99, 111, 109, 109, 97, 110, 100, 115, 91, 109, 101, 116, 104, 111, 100, 93, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 109, 109, 97, 110, 100, 115, 91, 109, 101, 116, 104, 111, 100, 93, 40, 114, 112, 99, 82, 101, 113, 117, 101, 115, 116, 41, 59, 10, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 77, 101, 116, 104, 111, 100, 32, 36, 123, 109, 101, 116, 104, 111, 100, 125, 32, 105, 115, 32, 110, 111, 116, 32, 105, 109, 112, 108, 101, 109, 101, 110, 116, 101, 100, 32, 105, 110, 32, 99, 111, 109, 109, 97, 110, 100, 115, 46, 96, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 125, 10, 32, 32, 115, 101, 108, 102, 46, 111, 110, 109, 101, 115, 115, 97, 103, 101, 32, 61, 32, 40, 101, 118, 101, 110, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 117, 108, 116, 32, 61, 32, 101, 120, 101, 99, 117, 116, 101, 67, 111, 109, 109, 97, 110, 100, 40, 101, 118, 101, 110, 116, 46, 100, 97, 116, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 112, 111, 110, 115, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 58, 32, 101, 118, 101, 110, 116, 46, 100, 97, 116, 97, 46, 105, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 116, 104, 111, 100, 58, 32, 101, 118, 101, 110, 116, 46, 100, 97, 116, 97, 46, 109, 101, 116, 104, 111, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 112, 111, 115, 116, 77, 101, 115, 115, 97, 103, 101, 40, 114, 101, 115, 112, 111, 110, 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 101, 114, 114, 111, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 101, 114, 114, 111, 114, 82, 101, 115, 112, 111, 110, 115, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 58, 32, 101, 118, 101, 110, 116, 46, 100, 97, 116, 97, 46, 105, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 116, 104, 111, 100, 58, 32, 101, 118, 101, 110, 116, 46, 100, 97, 116, 97, 46, 109, 101, 116, 104, 111, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 114, 114, 111, 114, 58, 32, 101, 114, 114, 111, 114, 46, 109, 101, 115, 115, 97, 103, 101, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 112, 111, 115, 116, 77, 101, 115, 115, 97, 103, 101, 40, 101, 114, 114, 111, 114, 82, 101, 115, 112, 111, 110, 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 125, 59, 10, 32, 32, 118, 97, 114, 32, 100, 117, 109, 109, 121, 32, 61, 32, 34, 34, 59, 10, 32, 32, 118, 97, 114, 32, 100, 111, 116, 108, 111, 116, 116, 105, 101, 95, 119, 111, 114, 107, 101, 114, 95, 100, 101, 102, 97, 117, 108, 116, 32, 61, 32, 100, 117, 109, 109, 121, 59, 10, 125, 41, 40, 41, 59, 10])], { type: \"application/javascript\" }), i = URL.createObjectURL(n), s = new Worker(i);\n    return URL.revokeObjectURL(i), s;\n  }\n};\nvar u3 = w2;\nvar U1 = class {\n  constructor() {\n    _(this, \"_workers\", /* @__PURE__ */ new Map());\n    _(this, \"_animationWorkerMap\", /* @__PURE__ */ new Map());\n  }\n  getWorker(n) {\n    return this._workers.has(n) || this._workers.set(n, new u3()), this._workers.get(n);\n  }\n  assignAnimationToWorker(n, i) {\n    this._animationWorkerMap.set(n, i);\n  }\n  unassignAnimationFromWorker(n) {\n    this._animationWorkerMap.delete(n);\n  }\n  sendMessage(n, i, s) {\n    this.getWorker(n).postMessage(i, s || []);\n  }\n  terminateWorker(n) {\n    let i = this._workers.get(n);\n    i && (i.terminate(), this._workers.delete(n));\n  }\n};\nfunction l3(c, n) {\n  if (c instanceof OffscreenCanvas)\n    return { width: c.width, height: c.height };\n  let { height: i, width: s } = c.getBoundingClientRect();\n  return { width: s * n, height: i * n };\n}\nfunction h3() {\n  return Date.now().toString(36) + Math.random().toString(36).substr(2, 9);\n}\nvar q = class q2 {\n  constructor(n) {\n    _(this, \"_eventManager\", new s1());\n    _(this, \"_id\");\n    _(this, \"_worker\");\n    _(this, \"_canvas\");\n    _(this, \"_dotLottieInstanceState\", { markers: [], autoplay: false, backgroundColor: \"\", currentFrame: 0, duration: 0, loop: false, mode: \"forward\", segment: [0, 0], segmentDuration: 0, speed: 1, totalFrames: 0, isLoaded: false, isPlaying: false, isPaused: false, isStopped: true, isFrozen: false, useFrameInterpolation: false, renderConfig: { devicePixelRatio: Z() }, activeAnimationId: \"\", activeThemeId: \"\", layout: void 0, marker: void 0, isReady: false, manifest: null });\n    _(this, \"_created\", false);\n    _(this, \"_pointerUpMethod\");\n    _(this, \"_pointerDownMethod\");\n    _(this, \"_pointerMoveMethod\");\n    _(this, \"_pointerEnterMethod\");\n    _(this, \"_pointerExitMethod\");\n    var s, d, m;\n    this._canvas = n.canvas, this._id = `dotlottie-${h3()}`;\n    let i = n.workerId || \"defaultWorker\";\n    this._worker = q2._workerManager.getWorker(i), q2._workerManager.assignAnimationToWorker(this._id, i), q2._wasmUrl && this._sendMessage(\"setWasmUrl\", { url: q2._wasmUrl }), this._create(k(F({}, n), { renderConfig: k(F({}, n.renderConfig), { devicePixelRatio: ((s = n.renderConfig) == null ? void 0 : s.devicePixelRatio) || Z(), freezeOnOffscreen: (m = (d = n.renderConfig) == null ? void 0 : d.freezeOnOffscreen) != null ? m : true }) })), this._worker.addEventListener(\"message\", this._handleWorkerEvent.bind(this)), this._pointerUpMethod = this._onPointerUp.bind(this), this._pointerDownMethod = this._onPointerDown.bind(this), this._pointerMoveMethod = this._onPointerMove.bind(this), this._pointerEnterMethod = this._onPointerEnter.bind(this), this._pointerExitMethod = this._onPointerLeave.bind(this);\n  }\n  _handleWorkerEvent(n) {\n    return g(this, null, function* () {\n      let i = n.data;\n      i.id || (i.method === \"onLoad\" && i.result.instanceId === this._id && (yield this._updateDotLottieInstanceState(), this._eventManager.dispatch(i.result.event), A && this._canvas instanceof HTMLCanvasElement && (this._dotLottieInstanceState.renderConfig.freezeOnOffscreen && W.observe(this._canvas, this), this._dotLottieInstanceState.renderConfig.autoResize && $.observe(this._canvas, this))), i.method === \"onComplete\" && i.result.instanceId === this._id && (yield this._updateDotLottieInstanceState(), this._eventManager.dispatch(i.result.event)), i.method === \"onDestroy\" && i.result.instanceId === this._id && this._eventManager.dispatch(i.result.event), i.method === \"onUnfreeze\" && i.result.instanceId === this._id && (yield this._updateDotLottieInstanceState(), this._dotLottieInstanceState.isFrozen = false, this._eventManager.dispatch(i.result.event)), i.method === \"onFrame\" && i.result.instanceId === this._id && (this._dotLottieInstanceState.currentFrame = i.result.event.currentFrame, this._eventManager.dispatch(i.result.event)), i.method === \"onRender\" && i.result.instanceId === this._id && this._eventManager.dispatch(i.result.event), i.method === \"onFreeze\" && i.result.instanceId === this._id && (yield this._updateDotLottieInstanceState(), this._eventManager.dispatch(i.result.event)), i.method === \"onPause\" && i.result.instanceId === this._id && (yield this._updateDotLottieInstanceState(), this._eventManager.dispatch(i.result.event)), i.method === \"onPlay\" && i.result.instanceId === this._id && (yield this._updateDotLottieInstanceState(), this._eventManager.dispatch(i.result.event)), i.method === \"onStop\" && i.result.instanceId === this._id && (yield this._updateDotLottieInstanceState(), this._eventManager.dispatch(i.result.event)), i.method === \"onLoadError\" && i.result.instanceId === this._id && (yield this._updateDotLottieInstanceState(), this._eventManager.dispatch(i.result.event)), i.method === \"onReady\" && i.result.instanceId === this._id && (yield this._updateDotLottieInstanceState(), this._eventManager.dispatch(i.result.event)));\n    });\n  }\n  _create(n) {\n    return g(this, null, function* () {\n      var d;\n      let i;\n      this._canvas instanceof HTMLCanvasElement ? i = this._canvas.transferControlToOffscreen() : i = this._canvas;\n      let { instanceId: s } = yield this._sendMessage(\"create\", F({ instanceId: this._id, config: k(F({}, n), { canvas: i }) }, l3(this._canvas, ((d = n.renderConfig) == null ? void 0 : d.devicePixelRatio) || Z())), [i]);\n      if (s !== this._id)\n        throw new Error(\"Instance ID mismatch\");\n      this._created = true, yield this._updateDotLottieInstanceState();\n    });\n  }\n  get isLoaded() {\n    return this._dotLottieInstanceState.isLoaded;\n  }\n  get isPlaying() {\n    return this._dotLottieInstanceState.isPlaying;\n  }\n  get isPaused() {\n    return this._dotLottieInstanceState.isPaused;\n  }\n  get isStopped() {\n    return this._dotLottieInstanceState.isStopped;\n  }\n  get currentFrame() {\n    return this._dotLottieInstanceState.currentFrame;\n  }\n  get isFrozen() {\n    return this._dotLottieInstanceState.isFrozen;\n  }\n  get segmentDuration() {\n    return this._dotLottieInstanceState.segmentDuration;\n  }\n  get totalFrames() {\n    return this._dotLottieInstanceState.totalFrames;\n  }\n  get segment() {\n    return this._dotLottieInstanceState.segment;\n  }\n  get speed() {\n    return this._dotLottieInstanceState.speed;\n  }\n  get duration() {\n    return this._dotLottieInstanceState.duration;\n  }\n  get isReady() {\n    return this._dotLottieInstanceState.isReady;\n  }\n  get mode() {\n    return this._dotLottieInstanceState.mode;\n  }\n  get canvas() {\n    return this._canvas;\n  }\n  get autoplay() {\n    return this._dotLottieInstanceState.autoplay;\n  }\n  get backgroundColor() {\n    return this._dotLottieInstanceState.backgroundColor;\n  }\n  get loop() {\n    return this._dotLottieInstanceState.loop;\n  }\n  get useFrameInterpolation() {\n    return this._dotLottieInstanceState.useFrameInterpolation;\n  }\n  get renderConfig() {\n    return this._dotLottieInstanceState.renderConfig;\n  }\n  get manifest() {\n    return this._dotLottieInstanceState.manifest;\n  }\n  get activeAnimationId() {\n    return this._dotLottieInstanceState.activeAnimationId;\n  }\n  get marker() {\n    return this._dotLottieInstanceState.marker;\n  }\n  get activeThemeId() {\n    return this._dotLottieInstanceState.activeThemeId;\n  }\n  get layout() {\n    return this._dotLottieInstanceState.layout;\n  }\n  play() {\n    return g(this, null, function* () {\n      this._created && (yield this._sendMessage(\"play\", { instanceId: this._id }), yield this._updateDotLottieInstanceState(), A && this._canvas instanceof HTMLCanvasElement && this._dotLottieInstanceState.renderConfig.freezeOnOffscreen && !$1(this._canvas) && (yield this.freeze()));\n    });\n  }\n  pause() {\n    return g(this, null, function* () {\n      this._created && (yield this._sendMessage(\"pause\", { instanceId: this._id }), yield this._updateDotLottieInstanceState());\n    });\n  }\n  stop() {\n    return g(this, null, function* () {\n      this._created && (yield this._sendMessage(\"stop\", { instanceId: this._id }), yield this._updateDotLottieInstanceState());\n    });\n  }\n  setSpeed(n) {\n    return g(this, null, function* () {\n      this._created && (yield this._sendMessage(\"setSpeed\", { instanceId: this._id, speed: n }), yield this._updateDotLottieInstanceState());\n    });\n  }\n  setMode(n) {\n    return g(this, null, function* () {\n      this._created && (yield this._sendMessage(\"setMode\", { instanceId: this._id, mode: n }), yield this._updateDotLottieInstanceState());\n    });\n  }\n  setFrame(n) {\n    return g(this, null, function* () {\n      this._created && (yield this._sendMessage(\"setFrame\", { frame: n, instanceId: this._id }), yield this._updateDotLottieInstanceState());\n    });\n  }\n  setSegment(n, i) {\n    return g(this, null, function* () {\n      this._created && (yield this._sendMessage(\"setSegment\", { instanceId: this._id, segment: [n, i] }), yield this._updateDotLottieInstanceState());\n    });\n  }\n  setRenderConfig(n) {\n    return g(this, null, function* () {\n      if (!this._created)\n        return;\n      let m = n, { devicePixelRatio: i, freezeOnOffscreen: s } = m, d = z1(m, [\"devicePixelRatio\", \"freezeOnOffscreen\"]);\n      yield this._sendMessage(\"setRenderConfig\", { instanceId: this._id, renderConfig: k(F(F({}, this._dotLottieInstanceState.renderConfig), d), { devicePixelRatio: i || Z(), freezeOnOffscreen: s != null ? s : true }) }), yield this._updateDotLottieInstanceState(), A && this._canvas instanceof HTMLCanvasElement && (this._dotLottieInstanceState.renderConfig.autoResize ? $.observe(this._canvas, this) : $.unobserve(this._canvas), this._dotLottieInstanceState.renderConfig.freezeOnOffscreen ? W.observe(this._canvas, this) : (W.unobserve(this._canvas), this._dotLottieInstanceState.isFrozen && (yield this.unfreeze())));\n    });\n  }\n  setUseFrameInterpolation(n) {\n    return g(this, null, function* () {\n      this._created && (yield this._sendMessage(\"setUseFrameInterpolation\", { instanceId: this._id, useFrameInterpolation: n }), yield this._updateDotLottieInstanceState());\n    });\n  }\n  setTheme(n) {\n    return g(this, null, function* () {\n      if (!this._created)\n        return false;\n      let i = this._sendMessage(\"setTheme\", { instanceId: this._id, themeId: n });\n      return yield this._updateDotLottieInstanceState(), i;\n    });\n  }\n  load(n) {\n    return g(this, null, function* () {\n      this._created && (yield this._sendMessage(\"load\", { config: n, instanceId: this._id }), yield this._updateDotLottieInstanceState());\n    });\n  }\n  setLoop(n) {\n    return g(this, null, function* () {\n      this._created && (yield this._sendMessage(\"setLoop\", { instanceId: this._id, loop: n }), yield this._updateDotLottieInstanceState());\n    });\n  }\n  resize() {\n    return g(this, null, function* () {\n      if (!this._created)\n        return;\n      let { height: n, width: i } = l3(this._canvas, this._dotLottieInstanceState.renderConfig.devicePixelRatio || Z());\n      yield this._sendMessage(\"resize\", { height: n, instanceId: this._id, width: i }), yield this._updateDotLottieInstanceState();\n    });\n  }\n  destroy() {\n    return g(this, null, function* () {\n      this._created && (this._created = false, yield this._sendMessage(\"destroy\", { instanceId: this._id }), this._cleanupStateMachineListeners(), q2._workerManager.unassignAnimationFromWorker(this._id), this._eventManager.removeAllEventListeners(), A && this._canvas instanceof HTMLCanvasElement && (W.unobserve(this._canvas), $.unobserve(this._canvas)));\n    });\n  }\n  freeze() {\n    return g(this, null, function* () {\n      this._created && (yield this._sendMessage(\"freeze\", { instanceId: this._id }), yield this._updateDotLottieInstanceState());\n    });\n  }\n  unfreeze() {\n    return g(this, null, function* () {\n      this._created && (yield this._sendMessage(\"unfreeze\", { instanceId: this._id }), yield this._updateDotLottieInstanceState());\n    });\n  }\n  setBackgroundColor(n) {\n    return g(this, null, function* () {\n      this._created && (yield this._sendMessage(\"setBackgroundColor\", { instanceId: this._id, backgroundColor: n }), yield this._updateDotLottieInstanceState());\n    });\n  }\n  loadAnimation(n) {\n    return g(this, null, function* () {\n      this._created && (yield this._sendMessage(\"loadAnimation\", { animationId: n, instanceId: this._id }), yield this._updateDotLottieInstanceState());\n    });\n  }\n  setLayout(n) {\n    return g(this, null, function* () {\n      this._created && (yield this._sendMessage(\"setLayout\", { instanceId: this._id, layout: n }), yield this._updateDotLottieInstanceState());\n    });\n  }\n  _updateDotLottieInstanceState() {\n    return g(this, null, function* () {\n      if (!this._created)\n        return;\n      let n = yield this._sendMessage(\"getDotLottieInstanceState\", { instanceId: this._id });\n      this._dotLottieInstanceState = n.state;\n    });\n  }\n  markers() {\n    return this._dotLottieInstanceState.markers;\n  }\n  setMarker(n) {\n    return g(this, null, function* () {\n      this._created && (yield this._sendMessage(\"setMarker\", { instanceId: this._id, marker: n }), yield this._updateDotLottieInstanceState());\n    });\n  }\n  setThemeData(n) {\n    return g(this, null, function* () {\n      if (!this._created)\n        return false;\n      let i = yield this._sendMessage(\"setThemeData\", { instanceId: this._id, themeData: n });\n      return yield this._updateDotLottieInstanceState(), i;\n    });\n  }\n  setViewport(n, i, s, d) {\n    return g(this, null, function* () {\n      return this._created ? this._sendMessage(\"setViewport\", { x: n, y: i, width: s, height: d, instanceId: this._id }) : false;\n    });\n  }\n  _sendMessage(n, i, s) {\n    return g(this, null, function* () {\n      let d = { id: `dotlottie-request-${h3()}`, method: n, params: i };\n      return this._worker.postMessage(d, s || []), new Promise((m, b) => {\n        let M = (P) => {\n          let R = P.data;\n          R.id === d.id && (this._worker.removeEventListener(\"message\", M), R.error ? b(new Error(`Failed to execute method ${n}: ${R.error}`)) : m(R.result));\n        };\n        this._worker.addEventListener(\"message\", M);\n      });\n    });\n  }\n  addEventListener(n, i) {\n    this._eventManager.addEventListener(n, i);\n  }\n  removeEventListener(n, i) {\n    this._eventManager.removeEventListener(n, i);\n  }\n  static setWasmUrl(n) {\n    q2._wasmUrl = n;\n  }\n  loadStateMachine(n) {\n    return g(this, null, function* () {\n      if (!this._created)\n        return false;\n      let i = yield this._sendMessage(\"loadStateMachine\", { instanceId: this._id, stateMachineId: n });\n      return yield this._updateDotLottieInstanceState(), i;\n    });\n  }\n  loadStateMachineData(n) {\n    return g(this, null, function* () {\n      if (!this._created)\n        return false;\n      let i = yield this._sendMessage(\"loadStateMachineData\", { instanceId: this._id, stateMachineData: n });\n      return yield this._updateDotLottieInstanceState(), i;\n    });\n  }\n  startStateMachine() {\n    return g(this, null, function* () {\n      if (!this._created)\n        return false;\n      this._setupStateMachineListeners();\n      let n = yield this._sendMessage(\"startStateMachine\", { instanceId: this._id });\n      return yield this._updateDotLottieInstanceState(), n;\n    });\n  }\n  stopStateMachine() {\n    return g(this, null, function* () {\n      return this._created ? (this._cleanupStateMachineListeners(), this._sendMessage(\"stopStateMachine\", { instanceId: this._id })) : false;\n    });\n  }\n  getStateMachineListeners() {\n    return g(this, null, function* () {\n      return this._created ? this._sendMessage(\"getStateMachineListeners\", { instanceId: this._id }) : [];\n    });\n  }\n  _getPointerPosition(n) {\n    let i = this._canvas.getBoundingClientRect(), s = this._canvas.width / i.width, d = this._canvas.height / i.height, m = this._dotLottieInstanceState.renderConfig.devicePixelRatio || window.devicePixelRatio || 1, b = (n.clientX - i.left) * s / m, M = (n.clientY - i.top) * d / m;\n    return { x: b, y: M };\n  }\n  _onPointerUp(n) {\n    let { x: i, y: s } = this._getPointerPosition(n);\n    this._sendMessage(\"postPointerUpEvent\", { instanceId: this._id, x: i, y: s });\n  }\n  _onPointerDown(n) {\n    let { x: i, y: s } = this._getPointerPosition(n);\n    this._sendMessage(\"postPointerDownEvent\", { instanceId: this._id, x: i, y: s });\n  }\n  _onPointerMove(n) {\n    let { x: i, y: s } = this._getPointerPosition(n);\n    this._sendMessage(\"postPointerMoveEvent\", { instanceId: this._id, x: i, y: s });\n  }\n  _onPointerEnter(n) {\n    let { x: i, y: s } = this._getPointerPosition(n);\n    this._sendMessage(\"postPointerEnterEvent\", { instanceId: this._id, x: i, y: s });\n  }\n  _onPointerLeave(n) {\n    let { x: i, y: s } = this._getPointerPosition(n);\n    this._sendMessage(\"postPointerExitEvent\", { instanceId: this._id, x: i, y: s });\n  }\n  _setupStateMachineListeners() {\n    return g(this, null, function* () {\n      if (A && this._canvas instanceof HTMLCanvasElement && this.isLoaded) {\n        let n = yield this._sendMessage(\"getStateMachineListeners\", { instanceId: this._id });\n        n.includes(\"PointerUp\") && this._canvas.addEventListener(\"pointerup\", this._pointerUpMethod), n.includes(\"PointerDown\") && this._canvas.addEventListener(\"pointerdown\", this._pointerDownMethod), n.includes(\"PointerMove\") && this._canvas.addEventListener(\"pointermove\", this._pointerMoveMethod), n.includes(\"PointerEnter\") && this._canvas.addEventListener(\"pointerenter\", this._pointerEnterMethod), n.includes(\"PointerExit\") && this._canvas.addEventListener(\"pointerleave\", this._pointerExitMethod);\n      }\n    });\n  }\n  _cleanupStateMachineListeners() {\n    A && this._canvas instanceof HTMLCanvasElement && (this._canvas.removeEventListener(\"pointerup\", this._pointerUpMethod), this._canvas.removeEventListener(\"pointerdown\", this._pointerDownMethod), this._canvas.removeEventListener(\"pointermove\", this._pointerMoveMethod), this._canvas.removeEventListener(\"pointerenter\", this._pointerEnterMethod), this._canvas.removeEventListener(\"pointerleave\", this._pointerExitMethod));\n  }\n};\n_(q, \"_workerManager\", new U1()), _(q, \"_wasmUrl\", \"\");\nvar c3 = q;\nfunction DotLottieComponent(_a) {\n  var _b = _a, {\n    children,\n    className = \"\",\n    setCanvasRef,\n    setContainerRef,\n    style\n  } = _b, rest = __objRest(_b, [\n    \"children\",\n    \"className\",\n    \"setCanvasRef\",\n    \"setContainerRef\",\n    \"style\"\n  ]);\n  const containerStyle = __spreadValues({\n    width: \"100%\",\n    height: \"100%\",\n    lineHeight: 0\n  }, style);\n  return /* @__PURE__ */ jsx(\"div\", __spreadProps(__spreadValues({ ref: setContainerRef, className }, !className && { style: containerStyle }), { children: /* @__PURE__ */ jsx(\n    \"canvas\",\n    __spreadProps(__spreadValues({\n      ref: setCanvasRef,\n      style: {\n        width: \"100%\",\n        height: \"100%\"\n      }\n    }, rest), {\n      children\n    })\n  ) }));\n}\nvar useDotLottie = (config) => {\n  const [dotLottie, setDotLottie] = useState(null);\n  const dotLottieRef = useRef(null);\n  const configRef = useRef(config);\n  const canvasRef = useRef(null);\n  const containerRef = useRef(null);\n  dotLottieRef.current = dotLottie;\n  configRef.current = config;\n  const hoverHandler = useCallback((event) => {\n    var _a, _b;\n    if (!((_a = configRef.current) == null ? void 0 : _a.playOnHover) || !((_b = dotLottieRef.current) == null ? void 0 : _b.isLoaded))\n      return;\n    if (event.type === \"mouseenter\") {\n      dotLottieRef.current.play();\n    } else if (event.type === \"mouseleave\") {\n      dotLottieRef.current.pause();\n    }\n  }, []);\n  const setCanvasRef = useCallback((canvas) => {\n    canvasRef.current = canvas;\n  }, []);\n  const setContainerRef = useCallback((container) => {\n    containerRef.current = container;\n  }, []);\n  const Component = useCallback(\n    (props) => {\n      return /* @__PURE__ */ jsx(DotLottieComponent, __spreadValues({ setContainerRef, setCanvasRef }, props));\n    },\n    [setCanvasRef, setContainerRef]\n  );\n  useEffect(() => {\n    const canvas = canvasRef.current;\n    let dotLottieInstance = null;\n    if (canvas) {\n      dotLottieInstance = new d3(__spreadProps(__spreadValues({}, configRef.current), {\n        canvas\n      }));\n      canvas.addEventListener(\"mouseenter\", hoverHandler);\n      canvas.addEventListener(\"mouseleave\", hoverHandler);\n      setDotLottie(dotLottieInstance);\n    }\n    return () => {\n      dotLottieInstance == null ? void 0 : dotLottieInstance.destroy();\n      setDotLottie(null);\n      canvas == null ? void 0 : canvas.removeEventListener(\"mouseenter\", hoverHandler);\n      canvas == null ? void 0 : canvas.removeEventListener(\"mouseleave\", hoverHandler);\n    };\n  }, [hoverHandler]);\n  useEffect(() => {\n    if (!dotLottieRef.current)\n      return;\n    if (typeof (config == null ? void 0 : config.speed) === \"number\" && config.speed !== dotLottieRef.current.speed) {\n      dotLottieRef.current.setSpeed(config.speed);\n    }\n  }, [config == null ? void 0 : config.speed]);\n  useEffect(() => {\n    if (!dotLottieRef.current)\n      return;\n    if (typeof (config == null ? void 0 : config.mode) === \"string\" && config.mode !== dotLottieRef.current.mode) {\n      dotLottieRef.current.setMode(config.mode);\n    }\n  }, [config == null ? void 0 : config.mode]);\n  useEffect(() => {\n    if (!dotLottieRef.current)\n      return;\n    if (typeof (config == null ? void 0 : config.loop) === \"boolean\" && config.loop !== dotLottieRef.current.loop) {\n      dotLottieRef.current.setLoop(config.loop);\n    }\n  }, [config == null ? void 0 : config.loop]);\n  useEffect(() => {\n    if (!dotLottieRef.current)\n      return;\n    if (typeof (config == null ? void 0 : config.useFrameInterpolation) === \"boolean\" && config.useFrameInterpolation !== dotLottieRef.current.useFrameInterpolation) {\n      dotLottieRef.current.setUseFrameInterpolation(config.useFrameInterpolation);\n    }\n  }, [config == null ? void 0 : config.useFrameInterpolation]);\n  useEffect(() => {\n    var _a, _b;\n    if (!dotLottieRef.current)\n      return;\n    const startFrame = (_a = config == null ? void 0 : config.segment) == null ? void 0 : _a[0];\n    const endFrame = (_b = config == null ? void 0 : config.segment) == null ? void 0 : _b[1];\n    if (typeof startFrame === \"number\" && typeof endFrame === \"number\") {\n      dotLottieRef.current.setSegment(startFrame, endFrame);\n    }\n  }, [config == null ? void 0 : config.segment]);\n  useEffect(() => {\n    if (!dotLottieRef.current)\n      return;\n    if (typeof (config == null ? void 0 : config.backgroundColor) === \"string\" && config.backgroundColor !== dotLottieRef.current.backgroundColor) {\n      dotLottieRef.current.setBackgroundColor(config.backgroundColor);\n    }\n  }, [config == null ? void 0 : config.backgroundColor]);\n  useEffect(() => {\n    if (!dotLottieRef.current)\n      return;\n    if (typeof (config == null ? void 0 : config.renderConfig) === \"object\") {\n      dotLottieRef.current.setRenderConfig(config.renderConfig);\n    }\n  }, [JSON.stringify(config == null ? void 0 : config.renderConfig)]);\n  useEffect(() => {\n    if (!dotLottieRef.current)\n      return;\n    if (typeof (config == null ? void 0 : config.data) === \"string\" || (config == null ? void 0 : config.data) instanceof ArrayBuffer) {\n      dotLottieRef.current.load(__spreadValues({\n        data: config.data\n      }, configRef.current || {}));\n    }\n  }, [config == null ? void 0 : config.data]);\n  useEffect(() => {\n    if (!dotLottieRef.current)\n      return;\n    if (typeof (config == null ? void 0 : config.src) === \"string\") {\n      dotLottieRef.current.load(__spreadValues({\n        src: config.src\n      }, configRef.current || {}));\n    }\n  }, [config == null ? void 0 : config.src]);\n  useEffect(() => {\n    if (!dotLottieRef.current)\n      return;\n    if (typeof (config == null ? void 0 : config.marker) === \"string\") {\n      dotLottieRef.current.setMarker(config.marker);\n    }\n  }, [config == null ? void 0 : config.marker]);\n  useEffect(() => {\n    if (!dotLottieRef.current)\n      return;\n    if (dotLottieRef.current.isLoaded && (config == null ? void 0 : config.animationId) && dotLottieRef.current.activeAnimationId !== config.animationId) {\n      dotLottieRef.current.loadAnimation(config.animationId);\n    }\n  }, [config == null ? void 0 : config.animationId]);\n  useEffect(() => {\n    if (!dotLottieRef.current)\n      return;\n    if (dotLottieRef.current.isLoaded && dotLottieRef.current.activeThemeId !== (config == null ? void 0 : config.themeId)) {\n      dotLottieRef.current.setTheme((config == null ? void 0 : config.themeId) || \"\");\n    }\n  }, [config == null ? void 0 : config.themeId]);\n  useEffect(() => {\n    if (!dotLottieRef.current)\n      return;\n    if (dotLottieRef.current.isLoaded) {\n      dotLottieRef.current.setThemeData((config == null ? void 0 : config.themeData) || \"\");\n    }\n  }, [config == null ? void 0 : config.themeData]);\n  return {\n    dotLottie,\n    setCanvasRef,\n    setContainerRef,\n    canvas: canvasRef.current,\n    container: containerRef.current,\n    DotLottieComponent: Component\n  };\n};\nvar useIsomorphicLayoutEffect = typeof window !== \"undefined\" ? useLayoutEffect : useEffect;\nfunction useStableCallback(callback) {\n  const callbackContainer = useRef(callback);\n  useIsomorphicLayoutEffect(() => {\n    callbackContainer.current = callback;\n  });\n  return useCallback((...args) => callbackContainer.current(...args), [callbackContainer]);\n}\nvar DotLottieReact = (_a) => {\n  var _b = _a, {\n    animationId,\n    autoplay,\n    backgroundColor,\n    data,\n    dotLottieRefCallback,\n    loop,\n    marker,\n    mode,\n    playOnHover,\n    renderConfig,\n    segment,\n    speed,\n    src,\n    themeData,\n    themeId,\n    useFrameInterpolation\n  } = _b, props = __objRest(_b, [\n    \"animationId\",\n    \"autoplay\",\n    \"backgroundColor\",\n    \"data\",\n    \"dotLottieRefCallback\",\n    \"loop\",\n    \"marker\",\n    \"mode\",\n    \"playOnHover\",\n    \"renderConfig\",\n    \"segment\",\n    \"speed\",\n    \"src\",\n    \"themeData\",\n    \"themeId\",\n    \"useFrameInterpolation\"\n  ]);\n  const { DotLottieComponent: DotLottieComponent2, dotLottie } = useDotLottie({\n    data,\n    mode,\n    speed,\n    src,\n    autoplay,\n    loop,\n    segment,\n    renderConfig,\n    backgroundColor,\n    useFrameInterpolation,\n    playOnHover,\n    marker,\n    themeId,\n    animationId,\n    themeData\n  });\n  const stableDotLottieRefCallback = typeof dotLottieRefCallback === \"function\" ? useStableCallback(dotLottieRefCallback) : void 0;\n  useEffect(() => {\n    if (typeof stableDotLottieRefCallback === \"function\") {\n      stableDotLottieRefCallback(dotLottie);\n    }\n  }, [stableDotLottieRefCallback, dotLottie]);\n  return /* @__PURE__ */ jsx(DotLottieComponent2, __spreadValues({}, props));\n};\nfunction DotLottieWorkerComponent(_a) {\n  var _b = _a, {\n    children,\n    className = \"\",\n    setCanvasRef,\n    setContainerRef,\n    style\n  } = _b, rest = __objRest(_b, [\n    \"children\",\n    \"className\",\n    \"setCanvasRef\",\n    \"setContainerRef\",\n    \"style\"\n  ]);\n  const containerStyle = __spreadValues({\n    width: \"100%\",\n    height: \"100%\",\n    lineHeight: 0\n  }, style);\n  return /* @__PURE__ */ jsx(\"div\", __spreadProps(__spreadValues({ ref: setContainerRef, className }, !className && { style: containerStyle }), { children: /* @__PURE__ */ jsx(\n    \"canvas\",\n    __spreadProps(__spreadValues({\n      ref: setCanvasRef,\n      style: {\n        width: \"100%\",\n        height: \"100%\"\n      }\n    }, rest), {\n      children\n    })\n  ) }));\n}\nvar useDotLottieWorker = (config) => {\n  const [dotLottie, setDotLottie] = useState(null);\n  const dotLottieRef = useRef(null);\n  const configRef = useRef(config);\n  const canvasRef = useRef(null);\n  const containerRef = useRef(null);\n  dotLottieRef.current = dotLottie;\n  configRef.current = config;\n  const hoverHandler = useCallback((event) => {\n    var _a, _b;\n    if (!((_a = configRef.current) == null ? void 0 : _a.playOnHover) || !((_b = dotLottieRef.current) == null ? void 0 : _b.isLoaded))\n      return;\n    if (event.type === \"mouseenter\") {\n      dotLottieRef.current.play();\n    } else if (event.type === \"mouseleave\") {\n      dotLottieRef.current.pause();\n    }\n  }, []);\n  const setCanvasRef = useCallback((canvas) => {\n    canvasRef.current = canvas;\n  }, []);\n  const setContainerRef = useCallback((container) => {\n    containerRef.current = container;\n  }, []);\n  const Component = useCallback(\n    (props) => {\n      return /* @__PURE__ */ jsx(DotLottieWorkerComponent, __spreadValues({ setContainerRef, setCanvasRef }, props));\n    },\n    [setCanvasRef, setContainerRef]\n  );\n  useEffect(() => {\n    const canvas = canvasRef.current;\n    let dotLottieInstance = null;\n    if (canvas) {\n      dotLottieInstance = new c3(__spreadProps(__spreadValues({}, configRef.current), {\n        canvas\n      }));\n      canvas.addEventListener(\"mouseenter\", hoverHandler);\n      canvas.addEventListener(\"mouseleave\", hoverHandler);\n      setDotLottie(dotLottieInstance);\n    }\n    return () => {\n      dotLottieInstance == null ? void 0 : dotLottieInstance.destroy();\n      setDotLottie(null);\n      canvas == null ? void 0 : canvas.removeEventListener(\"mouseenter\", hoverHandler);\n      canvas == null ? void 0 : canvas.removeEventListener(\"mouseleave\", hoverHandler);\n    };\n  }, [hoverHandler]);\n  useEffect(() => {\n    if (!dotLottieRef.current)\n      return;\n    if (typeof (config == null ? void 0 : config.speed) === \"number\" && config.speed !== dotLottieRef.current.speed) {\n      dotLottieRef.current.setSpeed(config.speed);\n    }\n  }, [config == null ? void 0 : config.speed]);\n  useEffect(() => {\n    if (!dotLottieRef.current)\n      return;\n    if (typeof (config == null ? void 0 : config.mode) === \"string\" && config.mode !== dotLottieRef.current.mode) {\n      dotLottieRef.current.setMode(config.mode);\n    }\n  }, [config == null ? void 0 : config.mode]);\n  useEffect(() => {\n    if (!dotLottieRef.current)\n      return;\n    if (typeof (config == null ? void 0 : config.loop) === \"boolean\" && config.loop !== dotLottieRef.current.loop) {\n      dotLottieRef.current.setLoop(config.loop);\n    }\n  }, [config == null ? void 0 : config.loop]);\n  useEffect(() => {\n    if (!dotLottieRef.current)\n      return;\n    if (typeof (config == null ? void 0 : config.useFrameInterpolation) === \"boolean\" && config.useFrameInterpolation !== dotLottieRef.current.useFrameInterpolation) {\n      dotLottieRef.current.setUseFrameInterpolation(config.useFrameInterpolation);\n    }\n  }, [config == null ? void 0 : config.useFrameInterpolation]);\n  useEffect(() => {\n    var _a, _b;\n    if (!dotLottieRef.current)\n      return;\n    const startFrame = (_a = config == null ? void 0 : config.segment) == null ? void 0 : _a[0];\n    const endFrame = (_b = config == null ? void 0 : config.segment) == null ? void 0 : _b[1];\n    if (typeof startFrame === \"number\" && typeof endFrame === \"number\") {\n      dotLottieRef.current.setSegment(startFrame, endFrame);\n    }\n  }, [config == null ? void 0 : config.segment]);\n  useEffect(() => {\n    if (!dotLottieRef.current)\n      return;\n    if (typeof (config == null ? void 0 : config.backgroundColor) === \"string\" && config.backgroundColor !== dotLottieRef.current.backgroundColor) {\n      dotLottieRef.current.setBackgroundColor(config.backgroundColor);\n    }\n  }, [config == null ? void 0 : config.backgroundColor]);\n  useEffect(() => {\n    if (!dotLottieRef.current)\n      return;\n    if (typeof (config == null ? void 0 : config.renderConfig) === \"object\") {\n      dotLottieRef.current.setRenderConfig(config.renderConfig);\n    }\n  }, [JSON.stringify(config == null ? void 0 : config.renderConfig)]);\n  useEffect(() => {\n    if (!dotLottieRef.current)\n      return;\n    if (typeof (config == null ? void 0 : config.data) === \"string\" || (config == null ? void 0 : config.data) instanceof ArrayBuffer) {\n      dotLottieRef.current.load(__spreadValues({\n        data: config.data\n      }, configRef.current || {}));\n    }\n  }, [config == null ? void 0 : config.data]);\n  useEffect(() => {\n    if (!dotLottieRef.current)\n      return;\n    if (typeof (config == null ? void 0 : config.src) === \"string\") {\n      dotLottieRef.current.load(__spreadValues({\n        src: config.src\n      }, configRef.current || {}));\n    }\n  }, [config == null ? void 0 : config.src]);\n  useEffect(() => {\n    if (!dotLottieRef.current)\n      return;\n    if (typeof (config == null ? void 0 : config.marker) === \"string\") {\n      dotLottieRef.current.setMarker(config.marker);\n    }\n  }, [config == null ? void 0 : config.marker]);\n  useEffect(() => {\n    if (!dotLottieRef.current)\n      return;\n    if (dotLottieRef.current.isLoaded && (config == null ? void 0 : config.animationId) && dotLottieRef.current.activeAnimationId !== config.animationId) {\n      dotLottieRef.current.loadAnimation(config.animationId);\n    }\n  }, [config == null ? void 0 : config.animationId]);\n  useEffect(() => {\n    if (!dotLottieRef.current)\n      return;\n    if (dotLottieRef.current.isLoaded && dotLottieRef.current.activeThemeId !== (config == null ? void 0 : config.themeId)) {\n      dotLottieRef.current.setTheme((config == null ? void 0 : config.themeId) || \"\");\n    }\n  }, [config == null ? void 0 : config.themeId]);\n  useEffect(() => {\n    if (!dotLottieRef.current)\n      return;\n    if (dotLottieRef.current.isLoaded) {\n      dotLottieRef.current.setThemeData((config == null ? void 0 : config.themeData) || \"\");\n    }\n  }, [config == null ? void 0 : config.themeData]);\n  return {\n    dotLottie,\n    setCanvasRef,\n    setContainerRef,\n    canvas: canvasRef.current,\n    container: containerRef.current,\n    DotLottieComponent: Component\n  };\n};\nvar DotLottieWorkerReact = (_a) => {\n  var _b = _a, {\n    animationId,\n    autoplay,\n    backgroundColor,\n    data,\n    dotLottieRefCallback,\n    loop,\n    marker,\n    mode,\n    playOnHover,\n    renderConfig,\n    segment,\n    speed,\n    src,\n    themeData,\n    themeId,\n    useFrameInterpolation,\n    workerId\n  } = _b, props = __objRest(_b, [\n    \"animationId\",\n    \"autoplay\",\n    \"backgroundColor\",\n    \"data\",\n    \"dotLottieRefCallback\",\n    \"loop\",\n    \"marker\",\n    \"mode\",\n    \"playOnHover\",\n    \"renderConfig\",\n    \"segment\",\n    \"speed\",\n    \"src\",\n    \"themeData\",\n    \"themeId\",\n    \"useFrameInterpolation\",\n    \"workerId\"\n  ]);\n  const { DotLottieComponent: DotLottieComponent2, dotLottie } = useDotLottieWorker({\n    workerId,\n    data,\n    mode,\n    speed,\n    src,\n    autoplay,\n    loop,\n    segment,\n    renderConfig,\n    backgroundColor,\n    useFrameInterpolation,\n    playOnHover,\n    marker,\n    themeId,\n    animationId,\n    themeData\n  });\n  const stableDotLottieRefCallback = typeof dotLottieRefCallback === \"function\" ? useStableCallback(dotLottieRefCallback) : void 0;\n  useEffect(() => {\n    if (typeof stableDotLottieRefCallback === \"function\") {\n      stableDotLottieRefCallback(dotLottie);\n    }\n  }, [stableDotLottieRefCallback, dotLottie]);\n  return /* @__PURE__ */ jsx(DotLottieComponent2, __spreadValues({}, props));\n};\n\n// src/index.ts\nvar setWasmUrl = (url) => {\n  c3.setWasmUrl(url);\n  d3.setWasmUrl(url);\n};\n\nexport { DotLottieReact, DotLottieWorkerReact, setWasmUrl, useDotLottie, useDotLottieWorker };\n", "/**\n * Bundled by jsDelivr using Rollup v2.79.1 and Terser v5.19.2.\n * Original file: /npm/@dotlottie/dotlottie-js@0.9.0-beta.13/dist/index.browser.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\nimport{unzip as t,strFromU8 as e,strToU8 as i,zip as n}from\"/npm/fflate@0.8.2/+esm\";import{object as r,string as a,optional as s,array as o,union as h,number as u,boolean as l,literal as f,nativeEnum as d,record as c,any as p,safeParse as m,flatten as g}from\"/npm/valibot@0.13.1/+esm\";var w=\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},y=[],_=[],A=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,v=!1;function b(){v=!0;for(var t=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",e=0;e<64;++e)y[e]=t[e],_[t.charCodeAt(e)]=e;_[\"-\".charCodeAt(0)]=62,_[\"_\".charCodeAt(0)]=63}function I(t,e,i){for(var n,r,a=[],s=e;s<i;s+=3)n=(t[s]<<16)+(t[s+1]<<8)+t[s+2],a.push(y[(r=n)>>18&63]+y[r>>12&63]+y[r>>6&63]+y[63&r]);return a.join(\"\")}function N(t){var e;v||b();for(var i=t.length,n=i%3,r=\"\",a=[],s=16383,o=0,h=i-n;o<h;o+=s)a.push(I(t,o,o+s>h?h:o+s));return 1===n?(e=t[i-1],r+=y[e>>2],r+=y[e<<4&63],r+=\"==\"):2===n&&(e=(t[i-2]<<8)+t[i-1],r+=y[e>>10],r+=y[e>>4&63],r+=y[e<<2&63],r+=\"=\"),a.push(r),a.join(\"\")}function O(t,e,i,n,r){var a,s,o=8*r-n-1,h=(1<<o)-1,u=h>>1,l=-7,f=i?r-1:0,d=i?-1:1,c=t[e+f];for(f+=d,a=c&(1<<-l)-1,c>>=-l,l+=o;l>0;a=256*a+t[e+f],f+=d,l-=8);for(s=a&(1<<-l)-1,a>>=-l,l+=n;l>0;s=256*s+t[e+f],f+=d,l-=8);if(0===a)a=1-u;else{if(a===h)return s?NaN:1/0*(c?-1:1);s+=Math.pow(2,n),a-=u}return(c?-1:1)*s*Math.pow(2,a-n)}function E(t,e,i,n,r,a){var s,o,h,u=8*a-r-1,l=(1<<u)-1,f=l>>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,c=n?0:a-1,p=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,s=l):(s=Math.floor(Math.log(e)/Math.LN2),e*(h=Math.pow(2,-s))<1&&(s--,h*=2),(e+=s+f>=1?d/h:d*Math.pow(2,1-f))*h>=2&&(s++,h/=2),s+f>=l?(o=0,s=l):s+f>=1?(o=(e*h-1)*Math.pow(2,r),s+=f):(o=e*Math.pow(2,f-1)*Math.pow(2,r),s=0));r>=8;t[i+c]=255&o,c+=p,o/=256,r-=8);for(s=s<<r|o,u+=r;u>0;t[i+c]=255&s,c+=p,s/=256,u-=8);t[i+c-p]|=128*m}var T={}.toString,B=Array.isArray||function(t){return\"[object Array]\"==T.call(t)};function U(){return M.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function D(t,e){if(U()<e)throw new RangeError(\"Invalid typed array length\");return M.TYPED_ARRAY_SUPPORT?(t=new Uint8Array(e)).__proto__=M.prototype:(null===t&&(t=new M(e)),t.length=e),t}function M(t,e,i){if(!(M.TYPED_ARRAY_SUPPORT||this instanceof M))return new M(t,e,i);if(\"number\"==typeof t){if(\"string\"==typeof e)throw new Error(\"If encoding is specified then the first argument must be a string\");return R(this,t)}return S(this,t,e,i)}function S(t,e,i,n){if(\"number\"==typeof e)throw new TypeError('\"value\" argument must not be a number');return\"undefined\"!=typeof ArrayBuffer&&e instanceof ArrayBuffer?function(t,e,i,n){if(e.byteLength,i<0||e.byteLength<i)throw new RangeError(\"'offset' is out of bounds\");if(e.byteLength<i+(n||0))throw new RangeError(\"'length' is out of bounds\");e=void 0===i&&void 0===n?new Uint8Array(e):void 0===n?new Uint8Array(e,i):new Uint8Array(e,i,n);M.TYPED_ARRAY_SUPPORT?(t=e).__proto__=M.prototype:t=x(t,e);return t}(t,e,i,n):\"string\"==typeof e?function(t,e,i){\"string\"==typeof i&&\"\"!==i||(i=\"utf8\");if(!M.isEncoding(i))throw new TypeError('\"encoding\" must be a valid string encoding');var n=0|C(e,i);t=D(t,n);var r=t.write(e,i);r!==n&&(t=t.slice(0,r));return t}(t,e,i):function(t,e){if(P(e)){var i=0|V(e.length);return 0===(t=D(t,i)).length||e.copy(t,0,0,i),t}if(e){if(\"undefined\"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||\"length\"in e)return\"number\"!=typeof e.length||(n=e.length)!=n?D(t,0):x(t,e);if(\"Buffer\"===e.type&&B(e.data))return x(t,e.data)}var n;throw new TypeError(\"First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.\")}(t,e)}function L(t){if(\"number\"!=typeof t)throw new TypeError('\"size\" argument must be a number');if(t<0)throw new RangeError('\"size\" argument must not be negative')}function R(t,e){if(L(e),t=D(t,e<0?0:0|V(e)),!M.TYPED_ARRAY_SUPPORT)for(var i=0;i<e;++i)t[i]=0;return t}function x(t,e){var i=e.length<0?0:0|V(e.length);t=D(t,i);for(var n=0;n<i;n+=1)t[n]=255&e[n];return t}function V(t){if(t>=U())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+U().toString(16)+\" bytes\");return 0|t}function P(t){return!(null==t||!t._isBuffer)}function C(t,e){if(P(t))return t.length;if(\"undefined\"!=typeof ArrayBuffer&&\"function\"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;\"string\"!=typeof t&&(t=\"\"+t);var i=t.length;if(0===i)return 0;for(var n=!1;;)switch(e){case\"ascii\":case\"latin1\":case\"binary\":return i;case\"utf8\":case\"utf-8\":case void 0:return ft(t).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*i;case\"hex\":return i>>>1;case\"base64\":return dt(t).length;default:if(n)return ft(t).length;e=(\"\"+e).toLowerCase(),n=!0}}function q(t,e,i){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return\"\";if((void 0===i||i>this.length)&&(i=this.length),i<=0)return\"\";if((i>>>=0)<=(e>>>=0))return\"\";for(t||(t=\"utf8\");;)switch(t){case\"hex\":return tt(this,e,i);case\"utf8\":case\"utf-8\":return K(this,e,i);case\"ascii\":return Q(this,e,i);case\"latin1\":case\"binary\":return X(this,e,i);case\"base64\":return G(this,e,i);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return et(this,e,i);default:if(n)throw new TypeError(\"Unknown encoding: \"+t);t=(t+\"\").toLowerCase(),n=!0}}function z(t,e,i){var n=t[e];t[e]=t[i],t[i]=n}function j(t,e,i,n,r){if(0===t.length)return-1;if(\"string\"==typeof i?(n=i,i=0):i>2147483647?i=2147483647:i<-2147483648&&(i=-2147483648),i=+i,isNaN(i)&&(i=r?0:t.length-1),i<0&&(i=t.length+i),i>=t.length){if(r)return-1;i=t.length-1}else if(i<0){if(!r)return-1;i=0}if(\"string\"==typeof e&&(e=M.from(e,n)),P(e))return 0===e.length?-1:k(t,e,i,n,r);if(\"number\"==typeof e)return e&=255,M.TYPED_ARRAY_SUPPORT&&\"function\"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(t,e,i):Uint8Array.prototype.lastIndexOf.call(t,e,i):k(t,[e],i,n,r);throw new TypeError(\"val must be string, number or Buffer\")}function k(t,e,i,n,r){var a,s=1,o=t.length,h=e.length;if(void 0!==n&&(\"ucs2\"===(n=String(n).toLowerCase())||\"ucs-2\"===n||\"utf16le\"===n||\"utf-16le\"===n)){if(t.length<2||e.length<2)return-1;s=2,o/=2,h/=2,i/=2}function u(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(r){var l=-1;for(a=i;a<o;a++)if(u(t,a)===u(e,-1===l?0:a-l)){if(-1===l&&(l=a),a-l+1===h)return l*s}else-1!==l&&(a-=a-l),l=-1}else for(i+h>o&&(i=o-h),a=i;a>=0;a--){for(var f=!0,d=0;d<h;d++)if(u(t,a+d)!==u(e,d)){f=!1;break}if(f)return a}return-1}function $(t,e,i,n){i=Number(i)||0;var r=t.length-i;n?(n=Number(n))>r&&(n=r):n=r;var a=e.length;if(a%2!=0)throw new TypeError(\"Invalid hex string\");n>a/2&&(n=a/2);for(var s=0;s<n;++s){var o=parseInt(e.substr(2*s,2),16);if(isNaN(o))return s;t[i+s]=o}return s}function F(t,e,i,n){return ct(ft(e,t.length-i),t,i,n)}function Y(t,e,i,n){return ct(function(t){for(var e=[],i=0;i<t.length;++i)e.push(255&t.charCodeAt(i));return e}(e),t,i,n)}function J(t,e,i,n){return Y(t,e,i,n)}function H(t,e,i,n){return ct(dt(e),t,i,n)}function W(t,e,i,n){return ct(function(t,e){for(var i,n,r,a=[],s=0;s<t.length&&!((e-=2)<0);++s)n=(i=t.charCodeAt(s))>>8,r=i%256,a.push(r),a.push(n);return a}(e,t.length-i),t,i,n)}function G(t,e,i){return 0===e&&i===t.length?N(t):N(t.slice(e,i))}function K(t,e,i){i=Math.min(t.length,i);for(var n=[],r=e;r<i;){var a,s,o,h,u=t[r],l=null,f=u>239?4:u>223?3:u>191?2:1;if(r+f<=i)switch(f){case 1:u<128&&(l=u);break;case 2:128==(192&(a=t[r+1]))&&(h=(31&u)<<6|63&a)>127&&(l=h);break;case 3:a=t[r+1],s=t[r+2],128==(192&a)&&128==(192&s)&&(h=(15&u)<<12|(63&a)<<6|63&s)>2047&&(h<55296||h>57343)&&(l=h);break;case 4:a=t[r+1],s=t[r+2],o=t[r+3],128==(192&a)&&128==(192&s)&&128==(192&o)&&(h=(15&u)<<18|(63&a)<<12|(63&s)<<6|63&o)>65535&&h<1114112&&(l=h)}null===l?(l=65533,f=1):l>65535&&(l-=65536,n.push(l>>>10&1023|55296),l=56320|1023&l),n.push(l),r+=f}return function(t){var e=t.length;if(e<=Z)return String.fromCharCode.apply(String,t);var i=\"\",n=0;for(;n<e;)i+=String.fromCharCode.apply(String,t.slice(n,n+=Z));return i}(n)}M.TYPED_ARRAY_SUPPORT=void 0===w.TYPED_ARRAY_SUPPORT||w.TYPED_ARRAY_SUPPORT,U(),M.poolSize=8192,M._augment=function(t){return t.__proto__=M.prototype,t},M.from=function(t,e,i){return S(null,t,e,i)},M.TYPED_ARRAY_SUPPORT&&(M.prototype.__proto__=Uint8Array.prototype,M.__proto__=Uint8Array,\"undefined\"!=typeof Symbol&&Symbol.species&&M[Symbol.species]),M.alloc=function(t,e,i){return function(t,e,i,n){return L(e),e<=0?D(t,e):void 0!==i?\"string\"==typeof n?D(t,e).fill(i,n):D(t,e).fill(i):D(t,e)}(null,t,e,i)},M.allocUnsafe=function(t){return R(null,t)},M.allocUnsafeSlow=function(t){return R(null,t)},M.isBuffer=function(t){return null!=t&&(!!t._isBuffer||pt(t)||function(t){return\"function\"==typeof t.readFloatLE&&\"function\"==typeof t.slice&&pt(t.slice(0,0))}(t))},M.compare=function(t,e){if(!P(t)||!P(e))throw new TypeError(\"Arguments must be Buffers\");if(t===e)return 0;for(var i=t.length,n=e.length,r=0,a=Math.min(i,n);r<a;++r)if(t[r]!==e[r]){i=t[r],n=e[r];break}return i<n?-1:n<i?1:0},M.isEncoding=function(t){switch(String(t).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},M.concat=function(t,e){if(!B(t))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===t.length)return M.alloc(0);var i;if(void 0===e)for(e=0,i=0;i<t.length;++i)e+=t[i].length;var n=M.allocUnsafe(e),r=0;for(i=0;i<t.length;++i){var a=t[i];if(!P(a))throw new TypeError('\"list\" argument must be an Array of Buffers');a.copy(n,r),r+=a.length}return n},M.byteLength=C,M.prototype._isBuffer=!0,M.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var e=0;e<t;e+=2)z(this,e,e+1);return this},M.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var e=0;e<t;e+=4)z(this,e,e+3),z(this,e+1,e+2);return this},M.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var e=0;e<t;e+=8)z(this,e,e+7),z(this,e+1,e+6),z(this,e+2,e+5),z(this,e+3,e+4);return this},M.prototype.toString=function(){var t=0|this.length;return 0===t?\"\":0===arguments.length?K(this,0,t):q.apply(this,arguments)},M.prototype.equals=function(t){if(!P(t))throw new TypeError(\"Argument must be a Buffer\");return this===t||0===M.compare(this,t)},M.prototype.inspect=function(){var t=\"\";return this.length>0&&(t=this.toString(\"hex\",0,50).match(/.{2}/g).join(\" \"),this.length>50&&(t+=\" ... \")),\"<Buffer \"+t+\">\"},M.prototype.compare=function(t,e,i,n,r){if(!P(t))throw new TypeError(\"Argument must be a Buffer\");if(void 0===e&&(e=0),void 0===i&&(i=t?t.length:0),void 0===n&&(n=0),void 0===r&&(r=this.length),e<0||i>t.length||n<0||r>this.length)throw new RangeError(\"out of range index\");if(n>=r&&e>=i)return 0;if(n>=r)return-1;if(e>=i)return 1;if(this===t)return 0;for(var a=(r>>>=0)-(n>>>=0),s=(i>>>=0)-(e>>>=0),o=Math.min(a,s),h=this.slice(n,r),u=t.slice(e,i),l=0;l<o;++l)if(h[l]!==u[l]){a=h[l],s=u[l];break}return a<s?-1:s<a?1:0},M.prototype.includes=function(t,e,i){return-1!==this.indexOf(t,e,i)},M.prototype.indexOf=function(t,e,i){return j(this,t,e,i,!0)},M.prototype.lastIndexOf=function(t,e,i){return j(this,t,e,i,!1)},M.prototype.write=function(t,e,i,n){if(void 0===e)n=\"utf8\",i=this.length,e=0;else if(void 0===i&&\"string\"==typeof e)n=e,i=this.length,e=0;else{if(!isFinite(e))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");e|=0,isFinite(i)?(i|=0,void 0===n&&(n=\"utf8\")):(n=i,i=void 0)}var r=this.length-e;if((void 0===i||i>r)&&(i=r),t.length>0&&(i<0||e<0)||e>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");n||(n=\"utf8\");for(var a=!1;;)switch(n){case\"hex\":return $(this,t,e,i);case\"utf8\":case\"utf-8\":return F(this,t,e,i);case\"ascii\":return Y(this,t,e,i);case\"latin1\":case\"binary\":return J(this,t,e,i);case\"base64\":return H(this,t,e,i);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return W(this,t,e,i);default:if(a)throw new TypeError(\"Unknown encoding: \"+n);n=(\"\"+n).toLowerCase(),a=!0}},M.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var Z=4096;function Q(t,e,i){var n=\"\";i=Math.min(t.length,i);for(var r=e;r<i;++r)n+=String.fromCharCode(127&t[r]);return n}function X(t,e,i){var n=\"\";i=Math.min(t.length,i);for(var r=e;r<i;++r)n+=String.fromCharCode(t[r]);return n}function tt(t,e,i){var n=t.length;(!e||e<0)&&(e=0),(!i||i<0||i>n)&&(i=n);for(var r=\"\",a=e;a<i;++a)r+=lt(t[a]);return r}function et(t,e,i){for(var n=t.slice(e,i),r=\"\",a=0;a<n.length;a+=2)r+=String.fromCharCode(n[a]+256*n[a+1]);return r}function it(t,e,i){if(t%1!=0||t<0)throw new RangeError(\"offset is not uint\");if(t+e>i)throw new RangeError(\"Trying to access beyond buffer length\")}function nt(t,e,i,n,r,a){if(!P(t))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(e>r||e<a)throw new RangeError('\"value\" argument is out of bounds');if(i+n>t.length)throw new RangeError(\"Index out of range\")}function rt(t,e,i,n){e<0&&(e=65535+e+1);for(var r=0,a=Math.min(t.length-i,2);r<a;++r)t[i+r]=(e&255<<8*(n?r:1-r))>>>8*(n?r:1-r)}function at(t,e,i,n){e<0&&(e=4294967295+e+1);for(var r=0,a=Math.min(t.length-i,4);r<a;++r)t[i+r]=e>>>8*(n?r:3-r)&255}function st(t,e,i,n,r,a){if(i+n>t.length)throw new RangeError(\"Index out of range\");if(i<0)throw new RangeError(\"Index out of range\")}function ot(t,e,i,n,r){return r||st(t,0,i,4),E(t,e,i,n,23,4),i+4}function ht(t,e,i,n,r){return r||st(t,0,i,8),E(t,e,i,n,52,8),i+8}M.prototype.slice=function(t,e){var i,n=this.length;if((t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e<t&&(e=t),M.TYPED_ARRAY_SUPPORT)(i=this.subarray(t,e)).__proto__=M.prototype;else{var r=e-t;i=new M(r,void 0);for(var a=0;a<r;++a)i[a]=this[a+t]}return i},M.prototype.readUIntLE=function(t,e,i){t|=0,e|=0,i||it(t,e,this.length);for(var n=this[t],r=1,a=0;++a<e&&(r*=256);)n+=this[t+a]*r;return n},M.prototype.readUIntBE=function(t,e,i){t|=0,e|=0,i||it(t,e,this.length);for(var n=this[t+--e],r=1;e>0&&(r*=256);)n+=this[t+--e]*r;return n},M.prototype.readUInt8=function(t,e){return e||it(t,1,this.length),this[t]},M.prototype.readUInt16LE=function(t,e){return e||it(t,2,this.length),this[t]|this[t+1]<<8},M.prototype.readUInt16BE=function(t,e){return e||it(t,2,this.length),this[t]<<8|this[t+1]},M.prototype.readUInt32LE=function(t,e){return e||it(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},M.prototype.readUInt32BE=function(t,e){return e||it(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},M.prototype.readIntLE=function(t,e,i){t|=0,e|=0,i||it(t,e,this.length);for(var n=this[t],r=1,a=0;++a<e&&(r*=256);)n+=this[t+a]*r;return n>=(r*=128)&&(n-=Math.pow(2,8*e)),n},M.prototype.readIntBE=function(t,e,i){t|=0,e|=0,i||it(t,e,this.length);for(var n=e,r=1,a=this[t+--n];n>0&&(r*=256);)a+=this[t+--n]*r;return a>=(r*=128)&&(a-=Math.pow(2,8*e)),a},M.prototype.readInt8=function(t,e){return e||it(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},M.prototype.readInt16LE=function(t,e){e||it(t,2,this.length);var i=this[t]|this[t+1]<<8;return 32768&i?4294901760|i:i},M.prototype.readInt16BE=function(t,e){e||it(t,2,this.length);var i=this[t+1]|this[t]<<8;return 32768&i?4294901760|i:i},M.prototype.readInt32LE=function(t,e){return e||it(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},M.prototype.readInt32BE=function(t,e){return e||it(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},M.prototype.readFloatLE=function(t,e){return e||it(t,4,this.length),O(this,t,!0,23,4)},M.prototype.readFloatBE=function(t,e){return e||it(t,4,this.length),O(this,t,!1,23,4)},M.prototype.readDoubleLE=function(t,e){return e||it(t,8,this.length),O(this,t,!0,52,8)},M.prototype.readDoubleBE=function(t,e){return e||it(t,8,this.length),O(this,t,!1,52,8)},M.prototype.writeUIntLE=function(t,e,i,n){(t=+t,e|=0,i|=0,n)||nt(this,t,e,i,Math.pow(2,8*i)-1,0);var r=1,a=0;for(this[e]=255&t;++a<i&&(r*=256);)this[e+a]=t/r&255;return e+i},M.prototype.writeUIntBE=function(t,e,i,n){(t=+t,e|=0,i|=0,n)||nt(this,t,e,i,Math.pow(2,8*i)-1,0);var r=i-1,a=1;for(this[e+r]=255&t;--r>=0&&(a*=256);)this[e+r]=t/a&255;return e+i},M.prototype.writeUInt8=function(t,e,i){return t=+t,e|=0,i||nt(this,t,e,1,255,0),M.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},M.prototype.writeUInt16LE=function(t,e,i){return t=+t,e|=0,i||nt(this,t,e,2,65535,0),M.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):rt(this,t,e,!0),e+2},M.prototype.writeUInt16BE=function(t,e,i){return t=+t,e|=0,i||nt(this,t,e,2,65535,0),M.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):rt(this,t,e,!1),e+2},M.prototype.writeUInt32LE=function(t,e,i){return t=+t,e|=0,i||nt(this,t,e,4,4294967295,0),M.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):at(this,t,e,!0),e+4},M.prototype.writeUInt32BE=function(t,e,i){return t=+t,e|=0,i||nt(this,t,e,4,4294967295,0),M.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):at(this,t,e,!1),e+4},M.prototype.writeIntLE=function(t,e,i,n){if(t=+t,e|=0,!n){var r=Math.pow(2,8*i-1);nt(this,t,e,i,r-1,-r)}var a=0,s=1,o=0;for(this[e]=255&t;++a<i&&(s*=256);)t<0&&0===o&&0!==this[e+a-1]&&(o=1),this[e+a]=(t/s>>0)-o&255;return e+i},M.prototype.writeIntBE=function(t,e,i,n){if(t=+t,e|=0,!n){var r=Math.pow(2,8*i-1);nt(this,t,e,i,r-1,-r)}var a=i-1,s=1,o=0;for(this[e+a]=255&t;--a>=0&&(s*=256);)t<0&&0===o&&0!==this[e+a+1]&&(o=1),this[e+a]=(t/s>>0)-o&255;return e+i},M.prototype.writeInt8=function(t,e,i){return t=+t,e|=0,i||nt(this,t,e,1,127,-128),M.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},M.prototype.writeInt16LE=function(t,e,i){return t=+t,e|=0,i||nt(this,t,e,2,32767,-32768),M.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):rt(this,t,e,!0),e+2},M.prototype.writeInt16BE=function(t,e,i){return t=+t,e|=0,i||nt(this,t,e,2,32767,-32768),M.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):rt(this,t,e,!1),e+2},M.prototype.writeInt32LE=function(t,e,i){return t=+t,e|=0,i||nt(this,t,e,4,2147483647,-2147483648),M.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):at(this,t,e,!0),e+4},M.prototype.writeInt32BE=function(t,e,i){return t=+t,e|=0,i||nt(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),M.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):at(this,t,e,!1),e+4},M.prototype.writeFloatLE=function(t,e,i){return ot(this,t,e,!0,i)},M.prototype.writeFloatBE=function(t,e,i){return ot(this,t,e,!1,i)},M.prototype.writeDoubleLE=function(t,e,i){return ht(this,t,e,!0,i)},M.prototype.writeDoubleBE=function(t,e,i){return ht(this,t,e,!1,i)},M.prototype.copy=function(t,e,i,n){if(i||(i=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<i&&(n=i),n===i)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError(\"targetStart out of bounds\");if(i<0||i>=this.length)throw new RangeError(\"sourceStart out of bounds\");if(n<0)throw new RangeError(\"sourceEnd out of bounds\");n>this.length&&(n=this.length),t.length-e<n-i&&(n=t.length-e+i);var r,a=n-i;if(this===t&&i<e&&e<n)for(r=a-1;r>=0;--r)t[r+e]=this[r+i];else if(a<1e3||!M.TYPED_ARRAY_SUPPORT)for(r=0;r<a;++r)t[r+e]=this[r+i];else Uint8Array.prototype.set.call(t,this.subarray(i,i+a),e);return a},M.prototype.fill=function(t,e,i,n){if(\"string\"==typeof t){if(\"string\"==typeof e?(n=e,e=0,i=this.length):\"string\"==typeof i&&(n=i,i=this.length),1===t.length){var r=t.charCodeAt(0);r<256&&(t=r)}if(void 0!==n&&\"string\"!=typeof n)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof n&&!M.isEncoding(n))throw new TypeError(\"Unknown encoding: \"+n)}else\"number\"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<i)throw new RangeError(\"Out of range index\");if(i<=e)return this;var a;if(e>>>=0,i=void 0===i?this.length:i>>>0,t||(t=0),\"number\"==typeof t)for(a=e;a<i;++a)this[a]=t;else{var s=P(t)?t:ft(new M(t,n).toString()),o=s.length;for(a=0;a<i-e;++a)this[a+e]=s[a%o]}return this};var ut=/[^+\\/0-9A-Za-z-_]/g;function lt(t){return t<16?\"0\"+t.toString(16):t.toString(16)}function ft(t,e){var i;e=e||1/0;for(var n=t.length,r=null,a=[],s=0;s<n;++s){if((i=t.charCodeAt(s))>55295&&i<57344){if(!r){if(i>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&a.push(239,191,189);continue}r=i;continue}if(i<56320){(e-=3)>-1&&a.push(239,191,189),r=i;continue}i=65536+(r-55296<<10|i-56320)}else r&&(e-=3)>-1&&a.push(239,191,189);if(r=null,i<128){if((e-=1)<0)break;a.push(i)}else if(i<2048){if((e-=2)<0)break;a.push(i>>6|192,63&i|128)}else if(i<65536){if((e-=3)<0)break;a.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error(\"Invalid code point\");if((e-=4)<0)break;a.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return a}function dt(t){return function(t){var e,i,n,r,a,s;v||b();var o=t.length;if(o%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");a=\"=\"===t[o-2]?2:\"=\"===t[o-1]?1:0,s=new A(3*o/4-a),n=a>0?o-4:o;var h=0;for(e=0,i=0;e<n;e+=4,i+=3)r=_[t.charCodeAt(e)]<<18|_[t.charCodeAt(e+1)]<<12|_[t.charCodeAt(e+2)]<<6|_[t.charCodeAt(e+3)],s[h++]=r>>16&255,s[h++]=r>>8&255,s[h++]=255&r;return 2===a?(r=_[t.charCodeAt(e)]<<2|_[t.charCodeAt(e+1)]>>4,s[h++]=255&r):1===a&&(r=_[t.charCodeAt(e)]<<10|_[t.charCodeAt(e+1)]<<4|_[t.charCodeAt(e+2)]>>2,s[h++]=r>>8&255,s[h++]=255&r),s}(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\\s+|\\s+$/g,\"\")}(t).replace(ut,\"\")).length<2)return\"\";for(;t.length%4!=0;)t+=\"=\";return t}(t))}function ct(t,e,i,n){for(var r=0;r<n&&!(r+i>=e.length||r>=t.length);++r)e[r+i]=t[r];return r}function pt(t){return!!t.constructor&&\"function\"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}var mt=Object.create,gt=Object.defineProperty,wt=Object.getOwnPropertyDescriptor,yt=Object.getOwnPropertyNames,_t=Object.getPrototypeOf,At=Object.prototype.hasOwnProperty,vt=(t,e)=>function(){return e||(0,t[yt(t)[0]])((e={exports:{}}).exports,e),e.exports},bt=(t,e,i)=>((t,e,i)=>e in t?gt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i)(t,\"symbol\"!=typeof e?e+\"\":e,i),It=vt({\"../../node_modules/.pnpm/@rgba-image+copy@0.1.3/node_modules/@rgba-image/copy/dist/index.js\"(t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.copy=void 0;t.copy=(t,e,i=0,n=0,r=t.width-i,a=t.height-n,s=0,o=0)=>{if(i|=0,n|=0,a|=0,s|=0,o|=0,(r|=0)<=0||a<=0)return;const h=new Uint32Array(t.data.buffer),u=new Uint32Array(e.data.buffer);for(let l=0;l<a;l++){const a=n+l;if(a<0||a>=t.height)continue;const f=o+l;if(!(f<0||f>=e.height))for(let n=0;n<r;n++){const r=i+n;if(r<0||r>=t.width)continue;const o=s+n;if(o<0||o>=e.width)continue;const l=a*t.width+r;u[f*e.width+o]=h[l]}}}}}),Nt=vt({\"../../node_modules/.pnpm/@rgba-image+create-image@0.1.1/node_modules/@rgba-image/create-image/dist/index.js\"(t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.CreateImageFactory=(t=[0,0,0,0],e=4)=>{if(e=Math.floor(e),isNaN(e)||e<1)throw TypeError(\"channels should be a positive non-zero number\");if(!(\"length\"in t)||t.length<e)throw TypeError(`fill should be iterable with at least ${e} members`);const i=(t=new Uint8ClampedArray(t).slice(0,e)).every((t=>0===t));return(n,r,a)=>{if(void 0===n||void 0===r)throw TypeError(\"Not enough arguments\");if(n=Math.floor(n),r=Math.floor(r),isNaN(n)||n<1||isNaN(r)||r<1)throw TypeError(\"Index or size is negative or greater than the allowed amount\");const s=n*r*e;if(void 0===a&&(a=new Uint8ClampedArray(s)),a instanceof Uint8ClampedArray){if(a.length!==s)throw TypeError(\"Index or size is negative or greater than the allowed amount\");if(!i)for(let i=0;i<r;i++)for(let r=0;r<n;r++){const s=(i*n+r)*e;for(let i=0;i<e;i++)a[s+i]=t[i]}return{get width(){return n},get height(){return r},get data(){return a}}}throw TypeError(\"Expected data to be Uint8ClampedArray or undefined\")}},t.createImage=t.CreateImageFactory()}}),Ot=vt({\"../../node_modules/.pnpm/@rgba-image+lanczos@0.1.1/node_modules/@rgba-image/lanczos/dist/filters.js\"(t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.filters=void 0;var e=(t,e)=>{if(t<=-e||t>=e)return 0;if(0==t)return 0;const i=t*Math.PI;return Math.sin(i)/i*Math.sin(i/e)/(i/e)},i=t=>Math.round(16383*t);t.filters=(t,n,r,a,s)=>{const o=s?2:3,h=1/r,u=Math.min(1,r),l=o/u,f=Math.floor(2*(l+1)),d=new Int16Array((f+2)*n);let c=0;for(let r=0;r<n;r++){const s=(r+.5)*h+a,f=Math.max(0,Math.floor(s-l)),p=Math.min(t-1,Math.ceil(s+l)),m=p-f+1,g=new Float32Array(m),w=new Int16Array(m);let y=0,_=0;for(let t=f;t<=p;t++){const i=e((t+.5-s)*u,o);y+=i,g[_]=i,_++}let A=0;for(let t=0;t<g.length;t++){const e=g[t]/y;A+=e,w[t]=i(e)}w[n>>1]+=i(1-A);let v=0;for(;v<w.length&&0===w[v];)v++;let b=w.length-1;for(;b>0&&0===w[b];)b--;const I=f+v,N=b-v+1;d[c++]=I,d[c++]=N,d.set(w.subarray(v,b+1),c),c+=N}return d}}}),Et=vt({\"../../node_modules/.pnpm/@rgba-image+lanczos@0.1.1/node_modules/@rgba-image/lanczos/dist/convolve.js\"(t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.convolve=void 0;t.convolve=(t,e,i,n,r,a)=>{let s=0,o=0;for(let h=0;h<n;h++){let u=0;for(let i=0;i<r;i++){let i=s+4*a[u++]|0,r=0,h=0,l=0,f=0;for(let e=a[u++];e>0;e--){const e=a[u++];r=r+e*t[i]|0,h=h+e*t[i+1]|0,l=l+e*t[i+2]|0,f=f+e*t[i+3]|0,i=i+4|0}e[o]=r+8192>>14,e[o+1]=h+8192>>14,e[o+2]=l+8192>>14,e[o+3]=f+8192>>14,o=o+4*n|0}o=4*(h+1)|0,s=(h+1)*i*4|0}}}}),Tt=vt({\"../../node_modules/.pnpm/@rgba-image+lanczos@0.1.1/node_modules/@rgba-image/lanczos/dist/index.js\"(t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.lanczos2=t.lanczos=void 0;var e=It(),i=Nt(),n=Ot(),r=Et(),a=(t,e,i=!1)=>{const a=e.width/t.width,s=e.height/t.height,o=n.filters(t.width,e.width,a,0,i),h=n.filters(t.height,e.height,s,0,i),u=new Uint8ClampedArray(e.width*t.height*4);r.convolve(t.data,u,t.width,t.height,e.width,o),r.convolve(u,e.data,t.height,e.width,e.height,h)};t.lanczos=(t,n,r=0,s=0,o=t.width-r,h=t.height-s,u=0,l=0,f=n.width-u,d=n.height-l)=>{if(s|=0,h|=0,u|=0,l|=0,f|=0,d|=0,(o|=0)<=0||h<=0||f<=0||d<=0)return;if(0===(r|=0)&&0===s&&o===t.width&&h===t.height&&0===u&&0===l&&f===n.width&&d===n.height)return void a(t,n);const c=i.createImage(o,h),p=i.createImage(f,d);e.copy(t,c,r,s),a(c,p),e.copy(p,n,0,0,p.width,p.height,u,l)};t.lanczos2=(t,n,r=0,s=0,o=t.width-r,h=t.height-s,u=0,l=0,f=n.width-u,d=n.height-l)=>{if(s|=0,h|=0,u|=0,l|=0,f|=0,d|=0,(o|=0)<=0||h<=0||f<=0||d<=0)return;if(0===(r|=0)&&0===s&&o===t.width&&h===t.height&&0===u&&0===l&&f===n.width&&d===n.height)return void a(t,n,!0);const c=i.createImage(o,h),p=i.createImage(f,d);e.copy(t,c,r,s),a(c,p,!0),e.copy(p,n,0,0,p.width,p.height,u,l)}}}),Bt={jpeg:\"image/jpeg\",png:\"image/png\",gif:\"image/gif\",bmp:\"image/bmp\",svg:\"image/svg+xml\",svgxml:\"image/svg+xml\",webp:\"image/webp\",mp3:\"audio/mp3\"},Ut={jpeg:[255,216,255],png:[137,80,78,71,13,10,26,10],gif:[71,73,70],bmp:[66,77],webp:[82,73,70,70,63,63,63,63,87,69,66,80],svg:[60,115,118,103],svgxml:[60,63,120,109,108],mp3:[73,68,51]},Dt={\"image/jpeg\":\"jpeg\",\"image/png\":\"png\",\"image/gif\":\"gif\",\"image/bmp\":\"bmp\",\"image/svg+xml\":\"svg\",\"image/webp\":\"webp\",\"audio/mpeg\":\"mpeg\",\"audio/mp3\":\"mp3\"},Mt=(t=>(t.ASSET_NOT_FOUND=\"ASSET_NOT_FOUND\",t.INVALID_DOTLOTTIE=\"INVALID_DOTLOTTIE\",t.INVALID_STATEMACHINE=\"INVALID_STATEMACHINE\",t.INVALID_URL=\"INVALID_URL\",t))(Mt||{}),St=class extends Error{constructor(t,e){super(t),bt(this,\"code\"),this.name=\"[dotLottie-js]\",this.code=e}},Lt=t=>{const e=t.substring(t.indexOf(\",\")+1),i=\"undefined\"==typeof window?M.from(e,\"base64\").toString(\"binary\"):atob(e),n=new Uint8Array(i.length);for(let t=0;t<i.length;t+=1)n[t]=i.charCodeAt(t);return n},Rt=t=>{let e=null,i=[];if(!t)throw new St(\"Failed to determine the MIME type from the base64 asset string. Please check the input data. Supported asset types for dotLottie-js  are: jpeg, png, gif, bmp, svg, webp, mp3\",\"INVALID_DOTLOTTIE\");const n=t.substring(t.indexOf(\",\")+1);e=\"undefined\"==typeof window?M.from(n,\"base64\").toString(\"binary\"):atob(n);const r=new Uint8Array(e.length);for(let t=0;t<e.length;t+=1)r[t]=e.charCodeAt(t);for(const t in Ut){const e=Ut[t];if(\"webp\"===t&&e&&r.length>e.length){const i=Array.from(r.subarray(0,4)),n=Array.from(r.subarray(8,12));if(i.every(((t,i)=>t===e[i]))&&n.every(((t,i)=>t===e[i+8])))return Bt[t]}else if(i=Array.from(r.subarray(0,e?.length)),e&&i.every(((t,i)=>t===e[i])))return Bt[t]}throw new St(\"Failed to determine the MIME type from the base64 asset string. Please check the input data. Supported asset types for dotLottie-js  are: jpeg, png, gif, bmp, svg, webp, mp3\",\"INVALID_DOTLOTTIE\")},xt=t=>{const e=Rt(t);if(!e){const e=t.split(\";\")[0]?.split(\"/\")[1];return e&&Dt[e]||null}return Dt[e]||null},Vt=t=>{try{return new URL(t),!0}catch{return!1}};function Pt(t){let e;if(\"undefined\"==typeof window)e=M.from(t).toString(\"base64\");else{const i=Array.prototype.map.call(t,(t=>String.fromCharCode(t))).join(\"\");e=window.btoa(i)}return`data:${Rt(e)};base64,${e}`}function Ct(t){return\"w\"in t&&\"h\"in t&&!(\"xt\"in t)&&\"p\"in t}function qt(t){return!(\"h\"in t)&&!(\"w\"in t)&&\"p\"in t&&\"e\"in t&&\"u\"in t&&\"id\"in t}async function zt(e,i=(()=>!0)){if(!(e instanceof Uint8Array))throw new St(\"dotLottie not found\",\"INVALID_DOTLOTTIE\");return await new Promise(((n,r)=>{t(e,{filter:i},((t,e)=>{t&&r(t),n(e)}))}))}async function jt(t,e,i){if(!(t instanceof Uint8Array))throw new St(\"Invalid dotLottie\",\"INVALID_DOTLOTTIE\");return(await zt(t,(t=>t.name===e&&(!i||i(t)))))[e]}async function kt(t){const i=\"manifest.json\",n=(await zt(t,(t=>t.name===i)))[i];if(void 0!==n)return JSON.parse(e(n,!1))}async function $t(t){const e=await kt(t);return e?.version??\"1.0.0\"}async function Ft(t){if(!(t instanceof Uint8Array))return{success:!1,error:\"dotLottie not found\"};return void 0===await kt(t)?{success:!1,error:\"manifest.json is missing\"}:{success:!0}}async function Yt(t){const e=new Uint8Array(t),i=await Ft(e);if(i.error)throw new St(i.error,\"INVALID_DOTLOTTIE\");return e}async function Jt(t){if(!Vt(t))throw new St(\"Invalid url provided for .lottie file\",\"INVALID_URL\");const e=await fetch(t),i=await e.arrayBuffer(),n=new Uint8Array([80,75,3,4]);if(!new Uint8Array(i.slice(0,4)).every(((t,e)=>t===n[e])))throw new St(\"Invalid .lottie file\",\"INVALID_DOTLOTTIE\");return await Yt(i)}async function Ht(t,e,i){let n=\"audio/\";\"2\"===await $t(t)&&(n=\"u/\");const r=`${n}${e}`,a=await jt(t,r,i);if(void 0!==a)return Pt(a)}async function Wt(t,e){const i=await $t(t);let n=\"audio/\";\"2\"===i&&(n=\"u/\");const r=await zt(t,(t=>{const i=t.name.replace(n,\"\");return t.name.startsWith(n)&&(!e||e({...t,name:i}))})),a={};for(const t in r){const e=r[t];if(e instanceof Uint8Array){a[t.replace(n,\"\")]=Pt(e)}}return a}async function Gt(t,e){const i=new Map;for(const[t,n]of Object.entries(e))for(const e of n.assets||[])if(qt(e)){const n=e.p;i.has(n)||i.set(n,new Set),i.get(n)?.add(t)}const n=await Wt(t,(t=>i.has(t.name)));for(const[t,r]of i){const i=n[t];if(i)for(const n of r){const r=e[n];for(const e of r?.assets||[])qt(e)&&e.p===t&&(e.p=i,e.u=\"\",e.e=1)}}}async function Kt(t,e,i){let n=\"images/\";\"2\"===await $t(t)&&(n=\"i/\");const r=`${n}${e}`,a=await jt(t,r,i);if(void 0!==a)return Pt(a)}async function Zt(t,e){const i=await $t(t);let n=\"images/\";\"2\"===i&&(n=\"i/\");const r=await zt(t,(t=>{const i=t.name.replace(n,\"\");return t.name.startsWith(n)&&(!e||e({...t,name:i}))})),a={};for(const t in r){const e=r[t];if(e instanceof Uint8Array){a[t.replace(t,\"\")]=Pt(e)}}return a}async function Qt(t,e){const i=new Map;for(const[t,n]of Object.entries(e))for(const e of n.assets||[])if(Ct(e)){const n=e.p;i.has(n)||i.set(n,new Set),i.get(n)?.add(t)}const n=await Zt(t,(t=>i.has(t.name)));for(const[t,r]of i){const i=n[t];if(i)for(const n of r){const r=e[n];for(const e of r?.assets||[])Ct(e)&&e.p===t&&(e.p=i,e.u=\"\",e.e=1)}}}async function Xt(t,i,{inlineAssets:n}={},r){const a=`animations/${i}.json`,s=await jt(t,a,r);if(void 0===s)return;const o=JSON.parse(e(s,!1));if(!n)return o;const h={[i]:o};return await Qt(t,h),await Gt(t,h),o}async function te(t,{inlineAssets:i}={},n){const r={},a=await $t(t);let s=\"animations/\";\"2\"===a&&(s=\"a/\");const o=await zt(t,(t=>{const e=t.name.replace(s,\"\").replace(\".json\",\"\");return t.name.startsWith(s)&&(!n||n({...t,name:e}))}));for(const t in o){const i=o[t];if(i instanceof Uint8Array){const n=t.replace(s,\"\").replace(\".json\",\"\"),a=JSON.parse(e(i,!1));r[n]=a}}return i?(await Qt(t,r),r):r}async function ee(t,i){const n={},r=await zt(t,(t=>{const e=t.name.replace(\"t/\",\"\").replace(\".json\",\"\");return t.name.startsWith(\"t/\")&&(!i||i({...t,name:e}))}));for(const t in r){const i=r[t];if(i instanceof Uint8Array){n[t.replace(\"t/\",\"\").replace(\".json\",\"\")]=JSON.parse(e(i,!1))}}return n}async function ie(t,i,n){const r=`t/${i}.json`,a=await jt(t,r,n);if(void 0!==a)return JSON.parse(e(a,!1))}async function ne(t,i){const n={},r=await zt(t,(t=>{const e=t.name.replace(\"s/\",\"\").replace(\".json\",\"\");return t.name.startsWith(\"s/\")&&(!i||i({...t,name:e}))}));for(const t in r){const i=r[t];if(i instanceof Uint8Array){n[t.replace(\"s/\",\"\").replace(\".json\",\"\")]=e(i,!1)}}return n}async function re(t,i,n){const r=`s/${i}.json`,a=await jt(t,r,n);if(void 0===a)return;return JSON.parse(e(a,!1))}var ae=`${\"@dotlottie/dotlottie-js\"}@${\"0.9.0-beta.13\"}`,se=r({id:a(),name:s(a()),initialTheme:s(a()),background:s(a()),themes:s(o(a()))}),oe=r({id:a(),name:s(a())}),he=r({id:a(),name:s(a())}),ue=r({animation:s(a()),stateMachine:s(a())}),le=r({version:a(),generator:a(),initial:s(ue),animations:o(se),themes:s(o(oe)),stateMachines:s(o(he))}),fe=r({type:a(\"Numeric\"),triggerName:a(),conditionType:a(),compareTo:h([a(),u(),l()])}),de=r({type:a(\"String\"),triggerName:a(),conditionType:a(),compareTo:h([a(),u(),l()])}),ce=r({type:a(\"Numeric\"),triggerName:a(),conditionType:a(),compareTo:h([a(),l()])}),pe=r({type:a(\"Event\"),triggerName:a()}),me=h([fe,de,ce,pe]);r({value:u()}),r({value:l()}),r({value:a()}),r({target:s(a())});var ge,we,ye=r({type:a(\"Transition\"),toState:a(),guards:s(o(me))}),_e=o(ye),Ae=r({type:a(),url:a()}),ve=r({type:a(),themeId:a()}),be=r({type:a(),triggerName:a(),value:s(h([a(),u()]))}),Ie=r({type:a(),triggerName:a(),value:s(h([a(),u()]))}),Ne=r({type:a(),triggerName:a()}),Oe=r({type:a(),triggerName:a(),value:s(l())}),Ee=r({type:a(),triggerName:a(),value:s(a())}),Te=r({type:a(),triggerName:a(),value:s(u())}),Be=r({type:a(),triggerName:a()}),Ue=r({type:a(),triggerName:a()}),De=r({type:a(),layerName:a(),propertyIndex:u(),varName:a(),value:u()}),Me=r({type:a(),themeId:a()}),Se=r({type:a(),value:h([a(),u()])}),Le=r({type:a(),value:h([a(),u()])}),Re=h([Ae,ve,be,Ie,Ne,Oe,Ee,Te,Be,Ue,De,Me,Se,Le,r({type:a(),value:a()}),r({type:a(),value:a()})]),xe=h([a(\"Forward\"),a(\"Reverse\"),a(\"Bounce\"),a(\"ReverseBounce\")]),Ve=h([a(\"PlaybackState\"),a(\"GlobalState\")]),Pe=r({name:a(),type:Ve,animationId:a(),loop:s(l()),autoplay:s(l()),final:s(l()),mode:s(xe),speed:s(u()),segment:s(a()),backgroundColor:s(u()),useFrameInterpolation:s(l()),entryActions:s(o(Re)),exitActions:s(o(Re)),transitions:s(_e)}),Ce=r({name:a(),type:Ve,entryActions:s(o(Re)),exitActions:s(o(Re)),transitions:s(_e)}),qe=h([Pe,Ce]),ze=o(qe),je=r({type:a(),layerName:s(a()),actions:o(Re)}),ke=r({type:a(),layerName:s(a()),actions:o(Re)}),$e=r({type:a(),layerName:s(a()),actions:o(Re)}),Fe=r({type:a(),layerName:s(a()),actions:o(Re)}),Ye=r({type:a(),layerName:s(a()),actions:o(Re)}),Je=r({type:a(),stateName:a(),actions:o(Re)}),He=h([je,ke,$e,Fe,Ye,Je]),We=o(He),Ge=r({type:a(\"Numeric\"),name:a(),value:u()}),Ke=r({type:a(\"String\"),name:a(),value:a()}),Ze=r({type:a(\"String\"),name:a(),value:l()}),Qe=r({type:a(\"Event\"),name:a()}),Xe=h([Ge,Ke,Ze,Qe]),ti=o(Xe),ei=r({initial:a()}),ii=r({descriptor:ei,states:ze,listeners:s(We),triggers:s(ti)}),ni=r({x:h([u(),o(u())]),y:h([u(),o(u())])}),ri={frame:u(),inTangent:s(ni),outTangent:s(ni),hold:s(l())},ai=r({...ri,value:u()}),si=r({...ri,value:o(u())}),oi={animations:s(o(a())),id:a()},hi=r({...oi,type:f(\"Scalar\"),value:s(u()),keyframes:s(o(ai)),expression:s(a())}),ui=r({...ri,value:o(u()),valueInTangent:s(u()),valueOutTangent:s(u())}),li=r({...oi,type:f(\"Position\"),split:s(l()),keyframes:s(o(ui)),expression:s(a())}),fi=r({...oi,type:f(\"Color\"),value:s(o(u())),keyframes:s(o(si)),expression:s(a())}),di=r({...oi,type:f(\"Image\"),value:r({id:s(a()),width:s(u()),height:s(u()),url:s(a())})}),ci=r({...ri,value:o(r({color:o(u()),offset:u()}))}),pi=r({...oi,type:f(\"Gradient\"),value:s(o(r({color:o(u()),offset:u()}))),keyframes:s(o(ci))}),mi=o(h([fi,hi,li,di,pi])),gi=r({rules:mi}),wi=class{constructor(t){bt(this,\"_name\"),bt(this,\"_id\"),bt(this,\"_descriptor\"),bt(this,\"_zipOptions\"),bt(this,\"_states\"),bt(this,\"_listeners\"),bt(this,\"_triggers\"),this._requireValidId(t.id),this._requireValidTriggers(t.data.triggers??[]),this._requireValidListeners(t.data.listeners??[]),this._requireValidStates(t.data.states),this._requireValidDescriptor(t.data.descriptor),this._name=t.name,this._id=t.id,this._descriptor=t.data.descriptor,this._zipOptions=t.zipOptions??{},this._states=t.data.states,this._listeners=t.data.listeners??[],this._triggers=t.data.triggers??[]}get zipOptions(){return this._zipOptions}set zipOptions(t){this._zipOptions=t}get id(){return this._id}set id(t){this._requireValidId(t),this._id=t}get name(){return this._name}set name(t){this._name=t}get states(){return this._states}set states(t){this._states=t}get listeners(){return this._listeners}set listeners(t){this._listeners=t}get triggers(){return this._triggers}set triggers(t){this._triggers=t}get initial(){return this._descriptor.initial}set initial(t){this._descriptor.initial=t}get descriptor(){return this._descriptor}set descriptor(t){this._descriptor=t}toString(){return JSON.stringify({descriptor:this._descriptor,states:this._states,triggers:this._triggers,listeners:this._listeners})}_requireValidId(t){if(!t)throw new St(\"Invalid id.\")}_requireValidDescriptor(t){const e=m(ei,t);if(!e.success){const t=`Invalid state machine declaration, ${JSON.stringify(g(e.issues).nested,null,2)}`;throw new St(`Invalid descriptor: ${t}`,\"INVALID_STATEMACHINE\")}}_requireValidStates(t){const e=m(ze,t);if(!e.success){const t=`Invalid state machine declaration, ${JSON.stringify(g(e.issues).nested,null,2)}`;throw new St(`Invalid states: ${t}`,\"INVALID_STATEMACHINE\")}for(const e of t)e.transitions&&this._requireValidTransitions(e.transitions)}_requireValidTriggers(t){const e=m(ti,t);if(!e.success){const t=`Invalid state machine declaration, ${JSON.stringify(g(e.issues).nested,null,2)}`;throw new St(`Invalid context variables: ${t}`,\"INVALID_STATEMACHINE\")}}_requireValidListeners(t){const e=m(We,t);if(!e.success){const t=`Invalid state machine declaration, ${JSON.stringify(g(e.issues).nested,null,2)}`;throw new St(`Invalid listeners: ${t}`,\"INVALID_STATEMACHINE\")}}_requireValidTransitions(t){const e=m(_e,t);if(!e.success){const t=`Invalid state machine declaration, ${JSON.stringify(g(e.issues).nested,null,2)}`;throw new St(`Invalid transitions: ${t}`,\"INVALID_STATEMACHINE\")}}},yi=class{constructor(t){bt(this,\"_data\"),bt(this,\"_id\"),bt(this,\"_name\"),bt(this,\"_zipOptions\"),this._requireValidId(t.id),this._requireValidData(t.data),this._name=t.name,this._data=t.data,this._id=t.id,this._zipOptions=t.zipOptions??{}}get zipOptions(){return this._zipOptions}set zipOptions(t){this._zipOptions=t}get id(){return this._id}set id(t){this._requireValidId(t),this._id=t}get name(){return this._name}set name(t){this._name=t}get data(){return this._data}set data(t){this._requireValidData(t),this._data=t}async toString(){return JSON.stringify(this._data)}_requireValidId(t){if(\"string\"!=typeof t||!t)throw new St(\"Invalid theme id\")}_requireValidData(t){const e=m(gi,t);if(!e.success){const t=JSON.stringify(e.issues,null,2);throw new St(`Invalid theme data: ${t}`)}}},_i=class{constructor(t){bt(this,\"_animationsMap\",new Map),bt(this,\"_plugins\",[]),bt(this,\"_themesMap\",new Map),bt(this,\"_stateMachinesMap\",new Map),bt(this,\"_generator\",ae),bt(this,\"_version\",\"2\"),bt(this,\"enableDuplicateImageOptimization\"),t?.generator&&(this._generator=t.generator),this.enableDuplicateImageOptimization=t?.enableDuplicateImageOptimization??!1}async toBase64(t){throw new St(\"toBase64() method not implemented in concrete class!\")}create(t){throw new St(\"create() method not implemented in concrete class!\")}async download(t,e=void 0){throw new St(\"download(fileName:string) method not implemented in concrete class!\")}addPlugins(...t){throw new St(\"addPlugins(...plugins: DotLottiePlugin[]) not implemented in concrete class!\")}addAnimation(t){throw new St(\"addAnimation(animationOptions: AnimationOptions) not implemented in concrete class!\")}async fromArrayBuffer(t){throw new St(\"fromArrayBuffer(arrayBuffer: ArrayBuffer): Promise<DotLottieCommon> not implemented in concrete class!\")}async toArrayBuffer(t=void 0){throw new St(\"toArrayBuffer(): Promise<ArrayBuffer> is not implemented in concrete class!\")}get plugins(){return this._plugins}get version(){return this._version}get generator(){return this._generator}get animations(){return Array.from(this._animationsMap.values())}get manifest(){return this._buildManifest()}get themes(){return Array.from(this._themesMap.values())}get stateMachines(){return Array.from(this._stateMachinesMap.values())}setGenerator(t){return this._generator=t||ae,this}_renameImage(t,e,i){t.imageAssets.forEach((n=>{if(n.id===i){if(n.renameImage(e),!t.data)throw new St(\"No animation data available.\");const r=t.data.assets;if(!r)throw new St(\"No image assets to rename.\");for(const t of r)\"w\"in t&&\"h\"in t&&t.id===i&&(t.p=n.fileName)}}))}_renameImageAssets(){const t=new Map;this.animations.forEach((e=>{t.set(e.id,e.imageAssets)}));let e=0;t.forEach((t=>{e+=t.length}));for(let t=this.animations.length-1;t>=0;t-=1){const i=this.animations.at(t);if(i)for(let t=i.imageAssets.length-1;t>=0;t-=1){const n=i.imageAssets.at(t);n&&(this._renameImage(i,`image_${e}`,n.id),e-=1)}}}_renameAudio(t,e,i){t.audioAssets.forEach((n=>{if(n.id===i){if(n.renameAudio(e),!t.data)throw new St(\"No animation data available.\");const r=t.data.assets;if(!r)throw new St(\"No audio assets to rename.\");for(const t of r)qt(t)&&t.id===i&&(t.p=n.fileName)}}))}_renameAudioAssets(){const t=new Map;this.animations.forEach((e=>{t.set(e.id,e.audioAssets)}));let e=0;t.forEach((t=>{e+=t.length}));for(let t=this.animations.length-1;t>=0;t-=1){const i=this.animations.at(t);if(i)for(let t=i.audioAssets.length-1;t>=0;t-=1){const n=i.audioAssets.at(t);n&&(this._renameAudio(i,`audio_${e}`,n.id),e-=1)}}}_addLottieAnimation(t){if(this._animationsMap.get(t.id))throw new St(\"Duplicate animation id detected, aborting.\");return this._animationsMap.set(t.id,t),this}async _findAssetsAndInline(t){const e=t.data?.assets;if(!e)throw new St(\"Failed to inline assets, the animation's assets are undefined.\");const i=this.getImages(),n=this.getAudio();for(const t of e)if(Ct(t))for(const e of i)e.fileName===t.p&&(t.e=1,t.u=\"\",t.p=await e.toDataURL());else if(qt(t))for(const e of n)e.fileName===t.p&&(t.e=1,t.u=\"\",t.p=await e.toDataURL());return t}async getAnimation(t,e){if(!e?.inlineAssets)return this._animationsMap.get(t);let i=this._animationsMap.get(t);if(!i)throw new St(\"Failed to find animation.\");return i=await this._findAssetsAndInline(i),i}getAnimations(){return Array.from(this._animationsMap)}removeAnimation(t){const e=this._animationsMap.get(t);if(e){const t=e.themes;for(const i of t)this.unscopeTheme({animationId:e.id,themeId:i.id});this._animationsMap.delete(e.id)}return this}getImages(){const t=[];return this.animations.map((e=>t.push(...e.imageAssets))),t}getAudio(){const t=[];return this.animations.map((e=>t.push(...e.audioAssets))),t}getTheme(t){return this._themesMap.get(t)}_buildManifest(){const t=Array.from(this._animationsMap.values()),e=Array.from(this._themesMap.values()),i=Array.from(this._stateMachinesMap.values()),n=t.find((t=>t.defaultActiveAnimation))?.id??\"\",r={version:this.version,generator:this.generator,animations:t.map((t=>({id:t.id,...t.name?{name:t.name}:{},...t.initialTheme?{initialTheme:t.initialTheme}:{},...t.background?{background:t.background}:{},...t.themes.length>0?{themes:t.themes.map((t=>t.id))}:{}})))};return e.length>0&&(r.themes=e.map((t=>({id:t.id,...t.name?{name:t.name}:{}})))),i.length>0&&(r.stateMachines=i.map((t=>({id:t.id,...t.name?{name:t.name}:{}})))),n&&(r.initial={animation:n}),r}async build(){this._buildManifest();for(const t of this.animations)await t.toJSON();this.animations.length>1&&(this._renameImageAssets(),this._renameAudioAssets());const t=[],e=[];for(const i of this.plugins)i.parallel?t.push(i):e.push(i);await Promise.all(t.map((async t=>t.onBuild())));for(const t of e)await t.onBuild();return this}async toBlob(t=void 0){const e=await this.toArrayBuffer(t);return new Blob([e],{type:\"application/zip\"})}async fromURL(t){if(!Vt(t))throw new St(\"Invalid URL\");try{const e=await fetch(t);if(!e.ok)throw new St(e.statusText);const i=await e.arrayBuffer();return this.fromArrayBuffer(i)}catch(t){if(t instanceof Error)throw new St(t.message)}throw new St(\"Unknown error\")}merge(...t){const e=this.create();for(const i of t)i.themes.forEach((t=>{e.addTheme({id:t.id,name:t.name,data:t.data})})),i.animations.forEach((t=>{t.data?e.addAnimation({id:t.id,name:t.name,data:t.data}):t.url&&e.addAnimation({id:t.id,name:t.name,url:t.url}),t.themes.forEach((i=>{e.scopeTheme({animationId:t.id,themeId:i.id})}))})),i.stateMachines.forEach((t=>{const i={id:t.id,name:t.name,data:{states:t.states,descriptor:{initial:t.initial},listeners:t.listeners,triggers:t.triggers},zipOptions:t.zipOptions};e.addStateMachine(i)}));return e}addTheme(t){const e=new yi(t);return this._themesMap.set(e.id,e),this}removeTheme(t){const e=this._themesMap.get(t);if(e){for(const t of this.animations)t.themes.includes(e)&&t.unscopeTheme(e.id);this._themesMap.delete(e.id)}return this}scopeTheme({animationId:t,themeId:e}){const i=this._themesMap.get(e);if(!i)throw new St(`Failed to find theme with id ${e}`);const n=this._animationsMap.get(t);if(!n)throw new St(`Failed to find animation with id ${t}`);return n.scopeTheme(i),this}unscopeTheme({animationId:t,themeId:e}){const i=this._themesMap.get(e);if(!i)throw new St(`Failed to find theme with id ${e}`);const n=this._animationsMap.get(t);if(!n)throw new St(`Failed to find animation with id ${t}`);return n.unscopeTheme(i.id),this}addStateMachine(t){const e=new wi(t);return this._stateMachinesMap.set(t.id,e),this}getStateMachine(t){return this._stateMachinesMap.get(t)}removeStateMachine(t){return this._stateMachinesMap.delete(t),this}_requireValidDescription(t){if(\"string\"!=typeof t)throw new St(\"Invalid description\")}_requireValidGenerator(t){if(\"string\"!=typeof t)throw new St(\"Invalid generator\")}_requireValidKeywords(t){if(\"string\"!=typeof t)throw new St(\"Invalid keywords\")}_requireValidVersion(t){if(\"string\"!=typeof t)throw new St(\"Invalid version\")}_requireValidCustomData(t){if(!t)throw new St(\"Invalid customData\")}},Ai=class{constructor(t){bt(this,\"_name\"),bt(this,\"_data\"),bt(this,\"_id\",\"\"),bt(this,\"_url\"),bt(this,\"_zipOptions\"),bt(this,\"_defaultActiveAnimation\"),bt(this,\"_imageAssets\",[]),bt(this,\"_audioAssets\",[]),bt(this,\"_themesMap\",new Map),bt(this,\"_initialTheme\",null),bt(this,\"_background\",null),this._requireValidOptions(t),this._id=t.id,this._name=t.name,this._zipOptions=t.zipOptions??{},t.data&&(this._data=t.data),t.url&&(this._url=t.url),this._background=t.background??null,this._initialTheme=t.initialTheme??null,this._defaultActiveAnimation=t.defaultActiveAnimation??!1}async toBase64(){throw new St(\"lottie animation controls tobase64 not implemented!\")}get zipOptions(){return this._zipOptions}set zipOptions(t){this._zipOptions=t}get id(){return this._id}set id(t){this._requireValidId(t),this._id=t}get name(){return this._name}set name(t){this._name=t}get background(){return this._background}set background(t){this._background=t}get initialTheme(){return this._initialTheme}set initialTheme(t){this._initialTheme=t}get themes(){return Array.from(this._themesMap.values())}set themes(t){this._themesMap=new Map,t.forEach((t=>{this._themesMap.set(t.id,t)}))}get imageAssets(){return this._imageAssets}set imageAssets(t){this._imageAssets=t}get audioAssets(){return this._audioAssets}set audioAssets(t){this._audioAssets=t}get data(){return this._data}set data(t){this._requireValidLottieData(t),this._data=t}get url(){return this._url}set url(t){this._requireValidUrl(t),this._url=t}get defaultActiveAnimation(){return this._defaultActiveAnimation}set defaultActiveAnimation(t){this._defaultActiveAnimation=t}scopeTheme(t){this._themesMap.set(t.id,t)}unscopeTheme(t){this._themesMap.delete(t)}async toArrayBuffer(t){const e=await this.toJSON(t);return(new TextEncoder).encode(JSON.stringify(e)).buffer}async _extractImageAssets(){throw new St(\"_extractImageAssets(): Promise<boolean> method not implemented in concrete class\")}async _extractAudioAssets(){throw new St(\"_extractAudioAssets(): Promise<boolean> method not implemented in concrete class\")}async toBlob(t){const e=await this.toJSON(t);return new Blob([JSON.stringify(e)],{type:\"application/json\"})}async toJSON(t){if(this._url&&!this._data&&(this._data=await this._fromUrl(this._url)),this._requireValidLottieData(this._data),this._data.assets?.length&&(await this._extractImageAssets(),await this._extractAudioAssets(),t?.inlineAssets)){const t=this.data?.assets;if(!t)throw new St(\"Failed to inline assets, the animation's assets are undefined.\");const e=this.imageAssets,i=this.audioAssets;for(const n of t)if(\"w\"in n&&\"h\"in n&&!(\"xt\"in n)&&\"p\"in n)for(const t of e)t.fileName===n.p&&(n.e=1,n.u=\"\",n.p=await t.toDataURL());else if(qt(n))for(const t of i)t.fileName===n.p&&(n.e=1,n.u=\"\",n.p=await t.toDataURL())}return this._data}async _fromUrl(t){const e=await fetch(t),i=await e.text();let n;try{n=JSON.parse(i)}catch(t){if(t instanceof Error)throw new St(`${t.message}: Invalid json returned from url`)}return this._requireValidLottieData(n),n}_requireValidUrl(t){try{new URL(t||\"\")}catch(t){throw new St(\"Invalid animation url\")}}_requireValidLottieData(t){if(![\"v\",\"ip\",\"op\",\"layers\",\"fr\",\"w\",\"h\"].every((e=>Object.prototype.hasOwnProperty.call(t,e))))throw new St(\"Received invalid Lottie data.\")}_requireValidId(t){if(!t)throw new St(\"Invalid animation id\")}_requireValidOptions(t){if(this._requireValidId(t.id),!t.data&&!t.url)throw new St(\"No data or url provided.\");t.data&&this._requireValidLottieData(t.data),t.url&&this._requireValidUrl(t.url)}},vi=class{constructor(t){bt(this,\"_data\"),bt(this,\"_id\",\"\"),bt(this,\"_fileName\",\"\"),bt(this,\"_parentAnimations\"),bt(this,\"_zipOptions\"),this._requireValidId(t.id),this._requireValidFileName(t.fileName),this._zipOptions=t.zipOptions??{},t.data&&(this._data=t.data),t.id&&(this._id=t.id),t.fileName&&(this._fileName=t.fileName),this._parentAnimations=t.parentAnimations||[]}get zipOptions(){return this._zipOptions}set zipOptions(t){this._zipOptions=t}_requireValidId(t){if(!t)throw new St(\"Invalid image id\")}_requireValidFileName(t){if(!t)throw new St(\"Invalid image fileName\")}get fileName(){return this._fileName}set fileName(t){this._requireValidFileName(t),this._fileName=t}get id(){return this._id}set id(t){this._requireValidId(t),this._id=t}get data(){return this._data}set data(t){if(!t)throw new St(\"Invalid data\");this._data=t}get parentAnimations(){return this._parentAnimations}set parentAnimations(t){this._parentAnimations=t}async toDataURL(){if(this._data&&this._isDataURL(this._data))return this.data;const t=await this.toArrayBuffer();return Pt(new Uint8Array(t))}renameImage(t){if(this.id=t,this.fileName){let e=this.fileName.split(\".\").pop();e||(e=\".png\"),this.fileName=`${t}.${e}`}}async toArrayBuffer(){return await(await this.toBlob()).arrayBuffer()}async toBlob(){if(!this._data)throw new St(\"Invalid image data.\");if(this._isDataURL(this._data)){const t=this._data,[e,i]=t.split(\",\");if((!e||!i)&&t.length)return new Blob([t]);if(!e||!i)throw new St(\"Invalid image data.\");const n=e.replace(\"data:\",\"\").replace(/;base64$/,\"\");return new Blob([i],{type:n})}if(this._isArrayBuffer(this._data))return new Blob([this._data]);if(this._isBlob(this._data))return this._data;throw new St(\"Invalid image data.\")}async _fromUrlToBlob(t){return(await fetch(t)).blob()}_isArrayBuffer(t){return t instanceof ArrayBuffer}_isDataURL(t){return\"string\"==typeof t&&t.startsWith(\"data:\")}_isBlob(t){return t instanceof Blob}},bi=class{constructor(t){bt(this,\"_data\"),bt(this,\"_id\",\"\"),bt(this,\"_url\"),bt(this,\"_fileName\",\"\"),bt(this,\"_parentAnimations\"),bt(this,\"_zipOptions\"),this._requireValidId(t.id),this._requireValidFileName(t.fileName),this._zipOptions=t.zipOptions??{},t.data&&(this._data=t.data),t.id&&(this._id=t.id),t.url&&(this._url=t.url),t.fileName&&(this._fileName=t.fileName),this._parentAnimations=t.parentAnimations||[]}get zipOptions(){return this._zipOptions}set zipOptions(t){this._zipOptions=t}get fileName(){return this._fileName}set fileName(t){if(!t)throw new St(\"Invalid audio file name\",\"ASSET_NOT_FOUND\");this._fileName=t}get id(){return this._id}set id(t){if(!t)throw new St(\"Invalid audio id\",\"ASSET_NOT_FOUND\");this._id=t}get data(){return this._data}set data(t){if(!t)throw new St(\"Invalid data\");this._data=t}get parentAnimations(){return this._parentAnimations}set parentAnimations(t){this._parentAnimations=t}async toDataURL(){if(this._data&&this._isDataURL(this._data))return this.data;const t=await this.toArrayBuffer();return Pt(new Uint8Array(t))}renameAudio(t){if(this.id=t,this.fileName){let e=this.fileName.split(\".\").pop();e||(e=\".png\"),this.fileName=`${t}.${e}`}}async toArrayBuffer(){return await(await this.toBlob()).arrayBuffer()}async toBlob(){if(!this._data&&this._url&&(this._data=await this._fromUrlToBlob(this._url)),!this._data)throw new Error(\"Invalid data\");if(this._isDataURL(this._data)){const t=this._data,[e,i]=t.split(\",\");if((!e||!i)&&t.length)return new Blob([t]);if(!e||!i)throw new Error(\"Invalid data\");const n=e.replace(\"data:\",\"\").replace(/;base64$/,\"\");return new Blob([i],{type:n})}if(this._isArrayBuffer(this._data))return new Blob([this._data]);if(this._isBlob(this._data))return this._data;throw new Error(\"Invalid data\")}async _fromUrlToBlob(t){return(await fetch(t)).blob()}_isArrayBuffer(t){return t instanceof ArrayBuffer}_isDataURL(t){return\"string\"==typeof t&&t.startsWith(\"data:\")}_isBlob(t){return t instanceof Blob}_requireValidId(t){if(!t)throw new St(\"Invalid audio id\")}_requireValidFileName(t){if(!t)throw new St(\"Invalid audio fileName\")}},Ii=class extends bi{constructor(t){super(t)}},Ni=class extends vi{constructor(t){super(t)}},Oi=class extends Ai{constructor(t){super(t)}async toBase64(){const t=await this.toArrayBuffer();if(\"undefined\"==typeof window)return M.from(t).toString(\"base64\");const e=new Uint8Array(t).reduce(((t,e)=>t+String.fromCharCode(e)),\"\");return window.btoa(e)}async _extractImageAssets(){if(!this._data)throw new St(\"Failed to extract image assets: Animation data does not exist\");const t=this._data.assets;if(!t)throw new St(\"Failed to extract image assets: No assets found inside animation\");for(const e of t)if(\"w\"in e&&\"h\"in e&&!(\"xt\"in e)&&\"p\"in e){const t=e.p.split(\",\");if(!t.length||!t[0]||!t[1])break;let i=null;i=xt(e.p);const n=`${e.id}.${i}`;this._imageAssets.push(new Ni({data:e.p,id:e.id,fileName:n,parentAnimations:[this]})),e.p=n,e.u=\"/i/\",e.e=0}return!1}async _extractAudioAssets(){if(!this._data)throw new St(\"Failed to extract audio assets: Animation data does not exist\");const t=this._data.assets;if(!t)throw new St(\"Failed to extract image assets: No assets found inside animation\");for(const e of t)if(qt(e)){const t=e.p.split(\",\");if(!t.length||!t[0]||!t[1])break;let i=null;i=xt(e.p);const n=`${e.id}.${i}`;this._audioAssets.push(new Ii({data:e.p,id:e.id,fileName:n,parentAnimations:[this]})),e.p=n,e.u=\"/u/\",e.e=0}return!1}},Ei=function(t,e){var i=\"function\"==typeof Symbol&&t[Symbol.iterator];if(!i)return t;var n,r,a=i.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=a.next()).done;)s.push(n.value)}catch(t){r={error:t}}finally{try{n&&!n.done&&(i=a.return)&&i.call(a)}finally{if(r)throw r.error}}return s},Ti=function(){function t(t,e,i){this.document=t,this.glayScaleCalculator=e,this.resizer=i}return t.prototype.createCanvasRenderingContext2D=function(t,e){var i=this.document.createElement(\"canvas\");i.width=t,i.height=e,i.setAttribute(\"style\",\"image-rendering: -webkit-optimize-contrast; image-rendering: crisp-edges;\");var n=i.getContext(\"2d\");if(null===n)throw new ReferenceError(\"undefined CanvasRenderingContext2D\");return n.mozImageSmoothingEnabled=!0,n.webkitImageSmoothingEnabled=!0,n.msImageSmoothingEnabled=!0,n.imageSmoothingEnabled=!0,n},t.prototype.convert=function(t){var e=this,i=new Image,n=new Promise((function(t){i.onload=function(){var n=e.createCanvasRenderingContext2D(i.width,i.height);n.drawImage(i,0,0,i.width,i.height);var r=n.getImageData(0,0,i.width,i.height).data;t(r)}})).then((function(n){return e.resizer.resize(n,i.width,i.height,t.width,t.height)})).then((function(t){var i=function(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t}([],Ei(Array(t.length/4).keys())).map((function(i){var n=4*i,r=Ei([t[n],t[n+1],t[n+2]],3),a=r[0],s=r[1],o=r[2];return e.glayScaleCalculator(a,s,o)}));return new Uint8ClampedArray(i)}));return i.src=t.url.toString(),n},t}(),Bi=Ti,Ui=function(){function t(t,e){void 0===e&&(e=8),this.url=t,this.hashSize=e,this.width=e+1,this.height=e}return t.prototype.calculateArea=function(){return this.width*this.height},t}(),Di=(ge=Tt(),we=null!=ge?mt(_t(ge)):{},((t,e,i,n)=>{if(e&&\"object\"==typeof e||\"function\"==typeof e)for(let r of yt(e))At.call(t,r)||r===i||gt(t,r,{get:()=>e[r],enumerable:!(n=wt(e,r))||n.enumerable});return t})(ge&&ge.__esModule?we:gt(we,\"default\",{value:ge,enumerable:!0}),ge)),Mi=function(){function t(){}return t.prototype.resize=function(t,e,i,n,r){var a=new Si(e,i,t),s=new Si(n,r,new Uint8ClampedArray(n*r*4));return(0,Di.lanczos)(a,s),s.data},t}(),Si=function(){return function(t,e,i){this.width=t,this.height=e,this.data=i}}(),Li=function(){function t(t){if(t.split(\"\").find((function(t){return\"1\"!==t&&\"0\"!==t})))throw new TypeError(\"Not bits.\");this.rawHash=t}return t.prototype.getHammingDistance=function(t){if(this.rawHash.length!==t.rawHash.length)throw new TypeError(\"Not equal to hash length.\");var e=t.rawHash.split(\"\");return this.rawHash.split(\"\").filter((function(t,i){return t!==(e[i]||\"0\")})).length},t.prototype.toString=function(){return this.calcuateHexadecimal(this.rawHash.split(\"\").map((function(t){return\"1\"===t?1:0})))},t.prototype.arrayChunk=function(t,e){return function(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t}([],function(t,e){var i=\"function\"==typeof Symbol&&t[Symbol.iterator];if(!i)return t;var n,r,a=i.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=a.next()).done;)s.push(n.value)}catch(t){r={error:t}}finally{try{n&&!n.done&&(i=a.return)&&i.call(a)}finally{if(r)throw r.error}}return s}(Array(Math.ceil(t.length/e)).keys())).map((function(i){return t.slice(i*e,i*e+e)}))},t.prototype.calcuateHexadecimal=function(t){return this.arrayChunk(t,4).map((function(t){return parseInt(t.join(\"\"),2).toString(16)})).join(\"\")},t}(),Ri=Li,xi=function(){function t(t){this.document=t}return t.prototype.generateByImage=function(t,e){e.width=t.width,e.height=t.height;var i=this.document.createElement(\"canvas\").getContext(\"2d\");if(null===i)throw new ReferenceError(\"undefined CanvasRenderingContext2D\");return i.drawImage(e,0,0,t.width,t.height),this.generate(t,i)},t.prototype.generateByCanvasRenderingContext2D=function(t,e){var i=e.getImageData(0,0,t.width,t.height).data,n=new Uint8ClampedArray(function(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t}([],function(t,e){var i=\"function\"==typeof Symbol&&t[Symbol.iterator];if(!i)return t;var n,r,a=i.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=a.next()).done;)s.push(n.value)}catch(t){r={error:t}}finally{try{n&&!n.done&&(i=a.return)&&i.call(a)}finally{if(r)throw r.error}}return s}(Array(i.length/4).keys())).map((function(t){return i[4*t]})));return this.generate(t,n)},t.prototype.generateByUint8ClampedArray=function(t,e){if(e.length!==t.calculateArea())throw new Error(\"Not convertable grayArray, convertable grayArray length is \"+t.calculateArea());var i=Array.from(e).map((function(t,e,i){return t<=i[e+1]?1:0})).filter((function(e,i){return(i+1)%t.width!=0})).join(\"\");return new Ri(i)},t.prototype.generate=function(t,e){if(e instanceof HTMLImageElement)return this.generateByImage(t,e);if(e instanceof CanvasRenderingContext2D)return this.generateByCanvasRenderingContext2D(t,e);if(e instanceof Uint8ClampedArray)return this.generateByUint8ClampedArray(t,e);throw new TypeError(\"Not generatable glay image source.\")},t}(),Vi=xi;function Pi(t,e,i){return Math.round(299*t/1e3+587*e/1e3+114*i/1e3)}var Ci=function(t,e,i,n){return new(i||(i=Promise))((function(e,r){function a(t){try{o(n.next(t))}catch(t){r(t)}}function s(t){try{o(n.throw(t))}catch(t){r(t)}}function o(t){var n;t.done?e(t.value):(n=t.value,n instanceof i?n:new i((function(t){t(n)}))).then(a,s)}o((n=n.apply(t,[])).next())}))},qi=function(t,e){var i,n,r,a,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return a={next:o(0),throw:o(1),return:o(2)},\"function\"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function o(a){return function(o){return function(a){if(i)throw new TypeError(\"Generator is already executing.\");for(;s;)try{if(i=1,n&&(r=2&a[0]?n.return:a[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,a[1])).done)return r;switch(n=0,r&&(a=[2&a[0],r.value]),a[0]){case 0:case 1:r=a;break;case 4:return s.label++,{value:a[1],done:!1};case 5:s.label++,n=a[1],a=[0];continue;case 7:a=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!r||a[1]>r[0]&&a[1]<r[3])){s.label=a[1];break}if(6===a[0]&&s.label<r[1]){s.label=r[1],r=a;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(a);break}r[2]&&s.ops.pop(),s.trys.pop();continue}a=e.call(t,s)}catch(t){a=[6,t],n=0}finally{i=r=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,o])}}},zi=function(){function t(t,e){void 0===t&&(t=null),void 0===e&&(e=window.document),null===t&&(t=new Bi(e,Pi,new Mi)),this.dHashConverter=t,this.generator=new Vi(e)}return t.prototype.build=function(t,e){return void 0===e&&(e=8),Ci(this,0,void 0,(function(){var i,n;return qi(this,(function(r){switch(r.label){case 0:return i=new Ui(t,e),[4,this.dHashConverter.convert(i)];case 1:return n=r.sent(),[2,this.generator.generate(i,n)]}}))}))},t}(),ji=class{constructor(t){bt(this,\"dotlottie\"),bt(this,\"_parallel\",!1),this.dotlottie=void 0,t?.parallel&&(this._parallel=t.parallel)}install(t){this.dotlottie=t}uninstall(){this.dotlottie=void 0}get parallel(){return this._parallel}set parallel(t){this._parallel=t}async onBuild(){throw new St(\"dotlottie-plugin build Not implemented!\")}_requireDotLottie(t){if(!t)throw new St(\"dotLottie context is null inside of duplicate image detector plugin.\")}},ki=class extends ji{async generatePhash(t){throw new St(\"generatePhash(image: LottieImageCommon): Promise<Hash> is not implemented in concrete class.\")}distanceTo(t,e){throw new St(\"distanceTo(_imageHash: string, _targetImageHash: string): Promise<number> is not implemented in concrete class.\")}async _createRecordOfDuplicates(){this._requireDotLottie(this.dotlottie);const t=[],e={};for(const e of this.dotlottie.animations)for(const i of e.imageAssets)t.push({excludeFromExport:!1,image:i,hash:await this.generatePhash(i)});for(const i of t)for(const n of t)i.image.id!==n.image.id&&!i.excludeFromExport&&!n.excludeFromExport&&i.hash&&n.hash&&this.distanceTo(i.hash,n.hash)<5&&(e[i.image.fileName]||e[n.image.fileName]?e[n.image.fileName]&&(e[n.image.fileName]?.find((t=>t.id===i.image.id))||(i.excludeFromExport=!0,e[n.image.fileName]?.push(i.image))):(n.excludeFromExport=!0,e[i.image.fileName]=[n.image]));return e}adjustDuplicateImageAssetPath(t,e){for(const i in e)i&&e[i]?.forEach((e=>{if(t.data){const n=t.data.assets;n&&n.forEach((t=>{if(\"w\"in t&&\"h\"in t&&t.p===e.fileName){const e=i;t.p=e}}))}}))}async onBuild(){this._requireDotLottie(this.dotlottie);const t=await this._createRecordOfDuplicates();this.dotlottie.animations.forEach((e=>{this.adjustDuplicateImageAssetPath(e,t)}));const e={},i=this.dotlottie.getImages();for(const n in t)if(n)for(const t of i)t.fileName===n&&void 0!==t.data&&(e[n]=new Ni({data:t.data,id:t.id,fileName:t.fileName}));if(Object.keys(e).length!==Object.keys(t).length)throw new St(\"The number of cloned images does not match the number of duplicate keys.\");for(const i in t)i&&t[i]?.forEach((t=>{if(t.parentAnimations.length)for(const n of t.parentAnimations){n.imageAssets.splice(n.imageAssets.indexOf(t),1);const r=e[i];void 0!==r&&(n.imageAssets.push(r),r.parentAnimations.push(n))}}))}},$i=class extends ki{async generatePhash(t){const e=new zi,i=new URL(await t.toDataURL());return(await e.build(i)).rawHash}distanceTo(t,e){const i=new Ri(t),n=new Ri(e);return i.getHammingDistance(n)}};async function Fi(t){if(\"2\"!==await $t(new Uint8Array(t))){const e=new Yi,i=await(new ln).fromArrayBuffer(t),n=i.animations.map((t=>t.id));for(const t of n){const n=await i.getAnimation(t,{inlineAssets:!0});n&&n.data&&e.addAnimation({data:n.data,id:t})}return await e.build(),e}return(new Yi).fromArrayBuffer(t)}var Yi=class r extends _i{constructor(t){if(super(t),this.enableDuplicateImageOptimization){const t=new $i;t.install(this),this._plugins.push(t)}}addAnimation(t){const e=new Oi(t);if(this._animationsMap.get(t.id))throw new St(\"Duplicate animation id detected, aborting.\");return this._animationsMap.set(e.id,e),this}async toBase64(t){const e=await this.toArrayBuffer(t),i=new Uint8Array(e).reduce(((t,e)=>t+String.fromCharCode(e)),\"\");return window.btoa(i)}async download(t,e){const i=await this.toBlob(e),n=URL.createObjectURL(i),r=document.createElement(\"a\");r.href=n,r.download=t,r.style.display=\"none\",document.body.append(r),r.click(),setTimeout((()=>{URL.revokeObjectURL(n),r.remove()}),1e3)}create(t){return new r(t)}async toArrayBuffer(t){const e=this._buildManifest(),r={\"manifest.json\":[i(JSON.stringify(e)),{}]};for(const t of this.animations){const e=await t.toJSON();r[`a/${t.id}.json`]=[i(JSON.stringify(e)),t.zipOptions];const n=t.imageAssets,a=t.audioAssets;for(const t of n){const e=await t.toDataURL();r[`i/${t.fileName}`]=[Lt(e),t.zipOptions]}for(const t of a){const e=await t.toDataURL();r[`u/${t.fileName}`]=[Lt(e),t.zipOptions]}}for(const t of this.themes){const e=await t.toString();r[`t/${t.id}.json`]=[i(e),t.zipOptions]}for(const t of this.stateMachines){const e=t.toString();r[`s/${t.id}.json`]=[i(e),t.zipOptions]}return await new Promise(((e,i)=>{n(r,t?.zipOptions||{},((t,n)=>{t?i(t):e(n.buffer)}))}))}async fromArrayBuffer(i){if(\"2\"!==await $t(new Uint8Array(i)))return Fi(i);const n=new r;try{const r=await new Promise(((e,n)=>{t(new Uint8Array(i),((t,i)=>{t&&n(t),e(i)}))})),a=[],s=[];if(!(r[\"manifest.json\"]instanceof Uint8Array))throw new St(\"Invalid buffer\");try{const t=JSON.parse(e(r[\"manifest.json\"],!1)),{generator:i}=t;i&&(this._requireValidGenerator(i),n.setGenerator(i));for(const i of Object.keys(r)){const o=e(r[i],!0);if(i.startsWith(\"a/\")&&i.endsWith(\".json\")){const e=/a\\/(.+)\\.json/u.exec(i)?.[1];if(!e)throw new St(\"Invalid animation id\");const r=JSON.parse(o),a=t.animations.find((t=>t.id===e));if(void 0===a)throw new St(\"Animation not found inside manifest\");n.addAnimation({data:r,...a})}else if(i.startsWith(\"i/\")){const t=/i\\/(.+)\\./u.exec(i)?.[1];if(!t)throw new St(\"Invalid image id\");let e=btoa(o);e=`data:image/${xt(e)};base64,${e}`,a.push(new Ni({id:t,data:e,fileName:i.split(\"/\")[1]||\"\"}))}else if(i.startsWith(\"u/\")){const t=/u\\/(.+)\\./u.exec(i)?.[1];if(!t)throw new St(\"Invalid image id\");let e=btoa(o);e=`data:audio/${xt(e)};base64,${e}`,s.push(new Ii({id:t,data:e,fileName:i.split(\"/\")[1]||\"\"}))}else if(i.startsWith(\"t/\")&&i.endsWith(\".json\")){const e=/t\\/(.+)\\.json/u.exec(i)?.[1];if(!e)throw new St(\"Invalid theme id\");t.themes?.forEach((t=>{t.id===e&&n.addTheme({id:t.id,name:t.name,data:JSON.parse(o)})}))}else if(i.startsWith(\"s/\")&&i.endsWith(\".json\")){const e=/s\\/(.+)\\.json/u.exec(i)?.[1];if(!e)throw new St(\"Invalid theme id\");t.stateMachines?.forEach((t=>{t.id===e&&n.addStateMachine({id:t.id,name:t.name,data:JSON.parse(o)})}))}}for(const t of a)for(const e of n.animations)if(e.data){const i=e.data.assets;if(i)for(const n of i)\"w\"in n&&\"h\"in n&&n.p.includes(t.id)&&(t.parentAnimations.push(e),e.imageAssets.push(t))}for(const t of s)for(const e of n.animations)if(e.data){const i=e.data.assets;if(i)for(const n of i)qt(n)&&n.p.includes(t.id)&&(t.parentAnimations.push(e),e.audioAssets.push(t))}}catch(t){if(t instanceof Error)throw new St(`Invalid manifest inside buffer! ${t.message}`)}}catch(t){if(t instanceof Error)throw new St(t.message)}return n}},Ji=class extends yi{constructor(t){super(t)}},Hi=class extends wi{constructor(t){super(t)}},Wi=class{constructor(t){bt(this,\"_animationsMap\",new Map),bt(this,\"_plugins\",[]),bt(this,\"_author\",ae),bt(this,\"_description\"),bt(this,\"_generator\",ae),bt(this,\"_keywords\"),bt(this,\"_version\",\"1\"),bt(this,\"_revision\"),bt(this,\"_customData\"),bt(this,\"enableDuplicateImageOptimization\"),\"string\"==typeof t?.author&&(this._author=t.author),\"string\"==typeof t?.description&&(this._description=t.description),\"string\"==typeof t?.generator&&(this._generator=t.generator),\"string\"==typeof t?.keywords&&(this._keywords=t.keywords),\"number\"==typeof t?.revision&&(this._revision=t.revision),this.enableDuplicateImageOptimization=t?.enableDuplicateImageOptimization??!1}async toBase64(t=void 0){throw new St(\"toBase64() method not implemented in concrete class!\")}create(t){throw new St(\"create() method not implemented in concrete class!\")}async download(t,e=void 0){throw new St(\"download(fileName:string) method not implemented in concrete class!\")}addPlugins(...t){throw new St(\"addPlugins(...plugins: DotLottieV1Plugin[]) not implemented in concrete class!\")}addAnimation(t){throw new St(\"addAnimation(animationOptions: AnimationOptions) not implemented in concrete class!\")}async fromArrayBuffer(t){throw new St(\"fromArrayBuffer(arrayBuffer: ArrayBuffer): Promise<DotLottieCommonV1> not implemented in concrete class!\")}async toArrayBuffer(t=void 0){throw new St(\"toArrayBuffer(): Promise<ArrayBuffer> is not implemented in concrete class!\")}get plugins(){return this._plugins}get version(){return this._version}get revision(){return this._revision}get author(){return this._author}get description(){return this._description}get keywords(){return this._keywords}get generator(){return this._generator}get animations(){return Array.from(this._animationsMap.values())}get manifest(){return this._buildManifest()}get custom(){return this._customData}setCustomData(t){return this._customData=t??{},this}setAuthor(t){return this._author=t,this}setDescription(t){return this._description=\"string\"==typeof t?t:\"\",this}setGenerator(t){return this._generator=t,this}setKeywords(t){return this._keywords=\"string\"==typeof t?t:\"DotLottieV1\",this}setRevision(t){return this._revision=t,this}_renameImage(t,e,i){t.imageAssets.forEach((n=>{if(n.id===i){if(n.renameImage(e),!t.data)throw new St(\"No animation data available.\");const r=t.data.assets;if(!r)throw new St(\"No image assets to rename.\");for(const t of r)\"w\"in t&&\"h\"in t&&t.id===i&&(t.p=n.fileName)}}))}_renameImageAssets(){const t=new Map;this.animations.forEach((e=>{t.set(e.id,e.imageAssets)}));let e=0;t.forEach((t=>{e+=t.length}));for(let t=this.animations.length-1;t>=0;t-=1){const i=this.animations.at(t);if(i)for(let t=i.imageAssets.length-1;t>=0;t-=1){const n=i.imageAssets.at(t);n&&(this._renameImage(i,`image_${e}`,n.id),e-=1)}}}_renameAudio(t,e,i){t.audioAssets.forEach((n=>{if(n.id===i){if(n.renameAudio(e),!t.data)throw new St(\"No animation data available.\");const r=t.data.assets;if(!r)throw new St(\"No audio assets to rename.\");for(const t of r)qt(t)&&t.id===i&&(t.p=n.fileName)}}))}_renameAudioAssets(){const t=new Map;this.animations.forEach((e=>{t.set(e.id,e.audioAssets)}));let e=0;t.forEach((t=>{e+=t.length}));for(let t=this.animations.length-1;t>=0;t-=1){const i=this.animations.at(t);if(i)for(let t=i.audioAssets.length-1;t>=0;t-=1){const n=i.audioAssets.at(t);n&&(this._renameAudio(i,`audio_${e}`,n.id),e-=1)}}}_addLottieAnimation(t){if(this._animationsMap.get(t.id))throw new St(\"Duplicate animation id detected, aborting.\");return this._animationsMap.set(t.id,t),this}async _findAssetsAndInline(t){const e=t.data?.assets;if(!e)throw new St(\"Failed to inline assets, the animation's assets are undefined.\");const i=this.getImages(),n=this.getAudio();for(const t of e)if(Ct(t))for(const e of i)e.fileName===t.p&&(t.e=1,t.u=\"\",t.p=await e.toDataURL());else if(qt(t))for(const e of n)e.fileName===t.p&&(t.e=1,t.u=\"\",t.p=await e.toDataURL());return t}async getAnimation(t,e){if(!e?.inlineAssets)return this._animationsMap.get(t);let i=this._animationsMap.get(t);if(!i)throw new St(\"Failed to find animation.\");return i=await this._findAssetsAndInline(i),i}getAnimations(){return Array.from(this._animationsMap)}removeAnimation(t){const e=this._animationsMap.get(t);return e&&this._animationsMap.delete(e.id),this}getImages(){const t=[];return this.animations.map((e=>t.push(...e.imageAssets))),t}getAudio(){const t=[];return this.animations.map((e=>t.push(...e.audioAssets))),t}_buildManifest(){const t=Array.from(this._animationsMap.values()).map((t=>({id:t.id,...void 0!==t.autoplay&&{autoplay:t.autoplay},...void 0!==t.loop&&{loop:t.loop},...void 0!==t.speed&&{speed:t.speed},...void 0!==t.direction&&{direction:t.direction},...void 0!==t.playMode&&{playMode:t.playMode},...void 0!==t.hover&&{hover:t.hover},...void 0!==t.intermission&&{intermission:t.intermission},...void 0!==t.themeColor&&{themeColor:t.themeColor}})));return{version:this.version,generator:this.generator,author:this.author,...void 0!==this.keywords&&{keywords:this.keywords},...void 0!==this.revision&&{revision:this.revision},animations:t,...this.description&&\"\"!==this.description.trim()?{description:this.description}:{},...this._customData&&0!==Object.keys(this._customData).length?{custom:this._customData}:{}}}async build(){this._buildManifest();for(const t of this.animations)await t.toJSON();this.animations.length>1&&(this._renameImageAssets(),this._renameAudioAssets());const t=[],e=[];for(const i of this.plugins)i.parallel?t.push(i):e.push(i);await Promise.all(t.map((async t=>t.onBuild())));for(const t of e)await t.onBuild();return this}async toBlob(t=void 0){const e=await this.toArrayBuffer(t);return new Blob([e],{type:\"application/zip\"})}async fromURL(t){if(!Vt(t))throw new St(\"Invalid URL\");try{const e=await fetch(t);if(!e.ok)throw new St(e.statusText);const i=await e.arrayBuffer();return this.fromArrayBuffer(i)}catch(t){if(t instanceof Error)throw new St(t.message)}throw new St(\"Unknown error\")}merge(...t){const e=this.create();for(const i of t)i.animations.forEach((t=>{t.data?e.addAnimation({id:t.id,data:t.data}):t.url&&e.addAnimation({id:t.id,url:t.url})}));return e}_requireValidAuthor(t){if(\"string\"!=typeof t)throw new St(\"Invalid author\")}_requireValidDescription(t){if(\"string\"!=typeof t)throw new St(\"Invalid description\")}_requireValidGenerator(t){if(\"string\"!=typeof t)throw new St(\"Invalid generator\")}_requireValidKeywords(t){if(\"string\"!=typeof t)throw new St(\"Invalid keywords\")}_requireValidVersion(t){if(\"string\"!=typeof t)throw new St(\"Invalid version\")}_requireValidCustomData(t){if(!t)throw new St(\"Invalid customData\")}},Gi=(t=>(t.Bounce=\"bounce\",t.Normal=\"normal\",t))(Gi||{}),Ki=d(Gi),Zi=r({id:a(),autoplay:s(l()),loop:s(h([l(),u()])),speed:s(u()),direction:s(h([f(1),f(-1)])),playMode:s(Ki),hover:s(l()),intermission:s(u()),themeColor:s(a())}),Qi=r({version:s(a()),generator:s(a()),activeAnimationId:s(a()),animations:o(Zi),author:s(a()),custom:s(c(a(),p())),description:s(a()),keywords:s(a()),revision:s(u())}),Xi=class{constructor(t){bt(this,\"_data\"),bt(this,\"_id\",\"\"),bt(this,\"_url\"),bt(this,\"_direction\"),bt(this,\"_speed\"),bt(this,\"_playMode\"),bt(this,\"_loop\"),bt(this,\"_autoplay\"),bt(this,\"_hover\"),bt(this,\"_intermission\"),bt(this,\"_themeColor\"),bt(this,\"_zipOptions\"),bt(this,\"_defaultActiveAnimation\"),bt(this,\"_imageAssets\",[]),bt(this,\"_audioAssets\",[]),this._requireValidOptions(t),this._id=t.id,this._zipOptions=t.zipOptions??{},t.data&&(this._data=t.data),t.url&&(this._url=t.url),this._defaultActiveAnimation=t.defaultActiveAnimation??!1,\"number\"==typeof t.direction&&(this.direction=t.direction),\"number\"==typeof t.speed&&(this.speed=t.speed),\"string\"==typeof t.playMode&&(this.playMode=t.playMode),\"boolean\"!=typeof t.loop&&\"number\"!=typeof t.loop||(this.loop=t.loop),\"boolean\"==typeof t.autoplay&&(this.autoplay=t.autoplay),\"boolean\"==typeof t.hover&&(this.hover=t.hover),\"number\"==typeof t.intermission&&(this.intermission=t.intermission),\"string\"==typeof t.themeColor&&(this.themeColor=t.themeColor)}async toBase64(){throw new St(\"lottie animation controls tobase64 not implemented!\")}get zipOptions(){return this._zipOptions}set zipOptions(t){this._zipOptions=t}get id(){return this._id}set id(t){this._requireValidId(t),this._id=t}get imageAssets(){return this._imageAssets}set imageAssets(t){this._imageAssets=t}get audioAssets(){return this._audioAssets}set audioAssets(t){this._audioAssets=t}get data(){return this._data}set data(t){this._requireValidLottieData(t),this._data=t}get url(){return this._url}set url(t){this._requireValidUrl(t),this._url=t}get themeColor(){return this._themeColor}set themeColor(t){t&&this._requireValidThemeColor(t),this._themeColor=t}get direction(){return this._direction}set direction(t){this._direction=t}get speed(){return this._speed}set speed(t){\"number\"==typeof t&&this._requireValidSpeed(t),this._speed=t}get playMode(){return this._playMode}set playMode(t){\"string\"==typeof t&&this._requireValidPlayMode(t),this._playMode=t}get loop(){return this._loop}set loop(t){\"number\"!=typeof t&&\"boolean\"!=typeof t||this._requireValidLoop(t),this._loop=t}get autoplay(){return this._autoplay}set autoplay(t){\"boolean\"==typeof t&&this._requireValidAutoplay(t),this._autoplay=t}get defaultActiveAnimation(){return this._defaultActiveAnimation}set defaultActiveAnimation(t){this._defaultActiveAnimation=t}get hover(){return this._hover}set hover(t){\"boolean\"==typeof t&&this._requireValidHover(t),this._hover=t}get intermission(){return this._intermission}set intermission(t){\"number\"==typeof t&&this._requireValidIntermission(t),this._intermission=t}async toArrayBuffer(t){const e=await this.toJSON(t);return(new TextEncoder).encode(JSON.stringify(e)).buffer}async _extractImageAssets(){throw new St(\"_extractImageAssets(): Promise<boolean> method not implemented in concrete class\")}async _extractAudioAssets(){throw new St(\"_extractAudioAssets(): Promise<boolean> method not implemented in concrete class\")}async toBlob(t={}){const e=await this.toJSON(t);return new Blob([JSON.stringify(e)],{type:\"application/json\"})}async toJSON(t){if(this._url&&!this._data&&(this._data=await this._fromUrl(this._url)),this._requireValidLottieData(this._data),this._data.assets?.length&&(await this._extractImageAssets(),await this._extractAudioAssets(),t?.inlineAssets)){const t=this.data?.assets;if(!t)throw new St(\"Failed to inline assets, the animation's assets are undefined.\");const e=this.imageAssets,i=this.audioAssets;for(const n of t)if(\"w\"in n&&\"h\"in n&&!(\"xt\"in n)&&\"p\"in n)for(const t of e)t.fileName===n.p&&(n.e=1,n.u=\"\",n.p=await t.toDataURL());else if(qt(n))for(const t of i)t.fileName===n.p&&(n.e=1,n.u=\"\",n.p=await t.toDataURL())}return this._data}async _fromUrl(t){const e=await fetch(t),i=await e.text();let n;try{n=JSON.parse(i)}catch(t){if(t instanceof Error)throw new St(`${t.message}: Invalid json returned from url`)}return this._requireValidLottieData(n),n}_requireValidUrl(t){try{new URL(t||\"\")}catch(t){throw new St(\"Invalid animation url\")}}_requireValidLottieData(t){if(![\"v\",\"ip\",\"op\",\"layers\",\"fr\",\"w\",\"h\"].every((e=>Object.prototype.hasOwnProperty.call(t,e))))throw new St(\"Received invalid Lottie data.\")}_requireValidId(t){if(!t)throw new St(\"Invalid animation id\")}_requireValidDirection(t){if(-1!==t&&1!==t)throw new St(\"Direction can only be -1 (backwards) or 1 (forwards)\")}_requireValidIntermission(t){if(t<0||!Number.isInteger(t))throw new St(\"intermission must be a positive number\")}_requireValidLoop(t){if(\"number\"==typeof t&&(!Number.isInteger(t)||t<0))throw new St(\"loop must be a positive number or boolean\")}_requireValidOptions(t){if(this._requireValidId(t.id),!t.data&&!t.url)throw new St(\"No data or url provided.\");t.data&&this._requireValidLottieData(t.data),t.url&&this._requireValidUrl(t.url),t.direction&&this._requireValidDirection(t.direction),t.intermission&&this._requireValidIntermission(t.intermission),t.loop&&this._requireValidLoop(t.loop)}_requireValidSpeed(t){if(void 0!==t&&(\"number\"!=typeof t||t<0))throw new St(\"Speed must be a non-negative number\")}_requireValidPlayMode(t){const e=Object.values(Gi);if(void 0!==t&&!e.includes(t))throw new St(`playMode must be one of: ${e.join(\", \")}`)}_requireValidAutoplay(t){if(void 0!==t&&\"boolean\"!=typeof t)throw new St(\"autoplay must be a boolean\")}_requireValidHover(t){if(void 0!==t&&\"boolean\"!=typeof t)throw new St(\"Hover must be a boolean\")}_requireValidThemeColor(t){if(void 0!==t&&\"string\"!=typeof t)throw new St(\"themeColor must be a string and start with #\");if(void 0!==t&&!t.startsWith(\"#\"))throw new St(\"themeColor must be a string and start with #\")}},tn=class{constructor(t){bt(this,\"_data\"),bt(this,\"_id\",\"\"),bt(this,\"_fileName\",\"\"),bt(this,\"_parentAnimations\"),bt(this,\"_zipOptions\"),this._requireValidId(t.id),this._requireValidFileName(t.fileName),this._zipOptions=t.zipOptions??{},t.data&&(this._data=t.data),t.id&&(this._id=t.id),t.fileName&&(this._fileName=t.fileName),this._parentAnimations=t.parentAnimations||[]}get zipOptions(){return this._zipOptions}set zipOptions(t){this._zipOptions=t}_requireValidId(t){if(!t)throw new St(\"Invalid image id\")}_requireValidFileName(t){if(!t)throw new St(\"Invalid image fileName\")}get fileName(){return this._fileName}set fileName(t){this._requireValidFileName(t),this._fileName=t}get id(){return this._id}set id(t){this._requireValidId(t),this._id=t}get data(){return this._data}set data(t){if(!t)throw new St(\"Invalid data\");this._data=t}get parentAnimations(){return this._parentAnimations}set parentAnimations(t){this._parentAnimations=t}async toDataURL(){if(this._data&&this._isDataURL(this._data))return this.data;const t=await this.toArrayBuffer();return Pt(new Uint8Array(t))}renameImage(t){if(this.id=t,this.fileName){let e=this.fileName.split(\".\").pop();e||(e=\".png\"),this.fileName=`${t}.${e}`}}async toArrayBuffer(){return await(await this.toBlob()).arrayBuffer()}async toBlob(){if(!this._data)throw new St(\"Invalid image data.\");if(this._isDataURL(this._data)){const t=this._data,[e,i]=t.split(\",\");if((!e||!i)&&t.length)return new Blob([t]);if(!e||!i)throw new St(\"Invalid image data.\");const n=e.replace(\"data:\",\"\").replace(/;base64$/,\"\");return new Blob([i],{type:n})}if(this._isArrayBuffer(this._data))return new Blob([this._data]);if(this._isBlob(this._data))return this._data;throw new St(\"Invalid image data.\")}async _fromUrlToBlob(t){return(await fetch(t)).blob()}_isArrayBuffer(t){return t instanceof ArrayBuffer}_isDataURL(t){return\"string\"==typeof t&&t.startsWith(\"data:\")}_isBlob(t){return t instanceof Blob}},en=class{constructor(t){bt(this,\"_data\"),bt(this,\"_id\",\"\"),bt(this,\"_url\"),bt(this,\"_fileName\",\"\"),bt(this,\"_parentAnimations\"),bt(this,\"_zipOptions\"),this._requireValidId(t.id),this._requireValidFileName(t.fileName),this._zipOptions=t.zipOptions??{},t.data&&(this._data=t.data),t.id&&(this._id=t.id),t.url&&(this._url=t.url),t.fileName&&(this._fileName=t.fileName),this._parentAnimations=t.parentAnimations||[]}get zipOptions(){return this._zipOptions}set zipOptions(t){this._zipOptions=t}get fileName(){return this._fileName}set fileName(t){if(!t)throw new St(\"Invalid audio file name\",\"ASSET_NOT_FOUND\");this._fileName=t}get id(){return this._id}set id(t){if(!t)throw new St(\"Invalid audio id\",\"ASSET_NOT_FOUND\");this._id=t}get data(){return this._data}set data(t){if(!t)throw new St(\"Invalid data\");this._data=t}get parentAnimations(){return this._parentAnimations}set parentAnimations(t){this._parentAnimations=t}async toDataURL(){if(this._data&&this._isDataURL(this._data))return this.data;const t=await this.toArrayBuffer();return Pt(new Uint8Array(t))}renameAudio(t){if(this.id=t,this.fileName){let e=this.fileName.split(\".\").pop();e||(e=\".png\"),this.fileName=`${t}.${e}`}}async toArrayBuffer(){return await(await this.toBlob()).arrayBuffer()}async toBlob(){if(!this._data&&this._url&&(this._data=await this._fromUrlToBlob(this._url)),!this._data)throw new Error(\"Invalid data\");if(this._isDataURL(this._data)){const t=this._data,[e,i]=t.split(\",\");if((!e||!i)&&t.length)return new Blob([t]);if(!e||!i)throw new Error(\"Invalid data\");const n=e.replace(\"data:\",\"\").replace(/;base64$/,\"\");return new Blob([i],{type:n})}if(this._isArrayBuffer(this._data))return new Blob([this._data]);if(this._isBlob(this._data))return this._data;throw new Error(\"Invalid data\")}async _fromUrlToBlob(t){return(await fetch(t)).blob()}_isArrayBuffer(t){return t instanceof ArrayBuffer}_isDataURL(t){return\"string\"==typeof t&&t.startsWith(\"data:\")}_isBlob(t){return t instanceof Blob}_requireValidId(t){if(!t)throw new St(\"Invalid audio id\")}_requireValidFileName(t){if(!t)throw new St(\"Invalid audio fileName\")}},nn=class extends en{constructor(t){super(t)}},rn=class extends tn{constructor(t){super(t)}},an=class extends Xi{constructor(t){super(t)}async toBase64(){const t=await this.toArrayBuffer();if(\"undefined\"==typeof window)return M.from(t).toString(\"base64\");const e=new Uint8Array(t).reduce(((t,e)=>t+String.fromCharCode(e)),\"\");return window.btoa(e)}async _extractImageAssets(){if(!this._data)throw new St(\"Failed to extract image assets: Animation data does not exist\");const t=this._data.assets;if(!t)throw new St(\"Failed to extract image assets: No assets found inside animation\");for(const e of t)if(\"w\"in e&&\"h\"in e&&!(\"xt\"in e)&&\"p\"in e){const t=e.p.split(\",\");if(!t.length||!t[0]||!t[1])break;let i=null;i=xt(e.p);const n=`${e.id}.${i}`;this._imageAssets.push(new rn({data:e.p,id:e.id,fileName:n,parentAnimations:[this]})),e.p=n,e.u=\"/images/\",e.e=0}return!1}async _extractAudioAssets(){if(!this._data)throw new St(\"Failed to extract audio assets: Animation data does not exist\");const t=this._data.assets;if(!t)throw new St(\"Failed to extract image assets: No assets found inside animation\");for(const e of t)if(qt(e)){const t=e.p.split(\",\");if(!t.length||!t[0]||!t[1])break;let i=null;i=xt(e.p);const n=`${e.id}.${i}`;this._audioAssets.push(new nn({data:e.p,id:e.id,fileName:n,parentAnimations:[this]})),e.p=n,e.u=\"/audio/\",e.e=0}return!1}},sn=class{constructor(t){bt(this,\"dotLottieV1\"),bt(this,\"_parallel\",!1),this.dotLottieV1=void 0,t?.parallel&&(this._parallel=t.parallel)}install(t){this.dotLottieV1=t}uninstall(){this.dotLottieV1=void 0}get parallel(){return this._parallel}set parallel(t){this._parallel=t}async onBuild(){throw new St(\"DotLottieV1-plugin build Not implemented!\")}_requireDotLottieV1(t){if(!t)throw new St(\"DotLottieV1 context is null inside of duplicate image detector plugin.\")}},on=class extends sn{async generatePhash(t){throw new St(\"generatePhash(image: LottieImageCommonV1): Promise<Hash> is not implemented in concrete class.\")}distanceTo(t,e){throw new St(\"distanceTo(_imageHash: string, _targetImageHash: string): Promise<number> is not implemented in concrete class.\")}async _createRecordOfDuplicates(){this._requireDotLottieV1(this.dotLottieV1);const t=[],e={};for(const e of this.dotLottieV1.animations)for(const i of e.imageAssets)t.push({excludeFromExport:!1,image:i,hash:await this.generatePhash(i)});for(const i of t)for(const n of t)i.image.id!==n.image.id&&!i.excludeFromExport&&!n.excludeFromExport&&i.hash&&n.hash&&this.distanceTo(i.hash,n.hash)<5&&(e[i.image.fileName]||e[n.image.fileName]?e[n.image.fileName]&&(e[n.image.fileName]?.find((t=>t.id===i.image.id))||(i.excludeFromExport=!0,e[n.image.fileName]?.push(i.image))):(n.excludeFromExport=!0,e[i.image.fileName]=[n.image]));return e}adjustDuplicateImageAssetPath(t,e){for(const i in e)i&&e[i]?.forEach((e=>{if(t.data){const n=t.data.assets;n&&n.forEach((t=>{if(\"w\"in t&&\"h\"in t&&t.p===e.fileName){const e=i;t.p=e}}))}}))}async onBuild(){this._requireDotLottieV1(this.dotLottieV1);const t=await this._createRecordOfDuplicates();this.dotLottieV1.animations.forEach((e=>{this.adjustDuplicateImageAssetPath(e,t)}));const e={},i=this.dotLottieV1.getImages();for(const n in t)if(n)for(const t of i)t.fileName===n&&void 0!==t.data&&(e[n]=new rn({data:t.data,id:t.id,fileName:t.fileName}));if(Object.keys(e).length!==Object.keys(t).length)throw new St(\"The number of cloned images does not match the number of duplicate keys.\");for(const i in t)i&&t[i]?.forEach((t=>{if(t.parentAnimations.length)for(const n of t.parentAnimations){n.imageAssets.splice(n.imageAssets.indexOf(t),1);const r=e[i];void 0!==r&&(n.imageAssets.push(r),r.parentAnimations.push(n))}}))}},hn=class extends on{async generatePhash(t){const e=new zi,i=new URL(await t.toDataURL());return(await e.build(i)).rawHash}distanceTo(t,e){const i=new Ri(t),n=new Ri(e);return i.getHammingDistance(n)}};async function un(t){if(\"2\"===await $t(new Uint8Array(t))){const e=new ln,i=await(new Yi).fromArrayBuffer(t),n=i.animations.map((t=>t.id));for(const t of n){const n=await i.getAnimation(t,{inlineAssets:!0});n&&n.data&&e.addAnimation({data:n.data,id:t})}return await e.build(),e}return(new ln).fromArrayBuffer(t)}var ln=class r extends Wi{constructor(t){if(super(t),this.enableDuplicateImageOptimization){const t=new hn;t.install(this),this._plugins.push(t)}}addAnimation(t){const e=new an(t);if(this._animationsMap.get(t.id))throw new St(\"Duplicate animation id detected, aborting.\");return this._animationsMap.set(e.id,e),this}async toBase64(t){const e=await this.toArrayBuffer(t),i=new Uint8Array(e).reduce(((t,e)=>t+String.fromCharCode(e)),\"\");return window.btoa(i)}async download(t,e){const i=await this.toBlob(e),n=URL.createObjectURL(i),r=document.createElement(\"a\");r.href=n,r.download=t,r.style.display=\"none\",document.body.append(r),r.click(),setTimeout((()=>{URL.revokeObjectURL(n),r.remove()}),1e3)}create(t){return new r(t)}async toArrayBuffer(t){const e=this._buildManifest(),r={\"manifest.json\":[i(JSON.stringify(e)),{}]};for(const t of this.animations){const e=await t.toJSON();r[`animations/${t.id}.json`]=[i(JSON.stringify(e)),t.zipOptions];const n=t.imageAssets,a=t.audioAssets;for(const t of n){const e=await t.toDataURL();r[`images/${t.fileName}`]=[Lt(e),t.zipOptions]}for(const t of a){const e=await t.toDataURL();r[`audio/${t.fileName}`]=[Lt(e),t.zipOptions]}}return await new Promise(((e,i)=>{n(r,t?.zipOptions||{},((t,n)=>{t?i(t):e(n.buffer)}))}))}async fromArrayBuffer(i){if(\"2\"===await $t(new Uint8Array(i)))return un(i);const n=new r;try{const r=await new Promise(((e,n)=>{t(new Uint8Array(i),((t,i)=>{t&&n(t),e(i)}))})),a=[],s=[];if(!(r[\"manifest.json\"]instanceof Uint8Array))throw new St(\"Invalid buffer\");try{const t=JSON.parse(e(r[\"manifest.json\"],!1)),{author:i,custom:o,description:h,generator:u,keywords:l}=t;i&&(this._requireValidAuthor(i),n.setAuthor(i)),o&&(this._requireValidCustomData(o),n.setCustomData(o)),h&&(this._requireValidDescription(h),n.setDescription(h)),u&&(this._requireValidGenerator(u),n.setGenerator(u)),l&&(this._requireValidKeywords(l),n.setKeywords(l));for(const i of Object.keys(r)){const o=e(r[i],!0);if(i.startsWith(\"animations/\")&&i.endsWith(\".json\")){const e=/animations\\/(.+)\\.json/u.exec(i)?.[1];if(!e)throw new St(\"Invalid animation id\");const r=JSON.parse(o),a=t.animations.find((t=>t.id===e));if(void 0===a)throw new St(\"Animation not found inside manifest\");n.addAnimation({data:r,...a})}else if(i.startsWith(\"images/\")){const t=/images\\/(.+)\\./u.exec(i)?.[1];if(!t)throw new St(\"Invalid image id\");let e=btoa(o);e=`data:image/${xt(e)};base64,${e}`,a.push(new rn({id:t,data:e,fileName:i.split(\"/\")[1]||\"\"}))}else if(i.startsWith(\"audio/\")){const t=/audio\\/(.+)\\./u.exec(i)?.[1];if(!t)throw new St(\"Invalid image id\");let e=btoa(o);e=`data:audio/${xt(e)};base64,${e}`,s.push(new nn({id:t,data:e,fileName:i.split(\"/\")[1]||\"\"}))}}for(const t of a)for(const e of n.animations)if(e.data){const i=e.data.assets;if(i)for(const n of i)\"w\"in n&&\"h\"in n&&n.p.includes(t.id)&&(t.parentAnimations.push(e),e.imageAssets.push(t))}for(const t of s)for(const e of n.animations)if(e.data){const i=e.data.assets;if(i)for(const n of i)qt(n)&&n.p.includes(t.id)&&(t.parentAnimations.push(e),e.audioAssets.push(t))}}catch(t){if(t instanceof Error)throw new St(`Invalid manifest inside buffer! ${t.message}`)}}catch(t){if(t instanceof Error)throw new St(t.message)}return n}};function fn(t,e){return\"v1\"===t?new ln(e):new Yi(e)}export{ce as BooleanGuardSchema,Ze as BooleanTriggerSchema,ei as DescriptorSchema,Yi as DotLottie,_i as DotLottieCommon,Wi as DotLottieCommonV1,St as DotLottieError,wi as DotLottieStateMachineCommon,ii as DotLottieStateMachineSchema,ln as DotLottieV1,Mt as ErrorCodes,pe as EventGuardSchema,Qe as EventTriggerSchema,Ce as GlobalStateSchema,me as GuardSchema,ue as InitialObjectSchema,He as ListenerSchema,We as ListenersSchema,Oi as LottieAnimation,Ai as LottieAnimationCommon,Xi as LottieAnimationCommonV1,an as LottieAnimationV1,Ii as LottieAudio,bi as LottieAudioCommon,en as LottieAudioCommonV1,nn as LottieAudioV1,Ni as LottieImage,vi as LottieImageCommon,tn as LottieImageCommonV1,rn as LottieImageV1,Hi as LottieStateMachine,Ji as LottieTheme,yi as LottieThemeCommon,Ut as MIME_CODES,Dt as MIME_TO_EXTENSION,Bt as MIME_TYPES,se as ManifestAnimationSchema,Zi as ManifestAnimationSchemaV1,le as ManifestSchema,Qi as ManifestSchemaV1,he as ManifestStateMachineSchema,oe as ManifestThemeSchema,fe as NumericGuardSchema,Ge as NumericTriggerSchema,Je as OnCompleteSchema,Gi as PlayMode,Ki as PlayModeSchema,Pe as PlaybackStateSchema,ke as PointerDownSchema,$e as PointerEnterSchema,Ye as PointerExitSchema,Fe as PointerMoveSchema,je as PointerUpSchema,mi as RulesSchema,qe as StateSchema,ze as StatesSchema,de as StringGuardSchema,Ke as StringTriggerSchema,gi as ThemeDataSchema,ye as TransitionSchema,_e as TransitionsSchema,Xe as TriggerSchema,ti as TriggersSchema,Lt as base64ToUint8Array,Pt as dataUrlFromU8,Wt as getAllAudio,Xt as getAnimation,te as getAnimations,Ht as getAudio,$t as getDotLottieVersion,xt as getExtensionTypeFromBase64,Kt as getImage,Zt as getImages,kt as getManifest,Rt as getMimeTypeFromBase64,re as getStateMachine,ne as getStateMachines,ie as getTheme,ee as getThemes,Gt as inlineAudioAssets,Qt as inlineImageAssets,qt as isAudioAsset,Ct as isImageAsset,Vt as isValidURL,Yt as loadFromArrayBuffer,Jt as loadFromURL,fn as makeDotLottie,un as toDotLottieV1,Fi as toDotLottieV2,zt as unzipDotLottie,jt as unzipDotLottieFile,Ft as validateDotLottie};export default null;\n//# sourceMappingURL=/sm/de2589b5adf8346e474233be1d2cc49cb4e7ae4d86176550f07f515dd764a8b4.map", "/**\n * Bundled by jsDelivr using Rollup v2.79.2 and Terser v5.39.0.\n * Original file: /npm/fflate@0.8.2/esm/browser.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\nvar t={},n=Uint8Array,r=Uint16Array,i=Int32Array,e=new n([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),o=new n([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),a=new n([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),s=function(t,n){for(var e=new r(31),o=0;o<31;++o)e[o]=n+=1<<t[o-1];var a=new i(e[30]);for(o=1;o<30;++o)for(var s=e[o];s<e[o+1];++s)a[s]=s-e[o]<<5|o;return{b:e,r:a}},u=s(e,2),h=u.b,f=u.r;h[28]=258,f[258]=28;for(var l=s(o,0),c=l.b,p=l.r,v=new r(32768),d=0;d<32768;++d){var g=(43690&d)>>1|(21845&d)<<1;g=(61680&(g=(52428&g)>>2|(13107&g)<<2))>>4|(3855&g)<<4,v[d]=((65280&g)>>8|(255&g)<<8)>>1}var y=function(t,n,i){for(var e=t.length,o=0,a=new r(n);o<e;++o)t[o]&&++a[t[o]-1];var s,u=new r(n);for(o=1;o<n;++o)u[o]=u[o-1]+a[o-1]<<1;if(i){s=new r(1<<n);var h=15-n;for(o=0;o<e;++o)if(t[o])for(var f=o<<4|t[o],l=n-t[o],c=u[t[o]-1]++<<l,p=c|(1<<l)-1;c<=p;++c)s[v[c]>>h]=f}else for(s=new r(e),o=0;o<e;++o)t[o]&&(s[o]=v[u[t[o]-1]++]>>15-t[o]);return s},m=new n(288);for(d=0;d<144;++d)m[d]=8;for(d=144;d<256;++d)m[d]=9;for(d=256;d<280;++d)m[d]=7;for(d=280;d<288;++d)m[d]=8;var w=new n(32);for(d=0;d<32;++d)w[d]=5;var b=y(m,9,0),z=y(m,9,1),k=y(w,5,0),M=y(w,5,1),x=function(t){for(var n=t[0],r=1;r<t.length;++r)t[r]>n&&(n=t[r]);return n},S=function(t,n,r){var i=n/8|0;return(t[i]|t[i+1]<<8)>>(7&n)&r},C=function(t,n){var r=n/8|0;return(t[r]|t[r+1]<<8|t[r+2]<<16)>>(7&n)},A=function(t){return(t+7)/8|0},T=function(t,r,i){return(null==r||r<0)&&(r=0),(null==i||i>t.length)&&(i=t.length),new n(t.subarray(r,i))},I={UnexpectedEOF:0,InvalidBlockType:1,InvalidLengthLiteral:2,InvalidDistance:3,StreamFinished:4,NoStreamHandler:5,InvalidHeader:6,NoCallback:7,InvalidUTF8:8,ExtraFieldTooLong:9,InvalidDate:10,FilenameTooLong:11,StreamFinishing:12,InvalidZipData:13,UnknownCompressionMethod:14},D=[\"unexpected EOF\",\"invalid block type\",\"invalid length/literal\",\"invalid distance\",\"stream finished\",\"no stream handler\",,\"no callback\",\"invalid UTF-8 data\",\"extra field too long\",\"date not in range 1980-2099\",\"filename too long\",\"stream finishing\",\"invalid zip data\"],E=function(t,n,r){var i=new Error(n||D[t]);if(i.code=t,Error.captureStackTrace&&Error.captureStackTrace(i,E),!r)throw i;return i},F=function(t,r,i,s){var u=t.length,f=s?s.length:0;if(!u||r.f&&!r.l)return i||new n(0);var l=!i,p=l||2!=r.i,v=r.i;l&&(i=new n(3*u));var d=function(t){var r=i.length;if(t>r){var e=new n(Math.max(2*r,t));e.set(i),i=e}},g=r.f||0,m=r.p||0,w=r.b||0,b=r.l,k=r.d,I=r.m,D=r.n,F=8*u;do{if(!b){g=S(t,m,1);var O=S(t,m+1,3);if(m+=3,!O){var q=t[(W=A(m)+4)-4]|t[W-3]<<8,U=W+q;if(U>u){v&&E(0);break}p&&d(w+q),i.set(t.subarray(W,U),w),r.b=w+=q,r.p=m=8*U,r.f=g;continue}if(1==O)b=z,k=M,I=9,D=5;else if(2==O){var L=S(t,m,31)+257,Z=S(t,m+10,15)+4,$=L+S(t,m+5,31)+1;m+=14;for(var j=new n($),G=new n(19),H=0;H<Z;++H)G[a[H]]=S(t,m+3*H,7);m+=3*Z;var B=x(G),N=(1<<B)-1,R=y(G,B,1);for(H=0;H<$;){var W,Y=R[S(t,m,N)];if(m+=15&Y,(W=Y>>4)<16)j[H++]=W;else{var J=0,K=0;for(16==W?(K=3+S(t,m,3),m+=2,J=j[H-1]):17==W?(K=3+S(t,m,7),m+=3):18==W&&(K=11+S(t,m,127),m+=7);K--;)j[H++]=J}}var P=j.subarray(0,L),Q=j.subarray(L);I=x(P),D=x(Q),b=y(P,I,1),k=y(Q,D,1)}else E(1);if(m>F){v&&E(0);break}}p&&d(w+131072);for(var V=(1<<I)-1,X=(1<<D)-1,_=m;;_=m){var tt=(J=b[C(t,m)&V])>>4;if((m+=15&J)>F){v&&E(0);break}if(J||E(2),tt<256)i[w++]=tt;else{if(256==tt){_=m,b=null;break}var nt=tt-254;if(tt>264){var rt=e[H=tt-257];nt=S(t,m,(1<<rt)-1)+h[H],m+=rt}var it=k[C(t,m)&X],et=it>>4;it||E(3),m+=15&it;Q=c[et];if(et>3){rt=o[et];Q+=C(t,m)&(1<<rt)-1,m+=rt}if(m>F){v&&E(0);break}p&&d(w+131072);var ot=w+nt;if(w<Q){var at=f-Q,st=Math.min(Q,ot);for(at+w<0&&E(3);w<st;++w)i[w]=s[at+w]}for(;w<ot;++w)i[w]=i[w-Q]}}r.l=b,r.p=_,r.b=w,r.f=g,b&&(g=1,r.m=I,r.d=k,r.n=D)}while(!g);return w!=i.length&&l?T(i,0,w):i.subarray(0,w)},O=function(t,n,r){r<<=7&n;var i=n/8|0;t[i]|=r,t[i+1]|=r>>8},q=function(t,n,r){r<<=7&n;var i=n/8|0;t[i]|=r,t[i+1]|=r>>8,t[i+2]|=r>>16},U=function(t,i){for(var e=[],o=0;o<t.length;++o)t[o]&&e.push({s:o,f:t[o]});var a=e.length,s=e.slice();if(!a)return{t:B,l:0};if(1==a){var u=new n(e[0].s+1);return u[e[0].s]=1,{t:u,l:1}}e.sort((function(t,n){return t.f-n.f})),e.push({s:-1,f:25001});var h=e[0],f=e[1],l=0,c=1,p=2;for(e[0]={s:-1,f:h.f+f.f,l:h,r:f};c!=a-1;)h=e[e[l].f<e[p].f?l++:p++],f=e[l!=c&&e[l].f<e[p].f?l++:p++],e[c++]={s:-1,f:h.f+f.f,l:h,r:f};var v=s[0].s;for(o=1;o<a;++o)s[o].s>v&&(v=s[o].s);var d=new r(v+1),g=L(e[c-1],d,0);if(g>i){o=0;var y=0,m=g-i,w=1<<m;for(s.sort((function(t,n){return d[n.s]-d[t.s]||t.f-n.f}));o<a;++o){var b=s[o].s;if(!(d[b]>i))break;y+=w-(1<<g-d[b]),d[b]=i}for(y>>=m;y>0;){var z=s[o].s;d[z]<i?y-=1<<i-d[z]++-1:++o}for(;o>=0&&y;--o){var k=s[o].s;d[k]==i&&(--d[k],++y)}g=i}return{t:new n(d),l:g}},L=function(t,n,r){return-1==t.s?Math.max(L(t.l,n,r+1),L(t.r,n,r+1)):n[t.s]=r},Z=function(t){for(var n=t.length;n&&!t[--n];);for(var i=new r(++n),e=0,o=t[0],a=1,s=function(t){i[e++]=t},u=1;u<=n;++u)if(t[u]==o&&u!=n)++a;else{if(!o&&a>2){for(;a>138;a-=138)s(32754);a>2&&(s(a>10?a-11<<5|28690:a-3<<5|12305),a=0)}else if(a>3){for(s(o),--a;a>6;a-=6)s(8304);a>2&&(s(a-3<<5|8208),a=0)}for(;a--;)s(o);a=1,o=t[u]}return{c:i.subarray(0,e),n:n}},$=function(t,n){for(var r=0,i=0;i<n.length;++i)r+=t[i]*n[i];return r},j=function(t,n,r){var i=r.length,e=A(n+2);t[e]=255&i,t[e+1]=i>>8,t[e+2]=255^t[e],t[e+3]=255^t[e+1];for(var o=0;o<i;++o)t[e+o+4]=r[o];return 8*(e+4+i)},G=function(t,n,i,s,u,h,f,l,c,p,v){O(n,v++,i),++u[256];for(var d=U(u,15),g=d.t,z=d.l,M=U(h,15),x=M.t,S=M.l,C=Z(g),A=C.c,T=C.n,I=Z(x),D=I.c,E=I.n,F=new r(19),L=0;L<A.length;++L)++F[31&A[L]];for(L=0;L<D.length;++L)++F[31&D[L]];for(var G=U(F,7),H=G.t,B=G.l,N=19;N>4&&!H[a[N-1]];--N);var R,W,Y,J,K=p+5<<3,P=$(u,m)+$(h,w)+f,Q=$(u,g)+$(h,x)+f+14+3*N+$(F,H)+2*F[16]+3*F[17]+7*F[18];if(c>=0&&K<=P&&K<=Q)return j(n,v,t.subarray(c,c+p));if(O(n,v,1+(Q<P)),v+=2,Q<P){R=y(g,z,0),W=g,Y=y(x,S,0),J=x;var V=y(H,B,0);O(n,v,T-257),O(n,v+5,E-1),O(n,v+10,N-4),v+=14;for(L=0;L<N;++L)O(n,v+3*L,H[a[L]]);v+=3*N;for(var X=[A,D],_=0;_<2;++_){var tt=X[_];for(L=0;L<tt.length;++L){var nt=31&tt[L];O(n,v,V[nt]),v+=H[nt],nt>15&&(O(n,v,tt[L]>>5&127),v+=tt[L]>>12)}}}else R=b,W=m,Y=k,J=w;for(L=0;L<l;++L){var rt=s[L];if(rt>255){q(n,v,R[(nt=rt>>18&31)+257]),v+=W[nt+257],nt>7&&(O(n,v,rt>>23&31),v+=e[nt]);var it=31&rt;q(n,v,Y[it]),v+=J[it],it>3&&(q(n,v,rt>>5&8191),v+=o[it])}else q(n,v,R[rt]),v+=W[rt]}return q(n,v,R[256]),v+W[256]},H=new i([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),B=new n(0),N=function(t,a,s,u,h,l){var c=l.z||t.length,v=new n(u+c+5*(1+Math.ceil(c/7e3))+h),d=v.subarray(u,v.length-h),g=l.l,y=7&(l.r||0);if(a){y&&(d[0]=l.r>>3);for(var m=H[a-1],w=m>>13,b=8191&m,z=(1<<s)-1,k=l.p||new r(32768),M=l.h||new r(z+1),x=Math.ceil(s/3),S=2*x,C=function(n){return(t[n]^t[n+1]<<x^t[n+2]<<S)&z},I=new i(25e3),D=new r(288),E=new r(32),F=0,O=0,q=l.i||0,U=0,L=l.w||0,Z=0;q+2<c;++q){var $=C(q),B=32767&q,N=M[$];if(k[B]=N,M[$]=B,L<=q){var R=c-q;if((F>7e3||U>24576)&&(R>423||!g)){y=G(t,d,0,I,D,E,O,U,Z,q-Z,y),U=F=O=0,Z=q;for(var W=0;W<286;++W)D[W]=0;for(W=0;W<30;++W)E[W]=0}var Y=2,J=0,K=b,P=B-N&32767;if(R>2&&$==C(q-P))for(var Q=Math.min(w,R)-1,V=Math.min(32767,q),X=Math.min(258,R);P<=V&&--K&&B!=N;){if(t[q+Y]==t[q+Y-P]){for(var _=0;_<X&&t[q+_]==t[q+_-P];++_);if(_>Y){if(Y=_,J=P,_>Q)break;var tt=Math.min(P,_-2),nt=0;for(W=0;W<tt;++W){var rt=q-P+W&32767,it=rt-k[rt]&32767;it>nt&&(nt=it,N=rt)}}}P+=(B=N)-(N=k[B])&32767}if(J){I[U++]=268435456|f[Y]<<18|p[J];var et=31&f[Y],ot=31&p[J];O+=e[et]+o[ot],++D[257+et],++E[ot],L=q+Y,++F}else I[U++]=t[q],++D[t[q]]}}for(q=Math.max(q,L);q<c;++q)I[U++]=t[q],++D[t[q]];y=G(t,d,g,I,D,E,O,U,Z,q-Z,y),g||(l.r=7&y|d[y/8|0]<<3,y-=7,l.h=M,l.p=k,l.i=q,l.w=L)}else{for(q=l.w||0;q<c+g;q+=65535){var at=q+65535;at>=c&&(d[y/8|0]=g,at=c),y=j(d,y+1,t.subarray(q,at))}l.i=c}return T(v,0,u+A(y)+h)},R=function(){for(var t=new Int32Array(256),n=0;n<256;++n){for(var r=n,i=9;--i;)r=(1&r&&-306674912)^r>>>1;t[n]=r}return t}(),W=function(){var t=-1;return{p:function(n){for(var r=t,i=0;i<n.length;++i)r=R[255&r^n[i]]^r>>>8;t=r},d:function(){return~t}}},Y=function(){var t=1,n=0;return{p:function(r){for(var i=t,e=n,o=0|r.length,a=0;a!=o;){for(var s=Math.min(a+2655,o);a<s;++a)e+=i+=r[a];i=(65535&i)+15*(i>>16),e=(65535&e)+15*(e>>16)}t=i,n=e},d:function(){return(255&(t%=65521))<<24|(65280&t)<<8|(255&(n%=65521))<<8|n>>8}}},J=function(t,r,i,e,o){if(!o&&(o={l:1},r.dictionary)){var a=r.dictionary.subarray(-32768),s=new n(a.length+t.length);s.set(a),s.set(t,a.length),t=s,o.w=a.length}return N(t,null==r.level?6:r.level,null==r.mem?o.l?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(t.length)))):20:12+r.mem,i,e,o)},K=function(t,n){var r={};for(var i in t)r[i]=t[i];for(var i in n)r[i]=n[i];return r},P=function(t,n,r){for(var i=t(),e=t.toString(),o=e.slice(e.indexOf(\"[\")+1,e.lastIndexOf(\"]\")).replace(/\\s+/g,\"\").split(\",\"),a=0;a<i.length;++a){var s=i[a],u=o[a];if(\"function\"==typeof s){n+=\";\"+u+\"=\";var h=s.toString();if(s.prototype)if(-1!=h.indexOf(\"[native code]\")){var f=h.indexOf(\" \",8)+1;n+=h.slice(f,h.indexOf(\"(\",f))}else for(var l in n+=h,s.prototype)n+=\";\"+u+\".prototype.\"+l+\"=\"+s.prototype[l].toString();else n+=h}else r[u]=s}return n},Q=[],V=function(n,r,i,e){if(!Q[i]){for(var o=\"\",a={},s=n.length-1,u=0;u<s;++u)o=P(n[u],o,a);Q[i]={c:P(n[s],o,a),e:a}}var h=K({},Q[i].e);return function(n,r,i,e,o){var a=new Worker(t[r]||(t[r]=URL.createObjectURL(new Blob([n+';addEventListener(\"error\",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})'],{type:\"text/javascript\"}))));return a.onmessage=function(t){var n=t.data,r=n.$e$;if(r){var i=new Error(r[0]);i.code=r[1],i.stack=r[2],o(i,null)}else o(null,n)},a.postMessage(i,e),a}(Q[i].c+\";onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage=\"+r.toString()+\"}\",i,h,function(t){var n=[];for(var r in t)t[r].buffer&&n.push((t[r]=new t[r].constructor(t[r])).buffer);return n}(h),e)},X=function(){return[n,r,i,e,o,a,h,c,z,M,v,D,y,x,S,C,A,T,E,F,At,et,ot]},_=function(){return[n,r,i,e,o,a,f,p,b,m,k,w,v,H,B,y,O,q,U,L,Z,$,j,G,A,T,N,J,Mt,et]},tt=function(){return[pt,gt,ct,W,R]},nt=function(){return[vt,dt]},rt=function(){return[yt,ct,Y]},it=function(){return[mt]},et=function(t){return postMessage(t,[t.buffer])},ot=function(t){return t&&{out:t.size&&new n(t.size),dictionary:t.dictionary}},at=function(t,n,r,i,e,o){var a=V(r,i,e,(function(t,n){a.terminate(),o(t,n)}));return a.postMessage([t,n],n.consume?[t.buffer]:[]),function(){a.terminate()}},st=function(t){return t.ondata=function(t,n){return postMessage([t,n],[t.buffer])},function(n){n.data.length?(t.push(n.data[0],n.data[1]),postMessage([n.data[0].length])):t.flush()}},ut=function(t,n,r,i,e,o,a){var s,u=V(t,i,e,(function(t,r){t?(u.terminate(),n.ondata.call(n,t)):Array.isArray(r)?1==r.length?(n.queuedSize-=r[0],n.ondrain&&n.ondrain(r[0])):(r[1]&&u.terminate(),n.ondata.call(n,t,r[0],r[1])):a(r)}));u.postMessage(r),n.queuedSize=0,n.push=function(t,r){n.ondata||E(5),s&&n.ondata(E(4,0,1),null,!!r),n.queuedSize+=t.length,u.postMessage([t,s=r],[t.buffer])},n.terminate=function(){u.terminate()},o&&(n.flush=function(){u.postMessage([])})},ht=function(t,n){return t[n]|t[n+1]<<8},ft=function(t,n){return(t[n]|t[n+1]<<8|t[n+2]<<16|t[n+3]<<24)>>>0},lt=function(t,n){return ft(t,n)+4294967296*ft(t,n+4)},ct=function(t,n,r){for(;r;++n)t[n]=r,r>>>=8},pt=function(t,n){var r=n.filename;if(t[0]=31,t[1]=139,t[2]=8,t[8]=n.level<2?4:9==n.level?2:0,t[9]=3,0!=n.mtime&&ct(t,4,Math.floor(new Date(n.mtime||Date.now())/1e3)),r){t[3]=8;for(var i=0;i<=r.length;++i)t[i+10]=r.charCodeAt(i)}},vt=function(t){31==t[0]&&139==t[1]&&8==t[2]||E(6,\"invalid gzip data\");var n=t[3],r=10;4&n&&(r+=2+(t[10]|t[11]<<8));for(var i=(n>>3&1)+(n>>4&1);i>0;i-=!t[r++]);return r+(2&n)},dt=function(t){var n=t.length;return(t[n-4]|t[n-3]<<8|t[n-2]<<16|t[n-1]<<24)>>>0},gt=function(t){return 10+(t.filename?t.filename.length+1:0)},yt=function(t,n){var r=n.level,i=0==r?0:r<6?1:9==r?3:2;if(t[0]=120,t[1]=i<<6|(n.dictionary&&32),t[1]|=31-(t[0]<<8|t[1])%31,n.dictionary){var e=Y();e.p(n.dictionary),ct(t,2,e.d())}},mt=function(t,n){return(8!=(15&t[0])||t[0]>>4>7||(t[0]<<8|t[1])%31)&&E(6,\"invalid zlib data\"),(t[1]>>5&1)==+!n&&E(6,\"invalid zlib data: \"+(32&t[1]?\"need\":\"unexpected\")+\" dictionary\"),2+(t[1]>>3&4)};function wt(t,n){return\"function\"==typeof t&&(n=t,t={}),this.ondata=n,t}var bt=function(){function t(t,r){if(\"function\"==typeof t&&(r=t,t={}),this.ondata=r,this.o=t||{},this.s={l:0,i:32768,w:32768,z:32768},this.b=new n(98304),this.o.dictionary){var i=this.o.dictionary.subarray(-32768);this.b.set(i,32768-i.length),this.s.i=32768-i.length}}return t.prototype.p=function(t,n){this.ondata(J(t,this.o,0,0,this.s),n)},t.prototype.push=function(t,r){this.ondata||E(5),this.s.l&&E(4);var i=t.length+this.s.z;if(i>this.b.length){if(i>2*this.b.length-32768){var e=new n(-32768&i);e.set(this.b.subarray(0,this.s.z)),this.b=e}var o=this.b.length-this.s.z;this.b.set(t.subarray(0,o),this.s.z),this.s.z=this.b.length,this.p(this.b,!1),this.b.set(this.b.subarray(-32768)),this.b.set(t.subarray(o),32768),this.s.z=t.length-o+32768,this.s.i=32766,this.s.w=32768}else this.b.set(t,this.s.z),this.s.z+=t.length;this.s.l=1&r,(this.s.z>this.s.w+8191||r)&&(this.p(this.b,r||!1),this.s.w=this.s.i,this.s.i-=2)},t.prototype.flush=function(){this.ondata||E(5),this.s.l&&E(4),this.p(this.b,!1),this.s.w=this.s.i,this.s.i-=2},t}(),zt=function(){return function(t,n){ut([_,function(){return[st,bt]}],this,wt.call(this,t,n),(function(t){var n=new bt(t.data);onmessage=st(n)}),6,1)}}();function kt(t,n,r){return r||(r=n,n={}),\"function\"!=typeof r&&E(7),at(t,n,[_],(function(t){return et(Mt(t.data[0],t.data[1]))}),0,r)}function Mt(t,n){return J(t,n||{},0,0)}var xt=function(){function t(t,r){\"function\"==typeof t&&(r=t,t={}),this.ondata=r;var i=t&&t.dictionary&&t.dictionary.subarray(-32768);this.s={i:0,b:i?i.length:0},this.o=new n(32768),this.p=new n(0),i&&this.o.set(i)}return t.prototype.e=function(t){if(this.ondata||E(5),this.d&&E(4),this.p.length){if(t.length){var r=new n(this.p.length+t.length);r.set(this.p),r.set(t,this.p.length),this.p=r}}else this.p=t},t.prototype.c=function(t){this.s.i=+(this.d=t||!1);var n=this.s.b,r=F(this.p,this.s,this.o);this.ondata(T(r,n,this.s.b),this.d),this.o=T(r,this.s.b-32768),this.s.b=this.o.length,this.p=T(this.p,this.s.p/8|0),this.s.p&=7},t.prototype.push=function(t,n){this.e(t),this.c(n)},t}(),St=function(){return function(t,n){ut([X,function(){return[st,xt]}],this,wt.call(this,t,n),(function(t){var n=new xt(t.data);onmessage=st(n)}),7,0)}}();function Ct(t,n,r){return r||(r=n,n={}),\"function\"!=typeof r&&E(7),at(t,n,[X],(function(t){return et(At(t.data[0],ot(t.data[1])))}),1,r)}function At(t,n){return F(t,{i:2},n&&n.out,n&&n.dictionary)}var Tt=function(){function t(t,n){this.c=W(),this.l=0,this.v=1,bt.call(this,t,n)}return t.prototype.push=function(t,n){this.c.p(t),this.l+=t.length,bt.prototype.push.call(this,t,n)},t.prototype.p=function(t,n){var r=J(t,this.o,this.v&&gt(this.o),n&&8,this.s);this.v&&(pt(r,this.o),this.v=0),n&&(ct(r,r.length-8,this.c.d()),ct(r,r.length-4,this.l)),this.ondata(r,n)},t.prototype.flush=function(){bt.prototype.flush.call(this)},t}(),It=function(){return function(t,n){ut([_,tt,function(){return[st,bt,Tt]}],this,wt.call(this,t,n),(function(t){var n=new Tt(t.data);onmessage=st(n)}),8,1)}}();function Dt(t,n,r){return r||(r=n,n={}),\"function\"!=typeof r&&E(7),at(t,n,[_,tt,function(){return[Et]}],(function(t){return et(Et(t.data[0],t.data[1]))}),2,r)}function Et(t,n){n||(n={});var r=W(),i=t.length;r.p(t);var e=J(t,n,gt(n),8),o=e.length;return pt(e,n),ct(e,o-8,r.d()),ct(e,o-4,i),e}var Ft=function(){function t(t,n){this.v=1,this.r=0,xt.call(this,t,n)}return t.prototype.push=function(t,r){if(xt.prototype.e.call(this,t),this.r+=t.length,this.v){var i=this.p.subarray(this.v-1),e=i.length>3?vt(i):4;if(e>i.length){if(!r)return}else this.v>1&&this.onmember&&this.onmember(this.r-i.length);this.p=i.subarray(e),this.v=0}xt.prototype.c.call(this,r),!this.s.f||this.s.l||r||(this.v=A(this.s.p)+9,this.s={i:0},this.o=new n(0),this.push(new n(0),r))},t}(),Ot=function(){return function(t,n){var r=this;ut([X,nt,function(){return[st,xt,Ft]}],this,wt.call(this,t,n),(function(t){var n=new Ft(t.data);n.onmember=function(t){return postMessage(t)},onmessage=st(n)}),9,0,(function(t){return r.onmember&&r.onmember(t)}))}}();function qt(t,n,r){return r||(r=n,n={}),\"function\"!=typeof r&&E(7),at(t,n,[X,nt,function(){return[Ut]}],(function(t){return et(Ut(t.data[0],t.data[1]))}),3,r)}function Ut(t,r){var i=vt(t);return i+8>t.length&&E(6,\"invalid gzip data\"),F(t.subarray(i,-8),{i:2},r&&r.out||new n(dt(t)),r&&r.dictionary)}var Lt=function(){function t(t,n){this.c=Y(),this.v=1,bt.call(this,t,n)}return t.prototype.push=function(t,n){this.c.p(t),bt.prototype.push.call(this,t,n)},t.prototype.p=function(t,n){var r=J(t,this.o,this.v&&(this.o.dictionary?6:2),n&&4,this.s);this.v&&(yt(r,this.o),this.v=0),n&&ct(r,r.length-4,this.c.d()),this.ondata(r,n)},t.prototype.flush=function(){bt.prototype.flush.call(this)},t}(),Zt=function(){return function(t,n){ut([_,rt,function(){return[st,bt,Lt]}],this,wt.call(this,t,n),(function(t){var n=new Lt(t.data);onmessage=st(n)}),10,1)}}();function $t(t,n,r){return r||(r=n,n={}),\"function\"!=typeof r&&E(7),at(t,n,[_,rt,function(){return[jt]}],(function(t){return et(jt(t.data[0],t.data[1]))}),4,r)}function jt(t,n){n||(n={});var r=Y();r.p(t);var i=J(t,n,n.dictionary?6:2,4);return yt(i,n),ct(i,i.length-4,r.d()),i}var Gt=function(){function t(t,n){xt.call(this,t,n),this.v=t&&t.dictionary?2:1}return t.prototype.push=function(t,n){if(xt.prototype.e.call(this,t),this.v){if(this.p.length<6&&!n)return;this.p=this.p.subarray(mt(this.p,this.v-1)),this.v=0}n&&(this.p.length<4&&E(6,\"invalid zlib data\"),this.p=this.p.subarray(0,-4)),xt.prototype.c.call(this,n)},t}(),Ht=function(){return function(t,n){ut([X,it,function(){return[st,xt,Gt]}],this,wt.call(this,t,n),(function(t){var n=new Gt(t.data);onmessage=st(n)}),11,0)}}();function Bt(t,n,r){return r||(r=n,n={}),\"function\"!=typeof r&&E(7),at(t,n,[X,it,function(){return[Nt]}],(function(t){return et(Nt(t.data[0],ot(t.data[1])))}),5,r)}function Nt(t,n){return F(t.subarray(mt(t,n&&n.dictionary),-4),{i:2},n&&n.out,n&&n.dictionary)}var Rt=function(){function t(t,n){this.o=wt.call(this,t,n)||{},this.G=Ft,this.I=xt,this.Z=Gt}return t.prototype.i=function(){var t=this;this.s.ondata=function(n,r){t.ondata(n,r)}},t.prototype.push=function(t,r){if(this.ondata||E(5),this.s)this.s.push(t,r);else{if(this.p&&this.p.length){var i=new n(this.p.length+t.length);i.set(this.p),i.set(t,this.p.length)}else this.p=t;this.p.length>2&&(this.s=31==this.p[0]&&139==this.p[1]&&8==this.p[2]?new this.G(this.o):8!=(15&this.p[0])||this.p[0]>>4>7||(this.p[0]<<8|this.p[1])%31?new this.I(this.o):new this.Z(this.o),this.i(),this.s.push(this.p,r),this.p=null)}},t}(),Wt=function(){function t(t,n){Rt.call(this,t,n),this.queuedSize=0,this.G=Ot,this.I=St,this.Z=Ht}return t.prototype.i=function(){var t=this;this.s.ondata=function(n,r,i){t.ondata(n,r,i)},this.s.ondrain=function(n){t.queuedSize-=n,t.ondrain&&t.ondrain(n)}},t.prototype.push=function(t,n){this.queuedSize+=t.length,Rt.prototype.push.call(this,t,n)},t}();function Yt(t,n,r){return r||(r=n,n={}),\"function\"!=typeof r&&E(7),31==t[0]&&139==t[1]&&8==t[2]?qt(t,n,r):8!=(15&t[0])||t[0]>>4>7||(t[0]<<8|t[1])%31?Ct(t,n,r):Bt(t,n,r)}function Jt(t,n){return 31==t[0]&&139==t[1]&&8==t[2]?Ut(t,n):8!=(15&t[0])||t[0]>>4>7||(t[0]<<8|t[1])%31?At(t,n):Nt(t,n)}var Kt=function(t,r,i,e){for(var o in t){var a=t[o],s=r+o,u=e;Array.isArray(a)&&(u=K(e,a[1]),a=a[0]),a instanceof n?i[s]=[a,u]:(i[s+=\"/\"]=[new n(0),u],Kt(a,s,i,e))}},Pt=\"undefined\"!=typeof TextEncoder&&new TextEncoder,Qt=\"undefined\"!=typeof TextDecoder&&new TextDecoder,Vt=0;try{Qt.decode(B,{stream:!0}),Vt=1}catch(t){}var Xt=function(t){for(var n=\"\",r=0;;){var i=t[r++],e=(i>127)+(i>223)+(i>239);if(r+e>t.length)return{s:n,r:T(t,r-1)};e?3==e?(i=((15&i)<<18|(63&t[r++])<<12|(63&t[r++])<<6|63&t[r++])-65536,n+=String.fromCharCode(55296|i>>10,56320|1023&i)):n+=1&e?String.fromCharCode((31&i)<<6|63&t[r++]):String.fromCharCode((15&i)<<12|(63&t[r++])<<6|63&t[r++]):n+=String.fromCharCode(i)}},_t=function(){function t(t){this.ondata=t,Vt?this.t=new TextDecoder:this.p=B}return t.prototype.push=function(t,r){if(this.ondata||E(5),r=!!r,this.t)return this.ondata(this.t.decode(t,{stream:!0}),r),void(r&&(this.t.decode().length&&E(8),this.t=null));this.p||E(4);var i=new n(this.p.length+t.length);i.set(this.p),i.set(t,this.p.length);var e=Xt(i),o=e.s,a=e.r;r?(a.length&&E(8),this.p=null):this.p=a,this.ondata(o,r)},t}(),tn=function(){function t(t){this.ondata=t}return t.prototype.push=function(t,n){this.ondata||E(5),this.d&&E(4),this.ondata(nn(t),this.d=n||!1)},t}();function nn(t,r){if(r){for(var i=new n(t.length),e=0;e<t.length;++e)i[e]=t.charCodeAt(e);return i}if(Pt)return Pt.encode(t);var o=t.length,a=new n(t.length+(t.length>>1)),s=0,u=function(t){a[s++]=t};for(e=0;e<o;++e){if(s+5>a.length){var h=new n(s+8+(o-e<<1));h.set(a),a=h}var f=t.charCodeAt(e);f<128||r?u(f):f<2048?(u(192|f>>6),u(128|63&f)):f>55295&&f<57344?(u(240|(f=65536+(1047552&f)|1023&t.charCodeAt(++e))>>18),u(128|f>>12&63),u(128|f>>6&63),u(128|63&f)):(u(224|f>>12),u(128|f>>6&63),u(128|63&f))}return T(a,0,s)}function rn(t,n){if(n){for(var r=\"\",i=0;i<t.length;i+=16384)r+=String.fromCharCode.apply(null,t.subarray(i,i+16384));return r}if(Qt)return Qt.decode(t);var e=Xt(t),o=e.s;return(r=e.r).length&&E(8),o}var en=function(t){return 1==t?3:t<6?2:9==t?1:0},on=function(t,n){return n+30+ht(t,n+26)+ht(t,n+28)},an=function(t,n,r){var i=ht(t,n+28),e=rn(t.subarray(n+46,n+46+i),!(2048&ht(t,n+8))),o=n+46+i,a=ft(t,n+20),s=r&&4294967295==a?sn(t,o):[a,ft(t,n+24),ft(t,n+42)],u=s[0],h=s[1],f=s[2];return[ht(t,n+10),u,h,e,o+ht(t,n+30)+ht(t,n+32),f]},sn=function(t,n){for(;1!=ht(t,n);n+=4+ht(t,n+2));return[lt(t,n+12),lt(t,n+4),lt(t,n+20)]},un=function(t){var n=0;if(t)for(var r in t){var i=t[r].length;i>65535&&E(9),n+=i+4}return n},hn=function(t,n,r,i,e,o,a,s){var u=i.length,h=r.extra,f=s&&s.length,l=un(h);ct(t,n,null!=a?33639248:67324752),n+=4,null!=a&&(t[n++]=20,t[n++]=r.os),t[n]=20,n+=2,t[n++]=r.flag<<1|(o<0&&8),t[n++]=e&&8,t[n++]=255&r.compression,t[n++]=r.compression>>8;var c=new Date(null==r.mtime?Date.now():r.mtime),p=c.getFullYear()-1980;if((p<0||p>119)&&E(10),ct(t,n,p<<25|c.getMonth()+1<<21|c.getDate()<<16|c.getHours()<<11|c.getMinutes()<<5|c.getSeconds()>>1),n+=4,-1!=o&&(ct(t,n,r.crc),ct(t,n+4,o<0?-o-2:o),ct(t,n+8,r.size)),ct(t,n+12,u),ct(t,n+14,l),n+=16,null!=a&&(ct(t,n,f),ct(t,n+6,r.attrs),ct(t,n+10,a),n+=14),t.set(i,n),n+=u,l)for(var v in h){var d=h[v],g=d.length;ct(t,n,+v),ct(t,n+2,g),t.set(d,n+4),n+=4+g}return f&&(t.set(s,n),n+=f),n},fn=function(t,n,r,i,e){ct(t,n,101010256),ct(t,n+8,r),ct(t,n+10,r),ct(t,n+12,i),ct(t,n+16,e)},ln=function(){function t(t){this.filename=t,this.c=W(),this.size=0,this.compression=0}return t.prototype.process=function(t,n){this.ondata(null,t,n)},t.prototype.push=function(t,n){this.ondata||E(5),this.c.p(t),this.size+=t.length,n&&(this.crc=this.c.d()),this.process(t,n||!1)},t}(),cn=function(){function t(t,n){var r=this;n||(n={}),ln.call(this,t),this.d=new bt(n,(function(t,n){r.ondata(null,t,n)})),this.compression=8,this.flag=en(n.level)}return t.prototype.process=function(t,n){try{this.d.push(t,n)}catch(t){this.ondata(t,null,n)}},t.prototype.push=function(t,n){ln.prototype.push.call(this,t,n)},t}(),pn=function(){function t(t,n){var r=this;n||(n={}),ln.call(this,t),this.d=new zt(n,(function(t,n,i){r.ondata(t,n,i)})),this.compression=8,this.flag=en(n.level),this.terminate=this.d.terminate}return t.prototype.process=function(t,n){this.d.push(t,n)},t.prototype.push=function(t,n){ln.prototype.push.call(this,t,n)},t}(),vn=function(){function t(t){this.ondata=t,this.u=[],this.d=1}return t.prototype.add=function(t){var r=this;if(this.ondata||E(5),2&this.d)this.ondata(E(4+8*(1&this.d),0,1),null,!1);else{var i=nn(t.filename),e=i.length,o=t.comment,a=o&&nn(o),s=e!=t.filename.length||a&&o.length!=a.length,u=e+un(t.extra)+30;e>65535&&this.ondata(E(11,0,1),null,!1);var h=new n(u);hn(h,0,t,i,s,-1);var f=[h],l=function(){for(var t=0,n=f;t<n.length;t++){var i=n[t];r.ondata(null,i,!1)}f=[]},c=this.d;this.d=0;var p=this.u.length,v=K(t,{f:i,u:s,o:a,t:function(){t.terminate&&t.terminate()},r:function(){if(l(),c){var t=r.u[p+1];t?t.r():r.d=1}c=1}}),d=0;t.ondata=function(i,e,o){if(i)r.ondata(i,e,o),r.terminate();else if(d+=e.length,f.push(e),o){var a=new n(16);ct(a,0,134695760),ct(a,4,t.crc),ct(a,8,d),ct(a,12,t.size),f.push(a),v.c=d,v.b=u+d+16,v.crc=t.crc,v.size=t.size,c&&v.r(),c=1}else c&&l()},this.u.push(v)}},t.prototype.end=function(){var t=this;2&this.d?this.ondata(E(4+8*(1&this.d),0,1),null,!0):(this.d?this.e():this.u.push({r:function(){1&t.d&&(t.u.splice(-1,1),t.e())},t:function(){}}),this.d=3)},t.prototype.e=function(){for(var t=0,r=0,i=0,e=0,o=this.u;e<o.length;e++){i+=46+(h=o[e]).f.length+un(h.extra)+(h.o?h.o.length:0)}for(var a=new n(i+22),s=0,u=this.u;s<u.length;s++){var h=u[s];hn(a,t,h,h.f,h.u,-h.c-2,r,h.o),t+=46+h.f.length+un(h.extra)+(h.o?h.o.length:0),r+=h.b}fn(a,t,this.u.length,i,r),this.ondata(null,a,!0),this.d=2},t.prototype.terminate=function(){for(var t=0,n=this.u;t<n.length;t++){n[t].t()}this.d=2},t}();function dn(t,r,i){i||(i=r,r={}),\"function\"!=typeof i&&E(7);var e={};Kt(t,\"\",e,r);var o=Object.keys(e),a=o.length,s=0,u=0,h=a,f=new Array(a),l=[],c=function(){for(var t=0;t<l.length;++t)l[t]()},p=function(t,n){zn((function(){i(t,n)}))};zn((function(){p=i}));var v=function(){var t=new n(u+22),r=s,i=u-s;u=0;for(var e=0;e<h;++e){var o=f[e];try{var a=o.c.length;hn(t,u,o,o.f,o.u,a);var l=30+o.f.length+un(o.extra),c=u+l;t.set(o.c,c),hn(t,s,o,o.f,o.u,a,u,o.m),s+=16+l+(o.m?o.m.length:0),u=c+a}catch(t){return p(t,null)}}fn(t,s,f.length,i,r),p(null,t)};a||v();for(var d=function(t){var n=o[t],r=e[n],i=r[0],h=r[1],d=W(),g=i.length;d.p(i);var y=nn(n),m=y.length,w=h.comment,b=w&&nn(w),z=b&&b.length,k=un(h.extra),M=0==h.level?0:8,x=function(r,i){if(r)c(),p(r,null);else{var e=i.length;f[t]=K(h,{size:g,crc:d.d(),c:i,f:y,m:b,u:m!=n.length||b&&w.length!=z,compression:M}),s+=30+m+k+e,u+=76+2*(m+k)+(z||0)+e,--a||v()}};if(m>65535&&x(E(11,0,1),null),M)if(g<16e4)try{x(null,Mt(i,h))}catch(t){x(t,null)}else l.push(kt(i,h,x));else x(null,i)},g=0;g<h;++g)d(g);return c}function gn(t,r){r||(r={});var i={},e=[];Kt(t,\"\",i,r);var o=0,a=0;for(var s in i){var u=i[s],h=u[0],f=u[1],l=0==f.level?0:8,c=(x=nn(s)).length,p=f.comment,v=p&&nn(p),d=v&&v.length,g=un(f.extra);c>65535&&E(11);var y=l?Mt(h,f):h,m=y.length,w=W();w.p(h),e.push(K(f,{size:h.length,crc:w.d(),c:y,f:x,m:v,u:c!=s.length||v&&p.length!=d,o:o,compression:l})),o+=30+c+g+m,a+=76+2*(c+g)+(d||0)+m}for(var b=new n(a+22),z=o,k=a-o,M=0;M<e.length;++M){var x=e[M];hn(b,x.o,x,x.f,x.u,x.c.length);var S=30+x.f.length+un(x.extra);b.set(x.c,x.o+S),hn(b,o,x,x.f,x.u,x.c.length,x.o,x.m),o+=16+S+(x.m?x.m.length:0)}return fn(b,o,e.length,k,z),b}var yn=function(){function t(){}return t.prototype.push=function(t,n){this.ondata(null,t,n)},t.compression=0,t}(),mn=function(){function t(){var t=this;this.i=new xt((function(n,r){t.ondata(null,n,r)}))}return t.prototype.push=function(t,n){try{this.i.push(t,n)}catch(t){this.ondata(t,null,n)}},t.compression=8,t}(),wn=function(){function t(t,n){var r=this;n<32e4?this.i=new xt((function(t,n){r.ondata(null,t,n)})):(this.i=new St((function(t,n,i){r.ondata(t,n,i)})),this.terminate=this.i.terminate)}return t.prototype.push=function(t,n){this.i.terminate&&(t=T(t,0)),this.i.push(t,n)},t.compression=8,t}(),bn=function(){function t(t){this.onfile=t,this.k=[],this.o={0:yn},this.p=B}return t.prototype.push=function(t,r){var i=this;if(this.onfile||E(5),this.p||E(4),this.c>0){var e=Math.min(this.c,t.length),o=t.subarray(0,e);if(this.c-=e,this.d?this.d.push(o,!this.c):this.k[0].push(o),(t=t.subarray(e)).length)return this.push(t,r)}else{var a=0,s=0,u=void 0,h=void 0;this.p.length?t.length?((h=new n(this.p.length+t.length)).set(this.p),h.set(t,this.p.length)):h=this.p:h=t;for(var f=h.length,l=this.c,c=l&&this.d,p=function(){var t,n=ft(h,s);if(67324752==n){a=1,u=s,v.d=null,v.c=0;var r=ht(h,s+6),e=ht(h,s+8),o=2048&r,c=8&r,p=ht(h,s+26),d=ht(h,s+28);if(f>s+30+p+d){var g=[];v.k.unshift(g),a=2;var y,m=ft(h,s+18),w=ft(h,s+22),b=rn(h.subarray(s+30,s+=30+p),!o);4294967295==m?(t=c?[-2]:sn(h,s),m=t[0],w=t[1]):c&&(m=-1),s+=d,v.c=m;var z={name:b,compression:e,start:function(){if(z.ondata||E(5),m){var t=i.o[e];t||z.ondata(E(14,\"unknown compression type \"+e,1),null,!1),(y=m<0?new t(b):new t(b,m,w)).ondata=function(t,n,r){z.ondata(t,n,r)};for(var n=0,r=g;n<r.length;n++){var o=r[n];y.push(o,!1)}i.k[0]==g&&i.c?i.d=y:y.push(B,!0)}else z.ondata(null,B,!0)},terminate:function(){y&&y.terminate&&y.terminate()}};m>=0&&(z.size=m,z.originalSize=w),v.onfile(z)}return\"break\"}if(l){if(134695760==n)return u=s+=12+(-2==l&&8),a=3,v.c=0,\"break\";if(33639248==n)return u=s-=4,a=3,v.c=0,\"break\"}},v=this;s<f-4;++s){if(\"break\"===p())break}if(this.p=B,l<0){var d=a?h.subarray(0,u-12-(-2==l&&8)-(134695760==ft(h,u-16)&&4)):h.subarray(0,s);c?c.push(d,!!a):this.k[+(2==a)].push(d)}if(2&a)return this.push(h.subarray(s),r);this.p=h.subarray(s)}r&&(this.c&&E(13),this.p=null)},t.prototype.register=function(t){this.o[t.compression]=t},t}(),zn=\"function\"==typeof queueMicrotask?queueMicrotask:\"function\"==typeof setTimeout?setTimeout:function(t){t()};function kn(t,r,i){i||(i=r,r={}),\"function\"!=typeof i&&E(7);var e=[],o=function(){for(var t=0;t<e.length;++t)e[t]()},a={},s=function(t,n){zn((function(){i(t,n)}))};zn((function(){s=i}));for(var u=t.length-22;101010256!=ft(t,u);--u)if(!u||t.length-u>65558)return s(E(13,0,1),null),o;var h=ht(t,u+8);if(h){var f=h,l=ft(t,u+16),c=4294967295==l||65535==f;if(c){var p=ft(t,u-12);(c=101075792==ft(t,p))&&(f=h=ft(t,p+32),l=ft(t,p+48))}for(var v=r&&r.filter,d=function(r){var i=an(t,l,c),u=i[0],f=i[1],p=i[2],d=i[3],g=i[4],y=i[5],m=on(t,y);l=g;var w=function(t,n){t?(o(),s(t,null)):(n&&(a[d]=n),--h||s(null,a))};if(!v||v({name:d,size:f,originalSize:p,compression:u}))if(u)if(8==u){var b=t.subarray(m,m+f);if(p<524288||f>.8*p)try{w(null,At(b,{out:new n(p)}))}catch(t){w(t,null)}else e.push(Ct(b,{size:p},w))}else w(E(14,\"unknown compression type \"+u,1),null);else w(null,T(t,m,m+f));else w(null,null)},g=0;g<f;++g)d()}else s(null,{});return o}function Mn(t,r){for(var i={},e=t.length-22;101010256!=ft(t,e);--e)(!e||t.length-e>65558)&&E(13);var o=ht(t,e+8);if(!o)return{};var a=ft(t,e+16),s=4294967295==a||65535==o;if(s){var u=ft(t,e-12);(s=101075792==ft(t,u))&&(o=ft(t,u+32),a=ft(t,u+48))}for(var h=r&&r.filter,f=0;f<o;++f){var l=an(t,a,s),c=l[0],p=l[1],v=l[2],d=l[3],g=l[4],y=l[5],m=on(t,y);a=g,h&&!h({name:d,size:p,originalSize:v,compression:c})||(c?8==c?i[d]=At(t.subarray(m,m+p),{out:new n(v)}):E(14,\"unknown compression type \"+c):i[d]=T(t,m,m+p))}return i}export{It as AsyncCompress,Wt as AsyncDecompress,zt as AsyncDeflate,Ot as AsyncGunzip,It as AsyncGzip,St as AsyncInflate,wn as AsyncUnzipInflate,Ht as AsyncUnzlib,pn as AsyncZipDeflate,Zt as AsyncZlib,Tt as Compress,_t as DecodeUTF8,Rt as Decompress,bt as Deflate,tn as EncodeUTF8,I as FlateErrorCode,Ft as Gunzip,Tt as Gzip,xt as Inflate,bn as Unzip,mn as UnzipInflate,yn as UnzipPassThrough,Gt as Unzlib,vn as Zip,cn as ZipDeflate,ln as ZipPassThrough,Lt as Zlib,Dt as compress,Et as compressSync,Yt as decompress,Jt as decompressSync,kt as deflate,Mt as deflateSync,qt as gunzip,Ut as gunzipSync,Dt as gzip,Et as gzipSync,Ct as inflate,At as inflateSync,rn as strFromU8,nn as strToU8,kn as unzip,Mn as unzipSync,Bt as unzlib,Nt as unzlibSync,dn as zip,gn as zipSync,$t as zlib,jt as zlibSync};export default null;\n//# sourceMappingURL=/sm/280b916cdd8d0d7dd376ab4f158b7738c19fee04d6ebca320b74bf09ab9ca292.map", "/**\n * Bundled by jsDelivr using Rollup v2.79.2 and Terser v5.39.0.\n * Original file: /npm/valibot@0.13.1/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\nfunction t(t){return(Array.isArray(t)?t:t.issues).reduce(((t,e)=>{if(e.path){const n=e.path.map((({key:t})=>t)).join(\".\");t.nested[n]=[...t.nested[n]||[],e.message]}else t.root=[...t.root||[],e.message];return t}),{nested:{}})}var e=class extends Error{issues;constructor(t){super(t[0].message),this.name=\"ValiError\",this.issues=t}};function n(t,e){return t}function s(t,e){return{...t,_parse:(n,s)=>t._parse(e(n),s)}}function a(t,e){return{...t,_parse:async(n,s)=>t._parse(await e(n),s)}}function u(t,e){return{...t,_parse(n,s){const a=t._parse(n,s);return{output:a.issues?\"function\"==typeof e?e({input:n,issues:a.issues}):e:a.output}}}}function i(t,e){return{...t,async _parse(n,s){const a=await t._parse(n,s);return{output:a.issues?\"function\"==typeof e?e({input:n,issues:a.issues}):e:a.output}}}}function r(t,e){return!t._parse(e,{abortEarly:!0}).issues}function o(t,e){return{reason:t?.reason,validation:e.validation,origin:t?.origin||\"value\",message:e.message,input:e.input,abortEarly:t?.abortEarly,abortPipeEarly:t?.abortPipeEarly}}function c(t,e){return{reason:e,origin:t?.origin,abortEarly:t?.abortEarly,abortPipeEarly:t?.abortPipeEarly}}function p(t,e,n,s){if(!e||!e.length)return{output:t};let a,u,i=t;for(const t of e){const e=t(i);if(e.issue){a=a||c(n,s);const t=o(a,e.issue);if(u?u.push(t):u=[t],a.abortEarly||a.abortPipeEarly)break}else i=e.output}return u?{issues:u}:{output:i}}async function l(t,e,n,s){if(!e||!e.length)return{output:t};let a,u,i=t;for(const t of e){const e=await t(i);if(e.issue){a=a||c(n,s);const t=o(a,e.issue);if(u?u.push(t):u=[t],a.abortEarly||a.abortPipeEarly)break}else i=e.output}return u?{issues:u}:{output:i}}function f(t,e){return t&&\"string\"!=typeof t?[void 0,t]:[t,e]}function y(t,e,n,s,a,u){return{issues:[{reason:e,validation:n,origin:t?.origin||\"value\",message:s,input:a,issues:u,abortEarly:t?.abortEarly,abortPipeEarly:t?.abortPipeEarly}]}}function d(t){const e=t.replace(/\\D/g,\"\");let n=e.length,s=1,a=0;for(;n;){const t=+e[--n];s^=1,a+=s?[0,2,4,6,8,1,3,5,7,9][t]:t}return a%10==0}function m(t=[]){return{schema:\"any\",async:!1,_parse:(e,n)=>p(e,t,n,\"any\")}}function h(t=[]){return{schema:\"any\",async:!0,_parse:async(e,n)=>l(e,t,n,\"any\")}}function v(t,e,n){const[s,a]=f(e,n);return{schema:\"array\",array:{item:t},async:!1,_parse(e,n){if(!Array.isArray(e))return y(n,\"type\",\"array\",s||\"Invalid type\",e);let u;const i=[];for(let s=0;s<e.length;s++){const a=e[s],r=t._parse(a,n);if(r.issues){const t={schema:\"array\",input:e,key:s,value:a};for(const e of r.issues)e.path?e.path.unshift(t):e.path=[t],u?.push(e);if(u||(u=r.issues),n?.abortEarly)break}else i.push(r.output)}return u?{issues:u}:p(i,a,n,\"array\")}}}function b(t,e,n){const[s,a]=f(e,n);return{schema:\"array\",array:{item:t},async:!0,async _parse(e,n){if(!Array.isArray(e))return y(n,\"type\",\"array\",s||\"Invalid type\",e);let u;const i=[];return await Promise.all(e.map((async(s,a)=>{if(!n?.abortEarly||!u){const r=await t._parse(s,n);if(!n?.abortEarly||!u)if(r.issues){const t={schema:\"array\",input:e,key:a,value:s};for(const e of r.issues)e.path?e.path.unshift(t):e.path=[t],u?.push(e);if(u||(u=r.issues),n?.abortEarly)throw null}else i[a]=r.output}}))).catch((()=>null)),u?{issues:u}:l(i,a,n,\"array\")}}}function _(t,e){const[n,s]=f(t,e);return{schema:\"bigint\",async:!1,_parse:(t,e)=>\"bigint\"!=typeof t?y(e,\"type\",\"bigint\",n||\"Invalid type\",t):p(t,s,e,\"bigint\")}}function g(t,e){const[n,s]=f(t,e);return{schema:\"bigint\",async:!0,_parse:async(t,e)=>\"bigint\"!=typeof t?y(e,\"type\",\"bigint\",n||\"Invalid type\",t):l(t,s,e,\"bigint\")}}function I(t,e){const[n,s]=f(t,e);return{schema:\"blob\",async:!1,_parse:(t,e)=>t instanceof Blob?p(t,s,e,\"blob\"):y(e,\"type\",\"blob\",n||\"Invalid type\",t)}}function E(t,e){const[n,s]=f(t,e);return{schema:\"blob\",async:!0,_parse:async(t,e)=>t instanceof Blob?l(t,s,e,\"blob\"):y(e,\"type\",\"blob\",n||\"Invalid type\",t)}}function w(t,e){const[n,s]=f(t,e);return{schema:\"boolean\",async:!1,_parse:(t,e)=>\"boolean\"!=typeof t?y(e,\"type\",\"boolean\",n||\"Invalid type\",t):p(t,s,e,\"boolean\")}}function A(t,e){const[n,s]=f(t,e);return{schema:\"boolean\",async:!0,_parse:async(t,e)=>\"boolean\"!=typeof t?y(e,\"type\",\"boolean\",n||\"Invalid type\",t):l(t,s,e,\"boolean\")}}function j(t,e){const[n,s]=f(t,e);return{schema:\"date\",async:!1,_parse:(t,e)=>t instanceof Date?p(t,s,e,\"date\"):y(e,\"type\",\"date\",n||\"Invalid type\",t)}}function k(t,e){const[n,s]=f(t,e);return{schema:\"date\",async:!0,_parse:async(t,e)=>t instanceof Date?l(t,s,e,\"date\"):y(e,\"type\",\"date\",n||\"Invalid type\",t)}}function F(t,e){return{schema:\"enum\",enum:t,async:!1,_parse:(n,s)=>t.includes(n)?{output:n}:y(s,\"type\",\"enum\",e||\"Invalid type\",n)}}function P(t,e){return{schema:\"enum\",enum:t,async:!0,_parse:async(n,s)=>t.includes(n)?{output:n}:y(s,\"type\",\"enum\",e||\"Invalid type\",n)}}function O(t,e,n){const[s,a]=f(e,n);return{schema:\"instance\",class:t,async:!1,_parse:(e,n)=>e instanceof t?p(e,a,n,\"instance\"):y(n,\"type\",\"instance\",s||\"Invalid type\",e)}}function x(t,e,n){const[s,a]=f(e,n);return{schema:\"instance\",class:t,async:!0,_parse:async(e,n)=>e instanceof t?l(e,a,n,\"instance\"):y(n,\"type\",\"instance\",s||\"Invalid type\",e)}}function $(t,e){return{schema:\"literal\",literal:t,async:!1,_parse:(n,s)=>n!==t?y(s,\"type\",\"literal\",e||\"Invalid type\",n):{output:n}}}function z(t,e){return{schema:\"literal\",literal:t,async:!0,_parse:async(n,s)=>n!==t?y(s,\"type\",\"literal\",e||\"Invalid type\",n):{output:n}}}function N(t,e,n,s){const[a,u]=f(n,s);return{schema:\"map\",map:{key:t,value:e},async:!1,_parse(n,s){if(!(n instanceof Map))return y(s,\"type\",\"map\",a||\"Invalid type\",n);let i;const r=new Map;for(const[a,u]of n.entries()){let o;const c=t._parse(a,{origin:\"key\",abortEarly:s?.abortEarly,abortPipeEarly:s?.abortPipeEarly});if(c.issues){o={schema:\"map\",input:n,key:a,value:u};for(const t of c.issues)t.path?t.path.unshift(o):t.path=[o],i?.push(t);if(i||(i=c.issues),s?.abortEarly)break}const p=e._parse(u,s);if(p.issues){o=o||{schema:\"map\",input:n,key:a,value:u};for(const t of p.issues)t.path?t.path.unshift(o):t.path=[o],i?.push(t);if(i||(i=p.issues),s?.abortEarly)break}c.issues||p.issues||r.set(c.output,p.output)}return i?{issues:i}:p(r,u,s,\"map\")}}}function M(t,e,n,s){const[a,u]=f(n,s);return{schema:\"map\",map:{key:t,value:e},async:!0,async _parse(n,s){if(!(n instanceof Map))return y(s,\"type\",\"map\",a||\"Invalid type\",n);const i=new Map;let r;return await Promise.all(Array.from(n.entries()).map((async([a,u])=>{let o;const[c,p]=await Promise.all([{schema:t,value:a,origin:\"key\"},{schema:e,value:u,origin:\"value\"}].map((async({schema:t,value:e,origin:i})=>{if(!s?.abortEarly||!r){const c=await t._parse(e,{origin:i,abortEarly:s?.abortEarly,abortPipeEarly:s?.abortPipeEarly});if(!s?.abortEarly||!r){if(!c.issues)return c;o=o||{schema:\"map\",input:n,key:a,value:u};for(const t of c.issues)t.path?t.path.unshift(o):t.path=[o],r?.push(t);if(r||(r=c.issues),s?.abortEarly)throw null}}}))).catch((()=>[]));c&&p&&i.set(c.output,p.output)}))),r?{issues:r}:l(n,u,s,\"map\")}}}function S(t){return{schema:\"nan\",async:!1,_parse:(e,n)=>Number.isNaN(e)?{output:e}:y(n,\"type\",\"nan\",t||\"Invalid type\",e)}}function T(t){return{schema:\"nan\",async:!0,_parse:async(e,n)=>Number.isNaN(e)?{output:e}:y(n,\"type\",\"nan\",t||\"Invalid type\",e)}}function U(t,e){return{schema:\"native_enum\",nativeEnum:t,async:!1,_parse:(n,s)=>Object.values(t).includes(n)?{output:n}:y(s,\"type\",\"native_enum\",e||\"Invalid type\",n)}}function D(t,e){return{schema:\"native_enum\",nativeEnum:t,async:!0,_parse:async(n,s)=>Object.values(t).includes(n)?{output:n}:y(s,\"type\",\"native_enum\",e||\"Invalid type\",n)}}function L(t){return{schema:\"never\",async:!1,_parse:(e,n)=>y(n,\"type\",\"never\",t||\"Invalid type\",e)}}function C(t){return{schema:\"never\",async:!0,_parse:async(e,n)=>y(n,\"type\",\"never\",t||\"Invalid type\",e)}}function W(t,e){return{schema:\"non_nullable\",wrapped:t,async:!1,_parse:(n,s)=>null===n?y(s,\"type\",\"non_nullable\",e||\"Invalid type\",n):t._parse(n,s)}}function Z(t,e){return{schema:\"non_nullable\",wrapped:t,async:!0,_parse:async(n,s)=>null===n?y(s,\"type\",\"non_nullable\",e||\"Invalid type\",n):t._parse(n,s)}}function B(t,e){return{schema:\"non_nullish\",wrapped:t,async:!1,_parse:(n,s)=>null==n?y(s,\"type\",\"non_nullish\",e||\"Invalid type\",n):t._parse(n,s)}}function R(t,e){return{schema:\"non_nullish\",wrapped:t,async:!0,_parse:async(n,s)=>null==n?y(s,\"type\",\"non_nullish\",e||\"Invalid type\",n):t._parse(n,s)}}function q(t,e){return{schema:\"non_optional\",wrapped:t,async:!1,_parse:(n,s)=>void 0===n?y(s,\"type\",\"non_optional\",e||\"Invalid type\",n):t._parse(n,s)}}function V(t,e){return{schema:\"non_optional\",wrapped:t,async:!0,_parse:async(n,s)=>void 0===n?y(s,\"type\",\"non_optional\",e||\"Invalid type\",n):t._parse(n,s)}}function G(t){return{schema:\"nullable\",wrapped:t,async:!1,_parse:(e,n)=>null===e?{output:e}:t._parse(e,n)}}function H(t){return{schema:\"nullable\",wrapped:t,async:!0,_parse:async(e,n)=>null===e?{output:e}:t._parse(e,n)}}function J(t){return{schema:\"nullish\",wrapped:t,async:!1,_parse:(e,n)=>null==e?{output:e}:t._parse(e,n)}}function K(t){return{schema:\"nullish\",wrapped:t,async:!0,_parse:async(e,n)=>null==e?{output:e}:t._parse(e,n)}}function Q(t){return{schema:\"null\",async:!1,_parse:(e,n)=>null!==e?y(n,\"type\",\"null\",t||\"Invalid type\",e):{output:e}}}function X(t){return{schema:\"null\",async:!0,_parse:async(e,n)=>null!==e?y(n,\"type\",\"null\",t||\"Invalid type\",e):{output:e}}}function Y(t,e){const[n,s]=f(t,e);return{schema:\"number\",async:!1,_parse:(t,e)=>\"number\"!=typeof t?y(e,\"type\",\"number\",n||\"Invalid type\",t):p(t,s,e,\"number\")}}function tt(t,e){const[n,s]=f(t,e);return{schema:\"number\",async:!0,_parse:async(t,e)=>\"number\"!=typeof t?y(e,\"type\",\"number\",n||\"Invalid type\",t):l(t,s,e,\"number\")}}function et(t,e,n){const[s,a]=f(e,n);let u;return{schema:\"object\",object:t,async:!1,_parse(e,n){if(!e||\"object\"!=typeof e)return y(n,\"type\",\"object\",s||\"Invalid type\",e);let i;u=u||Object.entries(t);const r={};for(const[t,s]of u){const a=e[t],u=s._parse(a,n);if(u.issues){const s={schema:\"object\",input:e,key:t,value:a};for(const t of u.issues)t.path?t.path.unshift(s):t.path=[s],i?.push(t);if(i||(i=u.issues),n?.abortEarly)break}else r[t]=u.output}return i?{issues:i}:p(r,a,n,\"object\")}}}function nt(t,e,n){const[s,a]=f(e,n);let u;return{schema:\"object\",object:t,async:!0,async _parse(e,n){if(!e||\"object\"!=typeof e)return y(n,\"type\",\"object\",s||\"Invalid type\",e);let i;u=u||Object.entries(t);const r={};return await Promise.all(u.map((async([t,s])=>{if(!n?.abortEarly||!i){const a=e[t],u=await s._parse(a,n);if(!n?.abortEarly||!i)if(u.issues){const s={schema:\"object\",input:e,key:t,value:a};for(const t of u.issues)t.path?t.path.unshift(s):t.path=[s],i?.push(t);if(i||(i=u.issues),n?.abortEarly)throw null}else r[t]=u.output}}))).catch((()=>null)),i?{issues:i}:l(r,a,n,\"object\")}}}function st(t){return{schema:\"optional\",wrapped:t,async:!1,_parse:(e,n)=>void 0===e?{output:e}:t._parse(e,n)}}function at(t){return{schema:\"optional\",wrapped:t,async:!0,_parse:async(e,n)=>void 0===e?{output:e}:t._parse(e,n)}}function ut(t,e){const[n,s]=f(t,e);return{schema:\"string\",async:!1,_parse:(t,e)=>\"string\"!=typeof t?y(e,\"type\",\"string\",n||\"Invalid type\",t):p(t,s,e,\"string\")}}function it(t,e){const[n,s]=f(t,e);return{schema:\"string\",async:!0,_parse:async(t,e)=>\"string\"!=typeof t?y(e,\"type\",\"string\",n||\"Invalid type\",t):l(t,s,e,\"string\")}}function rt(t,e,n,s){if(\"object\"==typeof e&&!Array.isArray(e)){const[a,u]=f(n,s);return[t,e,a,u]}const[a,u]=f(e,n);return[ut(),t,a,u]}var ot=[\"__proto__\",\"prototype\",\"constructor\"];function ct(t,e,n,s){const[a,u,i,r]=rt(t,e,n,s);return{schema:\"record\",record:{key:a,value:u},async:!1,_parse(t,e){if(!t||\"object\"!=typeof t)return y(e,\"type\",\"record\",i||\"Invalid type\",t);let n;const s={};for(const[i,r]of Object.entries(t))if(!ot.includes(i)){let o;const c=a._parse(i,{origin:\"key\",abortEarly:e?.abortEarly,abortPipeEarly:e?.abortPipeEarly});if(c.issues){o={schema:\"record\",input:t,key:i,value:r};for(const t of c.issues)t.path=[o],n?.push(t);if(n||(n=c.issues),e?.abortEarly)break}const p=u._parse(r,e);if(p.issues){o=o||{schema:\"record\",input:t,key:i,value:r};for(const t of p.issues)t.path?t.path.unshift(o):t.path=[o],n?.push(t);if(n||(n=p.issues),e?.abortEarly)break}c.issues||p.issues||(s[c.output]=p.output)}return n?{issues:n}:p(s,r,e,\"record\")}}}function pt(t,e,n,s){const[a,u,i,r]=rt(t,e,n,s);return{schema:\"record\",record:{key:a,value:u},async:!0,async _parse(t,e){if(!t||\"object\"!=typeof t)return y(e,\"type\",\"record\",i||\"Invalid type\",t);let n;const s={};return await Promise.all(Object.entries(t).map((async([i,r])=>{if(!ot.includes(i)){let o;const[c,p]=await Promise.all([{schema:a,value:i,origin:\"key\"},{schema:u,value:r,origin:\"value\"}].map((async({schema:s,value:a,origin:u})=>{if(!e?.abortEarly||!n){const c=await s._parse(a,{origin:u,abortEarly:e?.abortEarly,abortPipeEarly:e?.abortPipeEarly});if(!e?.abortEarly||!n){if(!c.issues)return c;o=o||{schema:\"record\",input:t,key:i,value:r};for(const t of c.issues)t.path?t.path.unshift(o):t.path=[o],n?.push(t);if(n||(n=c.issues),e?.abortEarly)throw null}}}))).catch((()=>[]));c&&p&&(s[c.output]=p.output)}}))),n?{issues:n}:l(s,r,e,\"record\")}}}function lt(t){return{schema:\"recursive\",getter:t,async:!1,_parse:(e,n)=>t()._parse(e,n)}}function ft(t){return{schema:\"recursive\",getter:t,async:!0,_parse:async(e,n)=>t()._parse(e,n)}}function yt(t,e,n){const[s,a]=f(e,n);return{schema:\"set\",set:{value:t},async:!1,_parse(e,n){if(!(e instanceof Set))return y(n,\"type\",\"set\",s||\"Invalid type\",e);let u,i=0;const r=new Set;for(const s of e){const a=t._parse(s,n);if(a.issues){const t={schema:\"set\",input:e,key:i,value:s};for(const e of a.issues)e.path?e.path.unshift(t):e.path=[t],u?.push(e);if(u||(u=a.issues),n?.abortEarly)break}else r.add(a.output);i++}return u?{issues:u}:p(r,a,n,\"set\")}}}function dt(t,e,n){const[s,a]=f(e,n);return{schema:\"set\",set:{value:t},async:!0,async _parse(e,n){if(!(e instanceof Set))return y(n,\"type\",\"set\",s||\"Invalid type\",e);let u;const i=new Set;return await Promise.all(Array.from(e.values()).map((async(s,a)=>{if(!n?.abortEarly||!u){const r=await t._parse(s,n);if(!n?.abortEarly||!u)if(r.issues){const t={schema:\"set\",input:e,key:a,value:s};for(const e of r.issues)e.path?e.path.unshift(t):e.path=[t],u?.push(e);if(u||(u=r.issues),n?.abortEarly)throw null}else i.add(r.output)}}))).catch((()=>null)),u?{issues:u}:l(e,a,n,\"set\")}}}function mt(t,e,n){const[s,a]=f(e,n);return{schema:\"special\",async:!1,_parse:(e,n)=>t(e)?p(e,a,n,\"special\"):y(n,\"type\",\"special\",s||\"Invalid type\",e)}}function ht(t,e,n){const[s,a]=f(e,n);return{schema:\"special\",async:!0,_parse:async(e,n)=>await t(e)?l(e,a,n,\"special\"):y(n,\"type\",\"special\",s||\"Invalid type\",e)}}function vt(t){return{schema:\"symbol\",async:!1,_parse:(e,n)=>\"symbol\"!=typeof e?y(n,\"type\",\"symbol\",t||\"Invalid type\",e):{output:e}}}function bt(t){return{schema:\"symbol\",async:!0,_parse:async(e,n)=>\"symbol\"!=typeof e?y(n,\"type\",\"symbol\",t||\"Invalid type\",e):{output:e}}}function _t(t,e,n){if(\"object\"==typeof t&&!Array.isArray(t)){const[s,a]=f(e,n);return[t,s,a]}const[s,a]=f(t,e);return[void 0,s,a]}function gt(t,e,n,s){const[a,u,i]=_t(e,n,s);return{schema:\"tuple\",tuple:{items:t,rest:a},async:!1,_parse(e,n){if(!Array.isArray(e)||!a&&t.length!==e.length||a&&t.length>e.length)return y(n,\"type\",\"tuple\",u||\"Invalid type\",e);let s;const r=[];for(let a=0;a<t.length;a++){const u=e[a],i=t[a]._parse(u,n);if(i.issues){const t={schema:\"tuple\",input:e,key:a,value:u};for(const e of i.issues)e.path?e.path.unshift(t):e.path=[t],s?.push(e);if(s||(s=i.issues),n?.abortEarly)break}else r[a]=i.output}if(a)for(let u=t.length;u<e.length;u++){const t=e[u],i=a._parse(t,n);if(i.issues){const a={schema:\"tuple\",input:e,key:u,value:t};for(const t of i.issues)t.path?t.path.unshift(a):t.path=[a],s?.push(t);if(s||(s=i.issues),n?.abortEarly)break}else r[u]=i.output}return s?{issues:s}:p(r,i,n,\"tuple\")}}}function It(t,e,n,s){const[a,u,i]=_t(e,n,s);return{schema:\"tuple\",tuple:{items:t,rest:a},async:!0,async _parse(e,n){if(!Array.isArray(e)||!a&&t.length!==e.length||a&&t.length>e.length)return y(n,\"type\",\"tuple\",u||\"Invalid type\",e);let s;const r=[];return await Promise.all([Promise.all(t.map((async(t,a)=>{if(!n?.abortEarly||!s){const u=e[a],i=await t._parse(u,n);if(!n?.abortEarly||!s)if(i.issues){const t={schema:\"tuple\",input:e,key:a,value:u};for(const e of i.issues)e.path?e.path.unshift(t):e.path=[t],s?.push(e);if(s||(s=i.issues),n?.abortEarly)throw null}else r[a]=i.output}}))),a&&Promise.all(e.slice(t.length).map((async(u,i)=>{if(!n?.abortEarly||!s){const o=t.length+i,c=await a._parse(u,n);if(!n?.abortEarly||!s)if(c.issues){const t={schema:\"tuple\",input:e,key:o,value:u};for(const e of c.issues)e.path?e.path.unshift(t):e.path=[t],s?.push(e);if(s||(s=c.issues),n?.abortEarly)throw null}else r[o]=c.output}})))]).catch((()=>null)),s?{issues:s}:l(r,i,n,\"tuple\")}}}function Et(t){return{schema:\"undefined\",async:!1,_parse:(e,n)=>void 0!==e?y(n,\"type\",\"undefined\",t||\"Invalid type\",e):{output:e}}}function wt(t){return{schema:\"undefined\",async:!0,_parse:async(e,n)=>void 0!==e?y(n,\"type\",\"undefined\",t||\"Invalid type\",e):{output:e}}}function At(t,e){return{schema:\"union\",union:t,async:!1,_parse(n,s){let a,u;for(const e of t){const t=e._parse(n,s);if(!t.issues){u=[t.output];break}if(a)for(const e of t.issues)a.push(e);else a=t.issues}return u?{output:u[0]}:y(s,\"type\",\"union\",e||\"Invalid type\",n,a)}}}function jt(t,e){return{schema:\"union\",union:t,async:!0,async _parse(n,s){let a,u;for(const e of t){const t=await e._parse(n,s);if(!t.issues){u=[t.output];break}if(a)for(const e of t.issues)a.push(e);else a=t.issues}return u?{output:u[0]}:y(s,\"type\",\"union\",e||\"Invalid type\",n,a)}}}function kt(t=[]){return{schema:\"unknown\",async:!1,_parse:(e,n)=>p(e,t,n,\"unknown\")}}function Ft(t=[]){return{schema:\"unknown\",async:!0,_parse:async(e,n)=>l(e,t,n,\"unknown\")}}function Pt(t){return{schema:\"void\",async:!1,_parse:(e,n)=>void 0!==e?y(n,\"type\",\"void\",t||\"Invalid type\",e):{output:e}}}function Ot(t){return{schema:\"void\",async:!0,_parse:async(e,n)=>void 0!==e?y(n,\"type\",\"void\",t||\"Invalid type\",e):{output:e}}}function xt(t){return F(Object.keys(t.object))}function $t(t,e,n){const[s,a]=f(e,n);return et(t.reduce(((t,e)=>({...t,...e.object})),{}),s,a)}function zt(t,e,n){const[s,a]=f(e,n);return nt(t.reduce(((t,e)=>({...t,...e.object})),{}),s,a)}function Nt(t,e,n,s){const[a,u]=f(n,s);return et(Object.entries(t.object).reduce(((t,[n,s])=>e.includes(n)?t:{...t,[n]:s}),{}),a,u)}function Mt(t,e,n,s){const[a,u]=f(n,s);return nt(Object.entries(t.object).reduce(((t,[n,s])=>e.includes(n)?t:{...t,[n]:s}),{}),a,u)}function St(t,n,s){const a=t._parse(n,s);if(a.issues)throw new e(a.issues);return a.output}async function Tt(t,n,s){const a=await t._parse(n,s);if(a.issues)throw new e(a.issues);return a.output}function Ut(t,e,n){const[s,a]=f(e,n);return et(Object.entries(t.object).reduce(((t,[e,n])=>({...t,[e]:st(n)})),{}),s,a)}function Dt(t,e,n){const[s,a]=f(e,n);return nt(Object.entries(t.object).reduce(((t,[e,n])=>({...t,[e]:at(n)})),{}),s,a)}function Lt(t,e,n,s){const[a,u]=f(n,s);return et(Object.entries(t.object).reduce(((t,[n,s])=>e.includes(n)?{...t,[n]:s}:t),{}),a,u)}function Ct(t,e,n,s){const[a,u]=f(n,s);return nt(Object.entries(t.object).reduce(((t,[n,s])=>e.includes(n)?{...t,[n]:s}:t),{}),a,u)}function Wt(t,e,n){const[s,a]=f(e,n);return et(Object.entries(t.object).reduce(((t,[e,n])=>({...t,[e]:q(n)})),{}),s,a)}function Zt(t,e,n){const[s,a]=f(e,n);return nt(Object.entries(t.object).reduce(((t,[e,n])=>({...t,[e]:V(n)})),{}),s,a)}function Bt(t,n,s){const a=t._parse(n,s);return a.issues?{success:!1,error:new e(a.issues),issues:a.issues}:{success:!0,data:a.output,output:a.output}}async function Rt(t,n,s){const a=await t._parse(n,s);return a.issues?{success:!1,error:new e(a.issues),issues:a.issues}:{success:!0,data:a.output,output:a.output}}function qt(t,e){return{...t,_parse(n,s){const a=t._parse(n,s);return a.issues||Object.keys(n).length===Object.keys(a.output).length?a:y(s,\"object\",\"strict\",e||\"Invalid keys\",n)}}}function Vt(t,e){return{...t,async _parse(n,s){const a=await t._parse(n,s);return a.issues||Object.keys(n).length===Object.keys(a.output).length?a:y(s,\"object\",\"strict\",e||\"Invalid keys\",n)}}}function Gt(t,e){return{...t,_parse(n,s){const a=t._parse(n,s);return a.issues?a:{output:e(a.output)}}}}function Ht(t,e){return{...t,async:!0,async _parse(n,s){const a=await t._parse(n,s);return a.issues?a:{output:await e(a.output)}}}}function Jt(t){return t.wrapped}function Kt(t,e){return{...t,_parse:(n,s)=>t._parse(void 0===n?\"function\"==typeof e?e():e:n,s)}}var Qt=Kt;function Xt(t){return e=>({output:t(e)})}function Yt(t){return async e=>({output:await t(e)})}function te(){return t=>({output:t.toLocaleLowerCase()})}function ee(t){return e=>({output:e>t?t:e})}function ne(t){return e=>({output:e<t?t:e})}function se(){return t=>({output:t.trim()})}function ae(){return t=>({output:t.trimEnd()})}function ue(){return t=>({output:t.trimStart()})}function ie(){return t=>({output:t.toUpperCase()})}function re(t,e){return n=>(new TextEncoder).encode(n).length!==t?{issue:{validation:\"bytes\",message:e||\"Invalid byte length\",input:n}}:{output:n}}function oe(t,e){return n=>t(n)?{output:n}:{issue:{validation:\"custom\",message:e||\"Invalid input\",input:n}}}function ce(t,e){return async n=>await t(n)?{output:n}:{issue:{validation:\"custom\",message:e||\"Invalid input\",input:n}}}function pe(t){return e=>/^(([^<>()[\\].,;:\\s@\"]+(\\.[^<>()[\\].,;:\\s@\"]+)*)|(\".+\"))@(([^<>()[\\].,;:\\s@\"]+\\.)+[^<>()[\\].,;:\\s@\"]{2,})$/i.test(e)?{output:e}:{issue:{validation:\"email\",message:t||\"Invalid email\",input:e}}}function le(t){return e=>/^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$/u.test(e)?{output:e}:{issue:{validation:\"emoji\",message:t||\"Invalid emoji\",input:e}}}function fe(t,e){return n=>n.endsWith(t)?{output:n}:{issue:{validation:\"ends_with\",message:e||\"Invalid end\",input:n}}}function ye(t,e){return n=>n!==t?{issue:{validation:\"equal\",message:e||\"Invalid input\",input:n}}:{output:n}}function de(t,e){return n=>n.includes(t)?{issue:{validation:\"excludes\",message:e||\"Invalid content\",input:n}}:{output:n}}function me(t){return e=>Number.isFinite(e)?{output:e}:{issue:{validation:\"finite\",message:t||\"Invalid finite number\",input:e}}}function he(t){return e=>/^\\d{2}[ |/|-]?\\d{6}[ |/|-]?\\d{6}[ |/|-]?\\d$/.test(e)&&d(e)?{output:e}:{issue:{validation:\"imei\",message:t||\"Invalid IMEI\",input:e}}}function ve(t,e){return n=>n.includes(t)?{output:n}:{issue:{validation:\"includes\",message:e||\"Invalid content\",input:n}}}function be(t){return e=>Number.isInteger(e)?{output:e}:{issue:{validation:\"integer\",message:t||\"Invalid integer\",input:e}}}function _e(t){return e=>/^((25[0-5]|(2[0-4]|1\\d|[1-9]|)\\d)\\.?\\b){4}$/.test(e)||/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/.test(e)?{output:e}:{issue:{validation:\"ip\",message:t||\"Invalid IP\",input:e}}}function ge(t){return e=>/^((25[0-5]|(2[0-4]|1\\d|[1-9]|)\\d)\\.?\\b){4}$/.test(e)?{output:e}:{issue:{validation:\"ipv4\",message:t||\"Invalid IP v4\",input:e}}}function Ie(t){return e=>/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/.test(e)?{output:e}:{issue:{validation:\"ipv6\",message:t||\"Invalid IP v6\",input:e}}}function Ee(t){return e=>/^\\d{4}-(0[1-9]|1[0-2])-([12]\\d|0[1-9]|3[01])$/.test(e)?{output:e}:{issue:{validation:\"iso_date\",message:t||\"Invalid date\",input:e}}}function we(t){return e=>/^\\d{4}-(0[1-9]|1[0-2])-([12]\\d|0[1-9]|3[01])T(0[0-9]|1\\d|2[0-3]):[0-5]\\d$/.test(e)?{output:e}:{issue:{validation:\"iso_date_time\",message:t||\"Invalid datetime\",input:e}}}function Ae(t){return e=>/^(0[0-9]|1\\d|2[0-3]):[0-5]\\d$/.test(e)?{output:e}:{issue:{validation:\"iso_time\",message:t||\"Invalid time\",input:e}}}function je(t){return e=>/^(0[0-9]|1\\d|2[0-3]):[0-5]\\d:[0-5]\\d$/.test(e)?{output:e}:{issue:{validation:\"iso_time_second\",message:t||\"Invalid time\",input:e}}}function ke(t){return e=>/^\\d{4}-(0[1-9]|1[0-2])-([12]\\d|0[1-9]|3[01])T(0[0-9]|1\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}Z$/.test(e)?{output:e}:{issue:{validation:\"iso_timestamp\",message:t||\"Invalid timestamp\",input:e}}}function Fe(t){return e=>/^\\d{4}-W(0[1-9]|[1-4]\\d|5[0-3])$/.test(e)?{output:e}:{issue:{validation:\"iso_week\",message:t||\"Invalid week\",input:e}}}function Pe(t,e){return n=>n.length!==t?{issue:{validation:\"length\",message:e||\"Invalid length\",input:n}}:{output:n}}function Oe(t,e){return n=>(new TextEncoder).encode(n).length>t?{issue:{validation:\"max_bytes\",message:e||\"Invalid byte length\",input:n}}:{output:n}}function xe(t,e){return n=>n.length>t?{issue:{validation:\"max_length\",message:e||\"Invalid length\",input:n}}:{output:n}}function $e(t,e){return n=>n.size>t?{issue:{validation:\"max_size\",message:e||\"Invalid size\",input:n}}:{output:n}}function ze(t,e){return n=>n>t?{issue:{validation:\"max_value\",message:e||\"Invalid value\",input:n}}:{output:n}}var Ne=ze;function Me(t,e){return n=>(new TextEncoder).encode(n).length<t?{issue:{validation:\"min_bytes\",message:e||\"Invalid byte length\",input:n}}:{output:n}}function Se(t,e){return n=>t.includes(n.type)?{output:n}:{issue:{validation:\"mime_type\",message:e||\"Invalid MIME type\",input:n}}}function Te(t,e){return n=>n.length<t?{issue:{validation:\"min_length\",message:e||\"Invalid length\",input:n}}:{output:n}}function Ue(t,e){return n=>n.size<t?{issue:{validation:\"min_size\",message:e||\"Invalid size\",input:n}}:{output:n}}function De(t,e){return n=>n<t?{issue:{validation:\"min_value\",message:e||\"Invalid value\",input:n}}:{output:n}}var Le=De;function Ce(t,e){return n=>n%t!=0?{issue:{validation:\"multipleOf\",message:e||\"Invalid multiple\",input:n}}:{output:n}}function We(t,e){return n=>t.test(n)?{output:n}:{issue:{validation:\"regex\",message:e||\"Invalid regex\",input:n}}}function Ze(t){return e=>Number.isSafeInteger(e)?{output:e}:{issue:{validation:\"safe_integer\",message:t||\"Invalid safe integer\",input:e}}}function Be(t,e){return n=>n.size!==t?{issue:{validation:\"size\",message:e||\"Invalid size\",input:n}}:{output:n}}function Re(t,e){return n=>n.startsWith(t)?{output:n}:{issue:{validation:\"starts_with\",message:e||\"Invalid start\",input:n}}}function qe(t){return e=>{try{return new URL(e),{output:e}}catch(n){return{issue:{validation:\"url\",message:t||\"Invalid URL\",input:e}}}}}function Ve(t){return e=>/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)?{output:e}:{issue:{validation:\"uuid\",message:t||\"Invalid UUID\",input:e}}}function Ge(t,e){return n=>n!==t?{issue:{validation:\"value\",message:e||\"Invalid value\",input:n}}:{output:n}}export{e as ValiError,m as any,h as anyAsync,v as array,b as arrayAsync,_ as bigint,g as bigintAsync,I as blob,E as blobAsync,w as boolean,A as booleanAsync,n as brand,re as bytes,s as coerce,a as coerceAsync,oe as custom,ce as customAsync,j as date,k as dateAsync,pe as email,le as emoji,fe as endsWith,F as enumType,P as enumTypeAsync,ye as equal,de as excludes,p as executePipe,l as executePipeAsync,u as fallback,i as fallbackAsync,me as finite,t as flatten,f as getDefaultArgs,y as getIssues,he as imei,ve as includes,O as instance,x as instanceAsync,be as integer,_e as ip,ge as ipv4,Ie as ipv6,r as is,d as isLuhnAlgo,Ee as isoDate,we as isoDateTime,Ae as isoTime,je as isoTimeSecond,ke as isoTimestamp,Fe as isoWeek,xt as keyof,Pe as length,$ as literal,z as literalAsync,N as map,M as mapAsync,Oe as maxBytes,xe as maxLength,Ne as maxRange,$e as maxSize,ze as maxValue,$t as merge,zt as mergeAsync,Se as mimeType,Me as minBytes,Te as minLength,Le as minRange,Ue as minSize,De as minValue,Ce as multipleOf,S as nan,T as nanAsync,U as nativeEnum,D as nativeEnumAsync,L as never,C as neverAsync,W as nonNullable,Z as nonNullableAsync,B as nonNullish,R as nonNullishAsync,q as nonOptional,V as nonOptionalAsync,Q as nullType,X as nullTypeAsync,G as nullable,H as nullableAsync,J as nullish,K as nullishAsync,Y as number,tt as numberAsync,et as object,nt as objectAsync,Nt as omit,Mt as omitAsync,st as optional,at as optionalAsync,St as parse,Tt as parseAsync,Ut as partial,Dt as partialAsync,Lt as pick,Ct as pickAsync,ct as record,pt as recordAsync,lt as recursive,ft as recursiveAsync,We as regex,Wt as required,Zt as requiredAsync,Ze as safeInteger,Bt as safeParse,Rt as safeParseAsync,yt as set,dt as setAsync,Be as size,mt as special,ht as specialAsync,Re as startsWith,qt as strict,Vt as strictAsync,ut as string,it as stringAsync,vt as symbol,bt as symbolAsync,Xt as toCustom,Yt as toCustomAsync,te as toLowerCase,ee as toMaxValue,ne as toMinValue,se as toTrimmed,ae as toTrimmedEnd,ue as toTrimmedStart,ie as toUpperCase,Gt as transform,Ht as transformAsync,gt as tuple,It as tupleAsync,Et as undefinedType,wt as undefinedTypeAsync,At as union,jt as unionAsync,kt as unknown,Ft as unknownAsync,Jt as unwrap,qe as url,Qt as useDefault,Ve as uuid,Ge as value,Pt as voidType,Ot as voidTypeAsync,Kt as withDefault};export default null;\n//# sourceMappingURL=/sm/97a74275d782479b594a5948c4ac7a7747be06c23ce912160f26a706eacbc9f0.map"],
  "mappings": "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AK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GA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",
  "names": ["init_ssg_sandbox_shims", "init_ssg_sandbox_shims", "init_ssg_sandbox_shims", "containerStyles", "emptyStateStyle", "defaultEvents", "ControlType", "fontSizeOptions", "fontControls", "font", "init_ssg_sandbox_shims", "useOnEnter", "onEnter", "enabled", "useOnSpecificTargetChange", "useOnExit", "onExit", "goal", "callback", "isInTarget", "useIsInCurrentNavigationTarget", "ue", "init_ssg_sandbox_shims", "useConstant", "init", "ref", "pe", "init_ssg_sandbox_shims", "init_ssg_sandbox_shims", "init_ssg_sandbox_shims", "init_ssg_sandbox_shims", "init_ssg_sandbox_shims", "isBrowserSafari", "userAgent", "useIsBrowserSafari", "se", "init_ssg_sandbox_shims", "init_ssg_sandbox_shims", "init_ssg_sandbox_shims", "init_ssg_sandbox_shims", "init_ssg_sandbox_shims", "useRenderTarget", "se", "RenderTarget", "useIsOnCanvas", "se", "RenderTarget", "init_ssg_sandbox_shims", "init_ssg_sandbox_shims", "useRadius", "props", "borderRadius", "isMixedBorderRadius", "topLeftRadius", "topRightRadius", "bottomRightRadius", "bottomLeftRadius", "se", "borderRadiusControl", "ControlType", "usePadding", "padding", "paddingPerSide", "paddingTop", "paddingRight", "paddingBottom", "paddingLeft", "paddingControl", "init_ssg_sandbox_shims", "init_ssg_sandbox_shims", "init_ssg_sandbox_shims", "isMotionValue", "v", "MotionValue", "useAutoMotionValue", "inputValue", "options", "optionsRef", "pe", "animation", "didInitialMount", "isOnCanvas", "RenderTarget", "onChangeDeps", "onChange", "te", "transformer", "value", "ref", "value1", "useConstant", "isMotionValue", "motionValue", "ue", "ref1", "newValue", "ref2", "animate2", "init_ssg_sandbox_shims", "init_ssg_sandbox_shims", "_global", "exports", "root", "factory", "propertyNames", "i", "len", "val", "tOfVal", "absArr", "flag", "element", "type", "currentTime", "totalTime", "frameMultiplier", "totalLoops", "currentLoop", "firstFrame", "totalFrames", "target", "nativeError", "_count", "h", "s", "v", "r", "g", "b", "f", "p", "q", "t", "max", "min", "d", "color", "offset", "hsv", "colorMap", "hex", "eventName", "args", "callback", "createRegularArray", "arr", "value", "createTypedArrayFactory", "prop", "container", "blendModeEnums", "mode", "_cos", "_sin", "_tan", "_rnd", "reset", "rotate", "angle", "mCos", "mSin", "rotateX", "rotateY", "rotateZ", "shear", "sx", "sy", "skew", "ax", "ay", "skewFromAxis", "scale", "sz", "setTransform", "a", "c", "e", "j", "k", "l", "m", "n", "o", "translate", "tx", "ty", "tz", "transform", "a2", "b2", "c2", "d2", "e2", "f2", "g2", "h2", "i2", "j2", "k2", "l2", "m2", "n2", "o2", "p2", "_p", "a1", "b1", "c1", "d1", "e1", "f1", "g1", "h1", "i1", "j1", "k1", "l1", "m1", "n1", "o1", "p1", "isIdentity", "equals", "matr", "clone", "cloneFromProps", "props", "applyToPoint", "x", "y", "z", "applyToX", "applyToY", "applyToZ", "getInverseMatrix", "determinant", "inverseMatrix", "inversePoint", "pt", "inversePoints", "pts", "retPts", "applyToTriplePoints", "pt1", "pt2", "pt3", "p0", "p4", "p5", "p12", "p13", "applyToPointArray", "applyToPointStringified", "toCSS", "cssValue", "roundMatrixProperty", "to2dCSS", "_a", "_b", "_c", "_d", "_e", "_f", "pool", "math", "global", "width", "chunks", "digits", "rngname", "startdenom", "significance", "overflow", "mask", "nodecrypto", "seedrandom", "seed", "options", "key", "shortseed", "mixkey", "flatten", "tostring", "autoseed", "arc4", "ARC4", "prng", "is_math_call", "state", "copy", "keylen", "me", "count", "obj", "depth", "result", "typ", "stringseed", "smear", "out", "browser", "plugins", "ob", "getBezierEasing", "beziers", "nm", "str", "bezEasing", "BezierEasing", "NEWTON_ITERATIONS", "NEWTON_MIN_SLOPE", "SUBDIVISION_PRECISION", "SUBDIVISION_MAX_ITERATIONS", "kSplineTableSize", "kSampleStepSize", "float32ArraySupported", "A", "aA1", "aA2", "B", "C", "calcBezier", "aT", "getSlope", "binarySubdivide", "aX", "aA", "aB", "mX1", "mX2", "currentX", "currentT", "newtonRaphsonIterate", "aGuessT", "currentSlope", "points", "mY1", "mY2", "mSampleValues", "intervalStart", "currentSample", "lastSample", "dist", "guessForT", "initialSlope", "lastTime", "vendors", "currTime", "timeToCall", "id", "sources", "destination", "sourcePrototype", "attr", "object", "prototype", "ProxyFunction", "pointOnLine2D", "x1", "y1", "x2", "y2", "x3", "y3", "det1", "pointOnLine3D", "z1", "z2", "z3", "dist1", "dist2", "dist3", "diffDist", "getBezierLength", "pt4", "curveSegments", "ptCoord", "perc", "addedLength", "ptDistance", "point", "lastPoint", "lengthData", "getSegmentsLength", "shapeData", "segmentsLength", "closed", "pathV", "pathO", "pathI", "lengths", "totalLength", "BezierData", "length", "PointData", "partial", "buildBezierData", "storedData", "bezierName", "bezierData", "getDistancePerc", "percents", "initPos", "lengthPos", "lPerc", "dir", "getPointInSegment", "percent", "t1", "u1", "ptX", "ptY", "bezierSegmentPoints", "getNewSegment", "startPerc", "endPerc", "t0", "u0", "u0u0u0", "t0u0u0_3", "t0t0u0_3", "t0t0t0", "u0u0u1", "t0u0u1_3", "t0t0u1_3", "t0t0t1", "u0u1u1", "t0u1u1_3", "t0t1u1_3", "t0t1t1", "u1u1u1", "t1u1u1_3", "t1t1u1_3", "t1t1t1", "completeLayers", "layers", "comps", "fontManager", "layerData", "jLen", "kLen", "maskProps", "convertPathsToAbsoluteValues", "findCompLayers", "completeShapes", "completeText", "path", "checkVersion", "minimum", "animVersionString", "animVersion", "checkText", "minimumVersion", "updateTextLayer", "textLayer", "documentData", "iterateLayers", "animationData", "checkChars", "pathData", "paths", "checkColors", "iterateShapes", "shapes", "checkShapes", "completeClosingShapes", "completeData", "data", "moduleOb", "fontData", "styles", "fWeight", "fStyle", "styleName", "maxWaitingTime", "emptyChar", "combinedCharacters", "trimFontOptions", "font", "familyArray", "enabledFamilies", "setUpNode", "family", "parentNode", "node", "checkLoadedFonts", "w", "loadedCount", "createHelper", "def", "tHelper", "fontProps", "tCanvasHelper", "addFonts", "defs", "fontArr", "_pendingFonts", "shouldLoadFont", "loadedSelector", "sc", "addChars", "chars", "found", "getCharData", "char", "style", "measureText", "fontName", "size", "index", "doubleSize", "singleSize", "getFontByName", "name", "getCombinedCharacterCodes", "setIsLoaded", "Font", "fontPrototype", "initFrame", "mathAbs", "interpolateValue", "frameNum", "caching", "offsetTime", "newValue", "iterationIndex", "keyData", "nextKeyData", "fnc", "nextKeyTime", "keyTime", "endValue", "ind", "distanceInLine", "segmentPerc", "outX", "outY", "inX", "inY", "keyValue", "quatStart", "createQuaternion", "quatEnd", "time", "quaternionToEuler", "slerp", "az", "aw", "bx", "by", "bz", "bw", "omega", "cosom", "sinom", "scale0", "scale1", "quat", "qx", "qy", "qz", "qw", "heading", "attitude", "bank", "values", "c3", "s1", "s2", "s3", "getValueAtCurrentTime", "initTime", "endTime", "renderResult", "setVValue", "multipliedValue", "processEffectsSequence", "finalValue", "addEffect", "effectFunction", "ValueProperty", "elem", "mult", "MultiDimensionalProperty", "KeyframedValueProperty", "KeyframedMultidimensionalProperty", "to", "ti", "arrLen", "getProp", "defaultVector", "applyToMatrix", "mat", "_mdf", "processKeys", "forceRender", "frameRate", "v1", "v2", "px", "py", "precalculateMatrix", "autoOrient", "addDynamicProperty", "TransformProperty", "getTransformProperty", "pos", "replace", "vX", "vY", "oX", "oY", "iX", "iY", "newPath", "vertices", "outPoints", "inPoints", "init", "cnt", "interpolateShape", "previousValue", "keyPropS", "keyPropE", "isHold", "vertexValue", "kf", "interpolateShapeCurrentTime", "lastFrame", "resetShape", "shapesEqual", "shape1", "shape2", "ShapeProperty", "KeyframedShapeProperty", "EllShapeProperty", "cPoint", "EllShapePropertyFactory", "s0", "_cw", "_v", "StarShapeProperty", "StarShapePropertyFactory", "numPts", "longFlag", "longRad", "shortRad", "longRound", "shortRound", "longPerimSegment", "shortPerimSegment", "rad", "roundness", "perimSegment", "currentAng", "ox", "oy", "RectShapeProperty", "RectShapePropertyFactory", "v0", "round", "getShapeProp", "dataProp", "keys", "getConstructorFunction", "getKeyframedConstructorFunction", "modifiers", "registerModifier", "getModifier", "shapeLength", "totalModifierLength", "segments", "shapeSegments", "segmentOb", "shapeS", "shapeE", "pathsData", "_isFirstFrame", "_s", "shapePaths", "totalShapeLength", "localShapeCollection", "edges", "newShapesData", "lastShapeInCollection", "lastShape", "newPaths", "shapePath", "newShape", "shapeSegment", "currentLengthData", "segmentCount", "segment", "segmentLength", "clonedPath", "currentV", "currentI", "currentO", "closerV", "distance", "newPosPerc", "rd", "amount", "centerPoint", "pathLength", "pMatrix", "rMatrix", "sMatrix", "inv", "scaleX", "scaleY", "elemsData", "elements", "newElements", "renderFlag", "items", "itemsTransform", "cont", "hasReloaded", "copies", "group", "elems", "transformData", "offsetModulo", "roundOffset", "pProps", "rProps", "sProps", "iteration", "renderer", "cLength", "diff", "pathNodes", "_o", "_i", "shapeString", "AudioController", "audioFactory", "audio", "rateValue", "assetPath", "proxyImage", "canvas", "ctx", "imageLoaded", "footageLoaded", "getAssetsPath", "assetData", "assetsPath", "originalPath", "imagePath", "testImageLoaded", "img", "intervalId", "box", "createImageData", "createImgData", "createFootageData", "footageData", "loadAssets", "assets", "cb", "setPath", "setAssetsPath", "getAsset", "destroy", "loadedImages", "loadedFootages", "setCacheType", "elementHelper", "ImagePreloaderFactory", "createFilter", "createAlphaToLuminanceFilter", "filId", "skipCoordinates", "fil", "feColorMatrix", "formatResponse", "xhr", "loadAsset", "errorCallback", "response", "err", "textData", "renderType", "animatorProps", "lettersChangedFlag", "alignment", "animators", "matrixHelper", "renderedLettersCount", "xPos", "yPos", "letters", "pathInfo", "currentLength", "currentPoint", "pointInd", "segmentInd", "prevPoint", "partialLength", "tanAngle", "yOff", "firstLine", "animatorSelector", "letterValue", "offf", "xPathPos", "yPathPos", "initPathPos", "initSegmentInd", "initPointInd", "currentLine", "elemOpacity", "sw", "fc", "letterSw", "letterSc", "letterFc", "letterM", "letterP", "letterO", "animatorJustifyOffset", "animatorFirstCharOffset", "justifyOffsetMult", "lastIndex", "isNewLine", "animatorOffset", "rot", "defaultData", "textAnimatorAnimatables", "updated", "_finalValue", "currentValue", "currentIndex", "textKeys", "text", "charactersArray", "charCode", "newLineFlag", "anchorGrouping", "currentSize", "currentPos", "lineWidths", "lineWidth", "maxLineWidth", "charData", "trackingOffset", "boxWidth", "boxHeight", "currentHeight", "finalText", "lastSpaceIndex", "uncollapsedSpaces", "currentChar", "animatorData", "letterData", "based", "indexes", "currentInd", "newInd", "newData", "dData", "_canResize", "_fontValue", "floor", "TextSelectorPropFactory", "easer", "tot", "newCharsFlag", "divisor", "getTextSelectorProp", "initialLength", "_create", "_release", "_length", "_maxLength", "newElement", "release", "double", "create", "shape", "cloned", "newShapeCollection", "shapeCollection", "parsePayloadLines", "payload", "lines", "line", "keysCount", "_markers", "markers", "_marker", "markerData", "num", "layer", "newLayers", "pInterface", "parentName", "hierarchy", "comp", "animData", "fontsContainer", "animationItem", "config", "ariaLabel", "titleElement", "titleId", "descElement", "descId", "maskElement", "rect", "maskId", "nextElement", "cProps", "trProps", "op", "actionFlag", "popped", "containerStyle", "origin", "elementWidth", "elementHeight", "elementRel", "animationRel", "par", "fillType", "newDOMElement", "nextDOMElement", "nextLayer", "tmpDOMElement", "perspectiveElem", "center", "matrix", "threeDContainerData", "lastThreeDContainerData", "currentContainer", "resizerElem", "wrapper", "svg", "cWidth", "cHeight", "floatingContainer", "globalData", "properties", "currentMasks", "layerId", "expansor", "feMorph", "maskType", "maskRef", "filterID", "isFirstFrame", "finalMat", "viewData", "pathString", "pathShapeValue", "isVisible", "transforms", "ptNew", "component", "_prototype", "position", "level", "transformers", "mProps", "styleOb", "pathElement", "gradientId", "gfill", "stops", "stop", "opacityId", "opFill", "_identityMatrix", "_matrixHelper", "createRenderFunction", "renderFill", "renderGradient", "renderGradientStroke", "renderStroke", "renderPath", "renderContentTransform", "styleData", "itemData", "pathStringTransformed", "redraw", "lLen", "lvl", "iterations", "styleElem", "hasOpacity", "attr1", "attr2", "cValues", "oValues", "ang", "sequence", "transformsManager", "styledShape", "effectsInterface", "blendModeValue", "layerElementParent", "gg", "masker", "maskGroup", "maskGrouper", "feCTr", "feFunc", "alphaRect", "cp", "clipId", "cpGroup", "shouldBreakProcess", "shapeStr", "_fontSize", "lineNumber", "colorData", "timeRemapped", "volumeValue", "textArray", "textContents", "currentTextContent", "usesGlyphs", "tSpan", "singleShape", "tElement", "justify", "textContent", "cachedSpansLength", "textBox", "renderedLetters", "renderedLetter", "textSpan", "tempShapes", "areAnimated", "elementData", "GradientConstructor", "transformProperty", "ownTransformers", "shapeProperty", "itemsData", "prevViewData", "render", "ownStyles", "ownModifiers", "currentTransform", "modifier", "processedPos", "animatedContent", "filter", "filterManager", "feMerge", "feMergeNode", "colorBlack", "colorWhite", "opacity", "feGaussianBlur", "kBlurrinessToSigma", "sigma", "dimensions", "sigmaX", "sigmaY", "edgeMode", "elemChildren", "groupPath", "dasharrayValue", "lineLength", "units", "feComponentTransfer", "feFuncR", "feFuncG", "feFuncB", "color1", "color2", "color3", "tableR", "tableG", "tableB", "effectElements", "inputBlack", "inputWhite", "gamma", "outputBlack", "outputWhite", "table", "colorValue", "outputDelta", "inputDelta", "filterSize", "feOffset", "feFlood", "feComposite", "col", "filterElem", "symbolId", "children", "nextChild", "useElem", "symbol", "newLength", "currentSavedOp", "forceRealStack", "imgW", "imgH", "imgRel", "canvasRel", "widthCrop", "heightCrop", "hasMasks", "shouldRender", "ownTransforms", "parentTransform", "groupTransform", "nodes", "currentStyle", "isMain", "shapeNodes", "groupTransformMat", "grd", "hasFill", "hasStroke", "commands", "pathArr", "lastFill", "lastStroke", "lastStrokeW", "transformedElementStyle", "matrixValue", "item", "boundingBox", "vPoint", "oPoint", "nextIPoint", "nextVPoint", "bounds", "p3", "b2ac", "t2", "tempBoundingBox", "changed", "shapeStyle", "shapeTransform", "innerElemStyle", "textColor", "tParent", "tCont", "tContStyle", "tContTranslation", "tStyle", "tSpanTranslation", "svgStyle", "translation", "textPath", "margin", "svgTransform", "perspectiveStyle", "perspective", "mTransf", "diffVector", "mag", "lookDir", "lookLengthOnXZ", "mRotationX", "mRotationY", "hasMatrixChanged", "matValue", "registeredAnimations", "playingAnimationsNum", "_stopped", "_isFrozen", "removeElement", "ev", "animItem", "subtractPlayingCount", "registerAnimation", "setupAnimation", "getRegisteredAnimations", "lenAnims", "animations", "addPlayingCount", "activate", "loadAnimation", "params", "setSpeed", "animation", "setDirection", "play", "resume", "nowTime", "elapsedTime", "first", "pause", "goToAndStop", "isFrame", "togglePause", "searchAnimations", "standalone", "animElements", "body", "div", "resize", "freeze", "unfreeze", "setVolume", "mute", "unmute", "animType", "wrapperAttributes", "loop", "autoplay", "prerender", "segmentPath", "error", "markerName", "marker", "numValue", "nextValue", "_isComplete", "end", "pendingFrame", "forceFlag", "initExpressions", "stackCount", "registers", "pushExpression", "popExpression", "releaseInstances", "registerExpressionProperty", "expression", "tOfV", "tOfA", "lenA", "retArr", "tOfB", "lenB", "mm", "arr1", "arr2", "vec", "tMin", "tMax", "value1", "value2", "_tMin", "rnd", "rndm", "inTangents", "outTangents", "arrPlaceholder", "inVertexPoint", "outVertexPoint", "wiggle", "freq", "amp", "iWiggle", "lenWiggle", "addedAmps", "periods", "duration", "elem1", "elem2", "fVec", "pitch", "yaw", "val1", "val2", "fn", "iKey", "lenKey", "obKey", "frames", "fps", "framesPerSecond", "_value", "searchExpressions", "getValueAtTime", "getSpeedAtTime", "delta", "speed", "getVelocityAtTime", "velocity", "getStaticValueAtTime", "setGroupProperty", "propertyGroup", "addPropertyDecorator", "loopOut", "durationFlag", "currentFrame", "keyframes", "lastKeyFrame", "cycleDuration", "firstKeyFrame", "ret", "initV", "endV", "current", "repeats", "lastValue", "nextLastValue", "loopIn", "firstValue", "nextFirstValue", "smooth", "samples", "endFrame", "sampleFrequency", "sampleValue", "getTransformValueAtTime", "anchor", "skewAxis", "rotation", "rotationZ", "rotationY", "rotationX", "orientation", "positionX", "positionY", "positionZ", "getTransformStaticValueAtTime", "propertyGetProp", "getShapeValueAtTime", "ShapePropertyConstructorFunction", "KeyframedShapePropertyConstructorFunction", "ShapeExpressions", "accumulatedLength", "initIndex", "endIndex", "vectorType", "xLength", "yLength", "magnitude", "unitVector", "propertyGetShapeProp", "trims", "addDecorator", "isKeyframed", "hasExpressions", "view", "interfaceFunction", "_propertyGroup", "parentPropertyGroup", "propertyName", "iterateElements", "groupInterfaceFactory", "fillInterfaceFactory", "strokeInterfaceFactory", "trimInterfaceFactory", "ellipseInterfaceFactory", "starInterfaceFactory", "rectInterfaceFactory", "roundedInterfaceFactory", "repeaterInterfaceFactory", "contentsInterfaceFactory", "interfaces", "transformInterface", "transformInterfaceFactory", "content", "_dashPropertyGroup", "dashOb", "addPropertyToDashOb", "_interfaceFunction", "parentGroupWrapper", "_prevValue", "_sourceText", "_thisLayerFunction", "stringValue", "getMatrix", "toWorldMat", "propMatrix", "transformMat", "toWorldVec", "toWorld", "fromWorldVec", "fromWorld", "applyPoint", "invertPoint", "fromComp", "sampleImage", "_registerMaskInterface", "maskManager", "_registerEffectsInterface", "effects", "anchorPointDescriptor", "outlineInterfaceFactory", "currentPropertyName", "currentProperty", "searchProperty", "propertyNameIndex", "dataInterfaceFactory", "_thisFunction", "_px", "_py", "_pz", "_transformFactory", "registerComposition", "_thisProjectFunction", "createEffectsInterface", "effectsData", "createGroupInterface", "groupInterface", "createValueInterface", "expressionProperty", "MaskInterface", "MaskManager", "_masksInterfaces", "maskFunction", "defaultUnidimensionalValue", "defaultMultidimensionalValue", "completeProperty", "expressionValue", "property", "valueProp", "UnidimensionalPropertyInterface", "MultidimensionalPropertyInterface", "arrValue", "defaultGetter", "TextExpressionSelectorProp", "getValueProxy", "total", "propertyGetTextProp", "effectItem", "eff", "href", "plugin", "variable", "vars", "pair", "exports$1", "npm_lottie_web_5_7_default", "SrcType", "Poster", "placeholderUrl", "Lottie", "props", "style", "srcUrl", "srcFile", "srcType", "poster", "progressRaw", "playing", "loop", "posterProgress", "pauseOnCanvas", "isForwardsDirection", "speed", "onClick", "onMouseEnter", "onMouseLeave", "onMouseDown", "onMouseUp", "onComplete", "isOnCanvas", "RenderTarget", "shouldPlay", "direction", "isCustomPoster", "el", "pe", "didInitialMount", "animationInfo", "progress", "useAutoMotionValue", "v", "play", "_animationInfo_current_animation", "_animationInfo_current", "pause", "destroy", "scrubTo", "te", "normalizedProgress", "shouldPlayAfter", "frameNumberTarget", "fetchLottieData", "url", "d", "init", "dataUrl", "data", "setup", "options", "anim", "npm_lottie_web_5_7_default", "ue", "cleanup", "c", "val", "normalizedPosterProgress", "p", "motion", "addPropertyControls", "ControlType", "defaultEvents", "init_ssg_sandbox_shims", "init_ssg_sandbox_shims", "init_ssg_sandbox_shims", "containerStyles", "emptyStateStyle", "containerStyles", "NullState", "Y", "_", "ref", "p", "init_ssg_sandbox_shims", "Component", "Home_default", "React", "title", "titleId", "props", "svgRef", "init_ssg_sandbox_shims", "defaultEvents", "ControlType", "findByArray", "arr", "search", "a", "useIconSelection", "iconKeys", "selectByList", "iconSearch", "iconSelection", "lowercaseIconKeyPairs", "iconSearchResult", "se", "iconSearchTerm", "_iconSearchTerm", "findByArray", "iconKeys", "moduleBaseUrl", "lowercaseIconKeyPairs", "res", "key", "Icon", "props", "color", "selectByList", "iconSearch", "iconSelection", "onClick", "onMouseDown", "onMouseUp", "onMouseEnter", "onMouseLeave", "mirrored", "isMounted", "pe", "iconKey", "useIconSelection", "SelectedIcon", "setSelectedIcon", "ye", "Home_default", "npm_react_18_2_exports", "importModule", "module", "ue", "emptyState", "RenderTarget", "p", "NullState", "motion", "addPropertyControls", "ControlType", "defaultEvents", "HeroFonts", "getFonts", "Icon", "cycleOrder", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "transformTemplate1", "_", "t", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "humanReadableVariantMap", "getProps", "height", "id", "width", "props", "createLayoutDependency", "Component", "Y", "ref", "fallbackRef", "pe", "refBinding", "defaultLayoutId", "ae", "activeLocale", "setLocale", "useLocaleInfo", "componentViewport", "useComponentViewport", "style", "className", "layoutId", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "scopingClassNames", "cx", "isDisplayed", "LayoutGroup", "u", "Image2", "getLoadingLazyAtYPosition", "SVG", "RichText", "ComponentViewportProvider", "SmartComponentScopedContainer", "css", "FramerYIqzMMZxV", "withCSS", "YIqzMMZxV_default", "addPropertyControls", "ControlType", "addFonts", "init_ssg_sandbox_shims", "__defProp", "__defProps", "__getOwnPropDescs", "__getOwnPropSymbols", "__hasOwnProp", "__propIsEnum", "__defNormalProp", "obj", "key", "value", "__spreadValues", "a", "b", "prop", "__spreadProps", "__objRest", "source", "exclude", "target", "i0", "r0", "a0", "k1", "t3", "n3", "u2", "c", "n", "F", "k", "z1", "s", "_", "g", "d", "m", "P", "M", "R", "l2", "h2", "O1", "A", "W1", "i3", "c2", "p2", "r3", "o0", "e", "t", "z", "d1", "L1", "K", "C1", "M1", "E1", "B1", "r1", "x", "a1", "u1", "e1", "b2", "L2", "C22", "M2", "E2", "P2", "p3", "t1", "l1", "P1", "I2", "h1", "S2", "v3", "T2", "r", "f3", "o", "x2", "H1", "N1", "F2", "c1", "u", "h", "m3", "A2", "p1", "I1", "V1", "v1", "o1", "n1", "S1", "f1", "Q", "l", "p", "H", "R2", "D", "y", "g3", "G1", "J1", "D2", "k2", "z2", "y3", "w3", "T1", "m1", "x1", "_1", "O2", "q1", "L3", "C3", "K1", "M3", "n2", "E3", "A1", "P3", "g1", "v", "f", "W2", "j", "I3", "S3", "O", "$2", "U2", "K2", "X", "F1", "Y1", "T3", "X1", "w", "L", "U", "S", "T", "J", "B2", "Z1", "Y", "Q1", "e2", "j2", "x3", "t2", "F3", "A3", "R3", "H2", "D3", "k3", "z3", "O3", "W3", "$3", "i2", "r2", "U3", "B3", "j3", "y1", "N2", "V2", "H3", "a2", "G2", "o2", "N3", "V3", "J2", "q22", "R1", "G3", "w1", "B", "d2", "e3", "b1", "s2", "Y2", "X3", "Y3", "K3", "Z3", "t0", "J3", "q3", "e0", "Q3", "n0", "I", "N", "V", "G", "X2", "D1", "Z2", "a3", "i1", "i", "s1", "W", "$", "s0", "s3", "v2", "o3", "f2", "Z", "$1", "m2", "_2", "g2", "y2", "C", "C2", "d3", "w2", "u3", "U1", "l3", "h3", "q", "q2", "DotLottieComponent", "_a", "_b", "children", "className", "setCanvasRef", "setContainerRef", "style", "rest", "__objRest", "containerStyle", "__spreadValues", "p", "__spreadProps", "useDotLottie", "config", "dotLottie", "setDotLottie", "ye", "dotLottieRef", "pe", "configRef", "canvasRef", "containerRef", "hoverHandler", "te", "event", "canvas", "container", "Component", "props", "ue", "dotLottieInstance", "d3", "startFrame", "endFrame", "useIsomorphicLayoutEffect", "fe", "useStableCallback", "callback", "callbackContainer", "args", "DotLottieReact", "animationId", "autoplay", "backgroundColor", "data", "dotLottieRefCallback", "loop", "marker", "mode", "playOnHover", "renderConfig", "segment", "speed", "src", "themeData", "themeId", "useFrameInterpolation", "DotLottieComponent2", "stableDotLottieRefCallback", "init_ssg_sandbox_shims", "init_ssg_sandbox_shims", "t", "n", "r", "i", "e", "o", "a", "s", "u", "h", "f", "l", "c", "p", "v", "d", "g", "y", "m", "w", "b", "z", "k", "M", "x", "S", "C", "A", "T", "D", "E", "t", "n", "r", "i", "F", "s", "u", "f", "l", "p", "v", "d", "e", "g", "m", "w", "b", "k", "I", "S", "O", "q", "W", "A", "U", "z", "M", "L", "Z", "$", "j", "G", "H", "a", "B", "x", "N", "R", "y", "J", "K", "P", "Q", "V", "X", "_", "tt", "C", "nt", "rt", "h", "it", "et", "c", "o", "ot", "at", "st", "T", "Y", "At", "Mt", "nt", "vt", "dt", "it", "mt", "et", "t", "ot", "n", "at", "r", "i", "e", "o", "a", "V", "st", "ut", "s", "u", "E", "ht", "ft", "lt", "ct", "pt", "vt", "dt", "gt", "yt", "Y", "wt", "bt", "J", "zt", "_", "Mt", "t", "n", "J", "xt", "r", "i", "E", "F", "T", "St", "ut", "X", "st", "wt", "Ct", "at", "et", "At", "ot", "Tt", "W", "bt", "gt", "pt", "ct", "Ft", "t", "n", "xt", "r", "i", "e", "vt", "A", "Ot", "ut", "X", "nt", "st", "wt", "Lt", "t", "n", "Y", "bt", "r", "J", "yt", "ct", "Gt", "t", "n", "xt", "mt", "E", "Ht", "ut", "X", "it", "st", "wt", "Rt", "t", "n", "wt", "Ft", "xt", "Gt", "r", "E", "i", "Wt", "Ot", "St", "Ht", "Pt", "Qt", "Vt", "B", "Xt", "t", "n", "r", "i", "e", "T", "_t", "E", "o", "a", "tn", "nn", "s", "u", "h", "f", "rn", "en", "on", "ht", "an", "ft", "sn", "lt", "un", "hn", "l", "ct", "c", "p", "v", "d", "g", "fn", "ln", "W", "cn", "bt", "pn", "zt", "vn", "K", "yn", "t", "n", "mn", "xt", "r", "wn", "St", "i", "T", "bn", "B", "E", "e", "o", "a", "s", "u", "h", "f", "l", "c", "p", "ft", "v", "ht", "d", "g", "y", "m", "w", "b", "rn", "sn", "z", "zn", "kn", "an", "on", "At", "Ct", "init_ssg_sandbox_shims", "o", "t", "e", "c", "p", "n", "s", "u", "i", "f", "t", "e", "y", "n", "s", "u", "m", "t", "e", "n", "p", "v", "t", "e", "n", "s", "f", "y", "u", "i", "a", "r", "p", "w", "t", "e", "n", "s", "f", "y", "p", "$", "t", "e", "n", "s", "y", "U", "t", "e", "n", "s", "y", "Y", "t", "e", "n", "s", "f", "y", "p", "et", "t", "e", "n", "s", "f", "u", "y", "i", "r", "a", "p", "st", "t", "e", "n", "ut", "t", "e", "n", "s", "f", "y", "p", "rt", "t", "e", "n", "s", "a", "u", "f", "ut", "ot", "ct", "i", "r", "y", "o", "c", "p", "At", "t", "e", "n", "s", "u", "y", "w", "y", "_", "A", "v", "b", "t", "e", "I", "r", "a", "s", "N", "o", "h", "O", "l", "f", "c", "E", "p", "T", "B", "U", "M", "D", "R", "S", "i", "n", "x", "C", "P", "V", "L", "ft", "dt", "q", "tt", "K", "Q", "X", "G", "et", "z", "j", "k", "$", "F", "ct", "Y", "J", "H", "W", "Z", "pt", "lt", "it", "nt", "rt", "at", "st", "ot", "ht", "ut", "mt", "gt", "wt", "yt", "_t", "At", "vt", "bt", "It", "u", "Nt", "Ot", "d", "m", "g", "Et", "Tt", "Mt", "t", "St", "e", "bt", "zt", "i", "St", "n", "r", "kn", "t", "e", "kt", "t", "i", "n", "zt", "rn", "$t", "se", "et", "ut", "st", "v", "oe", "he", "ue", "le", "fe", "At", "Y", "w", "de", "ce", "pe", "me", "ge", "we", "ye", "_e", "Ae", "ve", "be", "Ie", "Ne", "Oe", "Ee", "Te", "Be", "Ue", "De", "Me", "Se", "Le", "Re", "xe", "Ve", "Pe", "Ce", "qe", "ze", "je", "ke", "$e", "Fe", "Ye", "Je", "He", "We", "Ge", "Ke", "Ze", "Qe", "Xe", "ti", "ei", "ii", "ni", "ri", "ai", "si", "oi", "hi", "$", "ui", "li", "fi", "di", "ci", "pi", "mi", "gi", "Ei", "t", "e", "r", "a", "s", "Ti", "i", "n", "o", "Bi", "Ui", "Di", "ge", "Tt", "we", "mt", "_t", "yt", "At", "gt", "wt", "Mi", "Si", "Li", "Ri", "xi", "Vi", "Pi", "Ci", "qi", "zi", "Gi", "t", "Ki", "U", "Zi", "et", "ut", "st", "w", "At", "Y", "$", "Qi", "v", "ct", "m"]
}
