{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/skeleton/style/index.ts"],"sourcesContent":["import type { CSSObject, FullToken, GenerateStyle } from '@antdv/theme';\nimport { genComponentStyleHook, Keyframes, mergeToken } from '@antdv/theme';\n\nexport interface ComponentToken {\n  color: string\n  colorGradientEnd: string\n}\n\nconst skeletonClsLoading = new Keyframes('ant-skeleton-loading', {\n  '0%': {\n    transform: 'translateX(-37.5%)',\n  },\n  '100%': {\n    transform: 'translateX(37.5%)',\n  },\n});\n\ninterface SkeletonToken extends FullToken<'Skeleton'> {\n  skeletonAvatarCls: string\n  skeletonTitleCls: string\n  skeletonParagraphCls: string\n  skeletonButtonCls: string\n  skeletonInputCls: string\n  skeletonImageCls: string\n  imageSizeBase: number\n  skeletonTitleHeight: number\n  skeletonBlockRadius: number\n  skeletonParagraphLineHeight: number\n  skeletonParagraphMarginTop: number\n  skeletonLoadingBackground: string\n  skeletonLoadingMotionDuration: string\n  borderRadius: number\n}\n\nfunction genSkeletonElementCommonSize(size: number): CSSObject {\n  return {\n    height: size,\n    lineHeight: `${size}px`,\n  };\n}\n\nfunction genSkeletonElementAvatarSize(size: number): CSSObject {\n  return {\n    width: size,\n    ...genSkeletonElementCommonSize(size),\n  };\n}\n\nfunction genSkeletonColor(token: SkeletonToken): CSSObject {\n  return {\n    'position': 'relative',\n    // fix https://github.com/ant-design/ant-design/issues/36444\n    // https://monshin.github.io/202109/css/safari-border-radius-overflow-hidden/\n    /* stylelint-disable-next-line property-no-vendor-prefix,value-no-vendor-prefix */\n    'zIndex': 0,\n    'overflow': 'hidden',\n    'background': 'transparent',\n    '&::after': {\n      position: 'absolute',\n      top: 0,\n      insetInlineEnd: '-150%',\n      bottom: 0,\n      insetInlineStart: '-150%',\n      background: token.skeletonLoadingBackground,\n      animationName: skeletonClsLoading,\n      animationDuration: token.skeletonLoadingMotionDuration,\n      animationTimingFunction: 'ease',\n      animationIterationCount: 'infinite',\n      content: '\"\"',\n    },\n  };\n}\n\nfunction genSkeletonElementInputSize(size: number): CSSObject {\n  return {\n    width: size * 5,\n    minWidth: size * 5,\n    ...genSkeletonElementCommonSize(size),\n  };\n}\n\nfunction genSkeletonElementAvatar(token: SkeletonToken): CSSObject {\n  const { skeletonAvatarCls, color, controlHeight, controlHeightLG, controlHeightSM } = token;\n  return {\n    [`${skeletonAvatarCls}`]: {\n      display: 'inline-block',\n      verticalAlign: 'top',\n      background: color,\n      ...genSkeletonElementAvatarSize(controlHeight),\n    },\n    [`${skeletonAvatarCls}${skeletonAvatarCls}-circle`]: {\n      borderRadius: '50%',\n    },\n    [`${skeletonAvatarCls}${skeletonAvatarCls}-lg`]: {\n      ...genSkeletonElementAvatarSize(controlHeightLG),\n    },\n    [`${skeletonAvatarCls}${skeletonAvatarCls}-sm`]: {\n      ...genSkeletonElementAvatarSize(controlHeightSM),\n    },\n  };\n}\n\nfunction genSkeletonElementInput(token: SkeletonToken): CSSObject {\n  const {\n    controlHeight,\n    borderRadiusSM,\n    skeletonInputCls,\n    controlHeightLG,\n    controlHeightSM,\n    color,\n  } = token;\n  return {\n    [`${skeletonInputCls}`]: {\n      display: 'inline-block',\n      verticalAlign: 'top',\n      background: color,\n      borderRadius: borderRadiusSM,\n      ...genSkeletonElementInputSize(controlHeight),\n    },\n\n    [`${skeletonInputCls}-lg`]: {\n      ...genSkeletonElementInputSize(controlHeightLG),\n    },\n\n    [`${skeletonInputCls}-sm`]: {\n      ...genSkeletonElementInputSize(controlHeightSM),\n    },\n  };\n}\n\nfunction genSkeletonElementImageSize(size: number): CSSObject {\n  return {\n    width: size,\n    ...genSkeletonElementCommonSize(size),\n  };\n}\n\nfunction genSkeletonElementImage(token: SkeletonToken): CSSObject {\n  const { skeletonImageCls, imageSizeBase, color, borderRadiusSM } = token;\n  return {\n    [`${skeletonImageCls}`]: {\n      display: 'flex',\n      alignItems: 'center',\n      justifyContent: 'center',\n      verticalAlign: 'top',\n      background: color,\n      borderRadius: borderRadiusSM,\n      ...genSkeletonElementImageSize(imageSizeBase * 2),\n      [`${skeletonImageCls}-path`]: {\n        fill: '#bfbfbf',\n      },\n      [`${skeletonImageCls}-svg`]: {\n        ...genSkeletonElementImageSize(imageSizeBase),\n        maxWidth: imageSizeBase * 4,\n        maxHeight: imageSizeBase * 4,\n      },\n      [`${skeletonImageCls}-svg${skeletonImageCls}-svg-circle`]: {\n        borderRadius: '50%',\n      },\n    },\n    [`${skeletonImageCls}${skeletonImageCls}-circle`]: {\n      borderRadius: '50%',\n    },\n  };\n}\nfunction genSkeletonElementButtonShape(token: SkeletonToken, size: number, buttonCls: string): CSSObject {\n  const { skeletonButtonCls } = token;\n  return {\n    [`${buttonCls}${skeletonButtonCls}-circle`]: {\n      width: size,\n      minWidth: size,\n      borderRadius: '50%',\n    },\n    [`${buttonCls}${skeletonButtonCls}-round`]: {\n      borderRadius: size,\n    },\n  };\n}\n\nfunction genSkeletonElementButtonSize(size: number): CSSObject {\n  return {\n    width: size * 2,\n    minWidth: size * 2,\n    ...genSkeletonElementCommonSize(size),\n  };\n}\n\nfunction genSkeletonElementButton(token: SkeletonToken): CSSObject {\n  const {\n    borderRadiusSM,\n    skeletonButtonCls,\n    controlHeight,\n    controlHeightLG,\n    controlHeightSM,\n    color,\n  } = token;\n  return {\n    [`${skeletonButtonCls}`]: {\n      display: 'inline-block',\n      verticalAlign: 'top',\n      background: color,\n      borderRadius: borderRadiusSM,\n      width: controlHeight * 2,\n      minWidth: controlHeight * 2,\n      ...genSkeletonElementButtonSize(controlHeight),\n    },\n    ...genSkeletonElementButtonShape(token, controlHeight, skeletonButtonCls),\n\n    [`${skeletonButtonCls}-lg`]: {\n      ...genSkeletonElementButtonSize(controlHeightLG),\n    },\n    ...genSkeletonElementButtonShape(token, controlHeightLG, `${skeletonButtonCls}-lg`),\n\n    [`${skeletonButtonCls}-sm`]: {\n      ...genSkeletonElementButtonSize(controlHeightSM),\n    },\n    ...genSkeletonElementButtonShape(token, controlHeightSM, `${skeletonButtonCls}-sm`),\n  };\n}\n\n// =============================== Base ===============================\nconst genBaseStyle: GenerateStyle<SkeletonToken> = (token: SkeletonToken) => {\n  const {\n    componentCls,\n    skeletonAvatarCls,\n    skeletonTitleCls,\n    skeletonParagraphCls,\n    skeletonButtonCls,\n    skeletonInputCls,\n    skeletonImageCls,\n    controlHeight,\n    controlHeightLG,\n    controlHeightSM,\n    color,\n    padding,\n    marginSM,\n    borderRadius,\n    skeletonTitleHeight,\n    skeletonBlockRadius,\n    skeletonParagraphLineHeight,\n    controlHeightXS,\n    skeletonParagraphMarginTop,\n  } = token;\n\n  return {\n    [`${componentCls}`]: {\n      display: 'table',\n      width: '100%',\n\n      [`${componentCls}-header`]: {\n        display: 'table-cell',\n        paddingInlineEnd: padding,\n        verticalAlign: 'top',\n\n        // Avatar\n        [`${skeletonAvatarCls}`]: {\n          display: 'inline-block',\n          verticalAlign: 'top',\n          background: color,\n          ...genSkeletonElementAvatarSize(controlHeight),\n        },\n        [`${skeletonAvatarCls}-circle`]: {\n          borderRadius: '50%',\n        },\n        [`${skeletonAvatarCls}-lg`]: {\n          ...genSkeletonElementAvatarSize(controlHeightLG),\n        },\n        [`${skeletonAvatarCls}-sm`]: {\n          ...genSkeletonElementAvatarSize(controlHeightSM),\n        },\n      },\n      [`${componentCls}-content`]: {\n        display: 'table-cell',\n        width: '100%',\n        verticalAlign: 'top',\n\n        // Title\n        [`${skeletonTitleCls}`]: {\n          width: '100%',\n          height: skeletonTitleHeight,\n          background: color,\n          borderRadius: skeletonBlockRadius,\n          [`+ ${skeletonParagraphCls}`]: {\n            marginBlockStart: controlHeightSM,\n          },\n        },\n\n        // paragraph\n        [`${skeletonParagraphCls}`]: {\n          'padding': 0,\n          '> li': {\n            'width': '100%',\n            'height': skeletonParagraphLineHeight,\n            'listStyle': 'none',\n            'background': color,\n            'borderRadius': skeletonBlockRadius,\n            '+ li': {\n              marginBlockStart: controlHeightXS,\n            },\n          },\n        },\n\n        [`${skeletonParagraphCls}> li:last-child:not(:first-child):not(:nth-child(2))`]: {\n          width: '61%',\n        },\n      },\n\n      [`&-round ${componentCls}-content`]: {\n        [`${skeletonTitleCls}, ${skeletonParagraphCls} > li`]: {\n          borderRadius,\n        },\n      },\n    },\n    [`${componentCls}-with-avatar ${componentCls}-content`]: {\n      // Title\n      [`${skeletonTitleCls}`]: {\n        marginBlockStart: marginSM,\n\n        [`+ ${skeletonParagraphCls}`]: {\n          marginBlockStart: skeletonParagraphMarginTop,\n        },\n      },\n    },\n    // Skeleton element\n    [`${componentCls}${componentCls}-element`]: {\n      display: 'inline-block',\n      width: 'auto',\n\n      ...genSkeletonElementButton(token),\n      ...genSkeletonElementAvatar(token),\n      ...genSkeletonElementInput(token),\n      ...genSkeletonElementImage(token),\n    },\n    // Skeleton Block Button, Input\n    [`${componentCls}${componentCls}-block`]: {\n      width: '100%',\n\n      [`${skeletonButtonCls}`]: {\n        width: '100%',\n      },\n\n      [`${skeletonInputCls}`]: {\n        width: '100%',\n      },\n    },\n    // With active animation\n    [`${componentCls}${componentCls}-active`]: {\n      [`\n        ${skeletonTitleCls},\n        ${skeletonParagraphCls} > li,\n        ${skeletonAvatarCls},\n        ${skeletonButtonCls},\n        ${skeletonInputCls},\n        ${skeletonImageCls}\n      `]: {\n        ...genSkeletonColor(token),\n      },\n    },\n  };\n};\n\n// ============================== Export ==============================\nexport default genComponentStyleHook(\n  'Skeleton',\n  (token) => {\n    const { componentCls } = token;\n\n    const skeletonToken = mergeToken<SkeletonToken>(token, {\n      skeletonAvatarCls: `${componentCls}-avatar`,\n      skeletonTitleCls: `${componentCls}-title`,\n      skeletonParagraphCls: `${componentCls}-paragraph`,\n      skeletonButtonCls: `${componentCls}-button`,\n      skeletonInputCls: `${componentCls}-input`,\n      skeletonImageCls: `${componentCls}-image`,\n      imageSizeBase: token.controlHeight * 1.5,\n      skeletonTitleHeight: token.controlHeight / 2,\n      skeletonBlockRadius: token.borderRadiusSM,\n      skeletonParagraphLineHeight: token.controlHeight / 2,\n      skeletonParagraphMarginTop: token.marginLG + token.marginXXS,\n      borderRadius: 100, // Large number to make capsule shape\n      skeletonLoadingBackground: `linear-gradient(90deg, ${token.color} 25%, ${token.colorGradientEnd} 37%, ${token.color} 63%)`,\n      skeletonLoadingMotionDuration: '1.4s',\n    });\n    return [genBaseStyle(skeletonToken)];\n  },\n  (token) => {\n    const { colorFillContent, colorFill } = token;\n\n    return {\n      color: colorFillContent,\n      colorGradientEnd: colorFill,\n    };\n  },\n);\n"],"names":["Keyframes","mergeToken"],"mappings":";;;;;AAQA,MAAM,kBAAA,GAAqB,IAAIA,QAAA,CAAU,sBAAwB,EAAA;AAAA,EAC/D,IAAM,EAAA;AAAA,IACJ,SAAW,EAAA,oBAAA;AAAA,GACb;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,SAAW,EAAA,mBAAA;AAAA,GACb;AACF,CAAC,CAAA,CAAA;AAmBD,SAAS,6BAA6B,IAAyB,EAAA;AAC7D,EAAO,OAAA;AAAA,IACL,MAAQ,EAAA,IAAA;AAAA,IACR,UAAA,EAAY,GAAG,IAAI,CAAA,EAAA,CAAA;AAAA,GACrB,CAAA;AACF,CAAA;AAEA,SAAS,6BAA6B,IAAyB,EAAA;AAC7D,EAAO,OAAA;AAAA,IACL,KAAO,EAAA,IAAA;AAAA,IACP,GAAG,6BAA6B,IAAI,CAAA;AAAA,GACtC,CAAA;AACF,CAAA;AAEA,SAAS,iBAAiB,KAAiC,EAAA;AACzD,EAAO,OAAA;AAAA,IACL,UAAY,EAAA,UAAA;AAAA;AAAA;AAAA;AAAA,IAIZ,QAAU,EAAA,CAAA;AAAA,IACV,UAAY,EAAA,QAAA;AAAA,IACZ,YAAc,EAAA,aAAA;AAAA,IACd,UAAY,EAAA;AAAA,MACV,QAAU,EAAA,UAAA;AAAA,MACV,GAAK,EAAA,CAAA;AAAA,MACL,cAAgB,EAAA,OAAA;AAAA,MAChB,MAAQ,EAAA,CAAA;AAAA,MACR,gBAAkB,EAAA,OAAA;AAAA,MAClB,YAAY,KAAM,CAAA,yBAAA;AAAA,MAClB,aAAe,EAAA,kBAAA;AAAA,MACf,mBAAmB,KAAM,CAAA,6BAAA;AAAA,MACzB,uBAAyB,EAAA,MAAA;AAAA,MACzB,uBAAyB,EAAA,UAAA;AAAA,MACzB,OAAS,EAAA,IAAA;AAAA,KACX;AAAA,GACF,CAAA;AACF,CAAA;AAEA,SAAS,4BAA4B,IAAyB,EAAA;AAC5D,EAAO,OAAA;AAAA,IACL,OAAO,IAAO,GAAA,CAAA;AAAA,IACd,UAAU,IAAO,GAAA,CAAA;AAAA,IACjB,GAAG,6BAA6B,IAAI,CAAA;AAAA,GACtC,CAAA;AACF,CAAA;AAEA,SAAS,yBAAyB,KAAiC,EAAA;AACjE,EAAA,MAAM,EAAE,iBAAmB,EAAA,KAAA,EAAO,aAAe,EAAA,eAAA,EAAiB,iBAAoB,GAAA,KAAA,CAAA;AACtF,EAAO,OAAA;AAAA,IACL,CAAC,CAAA,EAAG,iBAAiB,CAAA,CAAE,GAAG;AAAA,MACxB,OAAS,EAAA,cAAA;AAAA,MACT,aAAe,EAAA,KAAA;AAAA,MACf,UAAY,EAAA,KAAA;AAAA,MACZ,GAAG,6BAA6B,aAAa,CAAA;AAAA,KAC/C;AAAA,IACA,CAAC,CAAG,EAAA,iBAAiB,CAAG,EAAA,iBAAiB,SAAS,GAAG;AAAA,MACnD,YAAc,EAAA,KAAA;AAAA,KAChB;AAAA,IACA,CAAC,CAAG,EAAA,iBAAiB,CAAG,EAAA,iBAAiB,KAAK,GAAG;AAAA,MAC/C,GAAG,6BAA6B,eAAe,CAAA;AAAA,KACjD;AAAA,IACA,CAAC,CAAG,EAAA,iBAAiB,CAAG,EAAA,iBAAiB,KAAK,GAAG;AAAA,MAC/C,GAAG,6BAA6B,eAAe,CAAA;AAAA,KACjD;AAAA,GACF,CAAA;AACF,CAAA;AAEA,SAAS,wBAAwB,KAAiC,EAAA;AAChE,EAAM,MAAA;AAAA,IACJ,aAAA;AAAA,IACA,cAAA;AAAA,IACA,gBAAA;AAAA,IACA,eAAA;AAAA,IACA,eAAA;AAAA,IACA,KAAA;AAAA,GACE,GAAA,KAAA,CAAA;AACJ,EAAO,OAAA;AAAA,IACL,CAAC,CAAA,EAAG,gBAAgB,CAAA,CAAE,GAAG;AAAA,MACvB,OAAS,EAAA,cAAA;AAAA,MACT,aAAe,EAAA,KAAA;AAAA,MACf,UAAY,EAAA,KAAA;AAAA,MACZ,YAAc,EAAA,cAAA;AAAA,MACd,GAAG,4BAA4B,aAAa,CAAA;AAAA,KAC9C;AAAA,IAEA,CAAC,CAAA,EAAG,gBAAgB,CAAA,GAAA,CAAK,GAAG;AAAA,MAC1B,GAAG,4BAA4B,eAAe,CAAA;AAAA,KAChD;AAAA,IAEA,CAAC,CAAA,EAAG,gBAAgB,CAAA,GAAA,CAAK,GAAG;AAAA,MAC1B,GAAG,4BAA4B,eAAe,CAAA;AAAA,KAChD;AAAA,GACF,CAAA;AACF,CAAA;AAEA,SAAS,4BAA4B,IAAyB,EAAA;AAC5D,EAAO,OAAA;AAAA,IACL,KAAO,EAAA,IAAA;AAAA,IACP,GAAG,6BAA6B,IAAI,CAAA;AAAA,GACtC,CAAA;AACF,CAAA;AAEA,SAAS,wBAAwB,KAAiC,EAAA;AAChE,EAAA,MAAM,EAAE,gBAAA,EAAkB,aAAe,EAAA,KAAA,EAAO,gBAAmB,GAAA,KAAA,CAAA;AACnE,EAAO,OAAA;AAAA,IACL,CAAC,CAAA,EAAG,gBAAgB,CAAA,CAAE,GAAG;AAAA,MACvB,OAAS,EAAA,MAAA;AAAA,MACT,UAAY,EAAA,QAAA;AAAA,MACZ,cAAgB,EAAA,QAAA;AAAA,MAChB,aAAe,EAAA,KAAA;AAAA,MACf,UAAY,EAAA,KAAA;AAAA,MACZ,YAAc,EAAA,cAAA;AAAA,MACd,GAAG,2BAA4B,CAAA,aAAA,GAAgB,CAAC,CAAA;AAAA,MAChD,CAAC,CAAA,EAAG,gBAAgB,CAAA,KAAA,CAAO,GAAG;AAAA,QAC5B,IAAM,EAAA,SAAA;AAAA,OACR;AAAA,MACA,CAAC,CAAA,EAAG,gBAAgB,CAAA,IAAA,CAAM,GAAG;AAAA,QAC3B,GAAG,4BAA4B,aAAa,CAAA;AAAA,QAC5C,UAAU,aAAgB,GAAA,CAAA;AAAA,QAC1B,WAAW,aAAgB,GAAA,CAAA;AAAA,OAC7B;AAAA,MACA,CAAC,CAAG,EAAA,gBAAgB,CAAO,IAAA,EAAA,gBAAgB,aAAa,GAAG;AAAA,QACzD,YAAc,EAAA,KAAA;AAAA,OAChB;AAAA,KACF;AAAA,IACA,CAAC,CAAG,EAAA,gBAAgB,CAAG,EAAA,gBAAgB,SAAS,GAAG;AAAA,MACjD,YAAc,EAAA,KAAA;AAAA,KAChB;AAAA,GACF,CAAA;AACF,CAAA;AACA,SAAS,6BAAA,CAA8B,KAAsB,EAAA,IAAA,EAAc,SAA8B,EAAA;AACvG,EAAM,MAAA,EAAE,mBAAsB,GAAA,KAAA,CAAA;AAC9B,EAAO,OAAA;AAAA,IACL,CAAC,CAAG,EAAA,SAAS,CAAG,EAAA,iBAAiB,SAAS,GAAG;AAAA,MAC3C,KAAO,EAAA,IAAA;AAAA,MACP,QAAU,EAAA,IAAA;AAAA,MACV,YAAc,EAAA,KAAA;AAAA,KAChB;AAAA,IACA,CAAC,CAAG,EAAA,SAAS,CAAG,EAAA,iBAAiB,QAAQ,GAAG;AAAA,MAC1C,YAAc,EAAA,IAAA;AAAA,KAChB;AAAA,GACF,CAAA;AACF,CAAA;AAEA,SAAS,6BAA6B,IAAyB,EAAA;AAC7D,EAAO,OAAA;AAAA,IACL,OAAO,IAAO,GAAA,CAAA;AAAA,IACd,UAAU,IAAO,GAAA,CAAA;AAAA,IACjB,GAAG,6BAA6B,IAAI,CAAA;AAAA,GACtC,CAAA;AACF,CAAA;AAEA,SAAS,yBAAyB,KAAiC,EAAA;AACjE,EAAM,MAAA;AAAA,IACJ,cAAA;AAAA,IACA,iBAAA;AAAA,IACA,aAAA;AAAA,IACA,eAAA;AAAA,IACA,eAAA;AAAA,IACA,KAAA;AAAA,GACE,GAAA,KAAA,CAAA;AACJ,EAAO,OAAA;AAAA,IACL,CAAC,CAAA,EAAG,iBAAiB,CAAA,CAAE,GAAG;AAAA,MACxB,OAAS,EAAA,cAAA;AAAA,MACT,aAAe,EAAA,KAAA;AAAA,MACf,UAAY,EAAA,KAAA;AAAA,MACZ,YAAc,EAAA,cAAA;AAAA,MACd,OAAO,aAAgB,GAAA,CAAA;AAAA,MACvB,UAAU,aAAgB,GAAA,CAAA;AAAA,MAC1B,GAAG,6BAA6B,aAAa,CAAA;AAAA,KAC/C;AAAA,IACA,GAAG,6BAAA,CAA8B,KAAO,EAAA,aAAA,EAAe,iBAAiB,CAAA;AAAA,IAExE,CAAC,CAAA,EAAG,iBAAiB,CAAA,GAAA,CAAK,GAAG;AAAA,MAC3B,GAAG,6BAA6B,eAAe,CAAA;AAAA,KACjD;AAAA,IACA,GAAG,6BAA8B,CAAA,KAAA,EAAO,eAAiB,EAAA,CAAA,EAAG,iBAAiB,CAAK,GAAA,CAAA,CAAA;AAAA,IAElF,CAAC,CAAA,EAAG,iBAAiB,CAAA,GAAA,CAAK,GAAG;AAAA,MAC3B,GAAG,6BAA6B,eAAe,CAAA;AAAA,KACjD;AAAA,IACA,GAAG,6BAA8B,CAAA,KAAA,EAAO,eAAiB,EAAA,CAAA,EAAG,iBAAiB,CAAK,GAAA,CAAA,CAAA;AAAA,GACpF,CAAA;AACF,CAAA;AAGA,MAAM,YAAA,GAA6C,CAAC,KAAyB,KAAA;AAC3E,EAAM,MAAA;AAAA,IACJ,YAAA;AAAA,IACA,iBAAA;AAAA,IACA,gBAAA;AAAA,IACA,oBAAA;AAAA,IACA,iBAAA;AAAA,IACA,gBAAA;AAAA,IACA,gBAAA;AAAA,IACA,aAAA;AAAA,IACA,eAAA;AAAA,IACA,eAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,YAAA;AAAA,IACA,mBAAA;AAAA,IACA,mBAAA;AAAA,IACA,2BAAA;AAAA,IACA,eAAA;AAAA,IACA,0BAAA;AAAA,GACE,GAAA,KAAA,CAAA;AAEJ,EAAO,OAAA;AAAA,IACL,CAAC,CAAA,EAAG,YAAY,CAAA,CAAE,GAAG;AAAA,MACnB,OAAS,EAAA,OAAA;AAAA,MACT,KAAO,EAAA,MAAA;AAAA,MAEP,CAAC,CAAA,EAAG,YAAY,CAAA,OAAA,CAAS,GAAG;AAAA,QAC1B,OAAS,EAAA,YAAA;AAAA,QACT,gBAAkB,EAAA,OAAA;AAAA,QAClB,aAAe,EAAA,KAAA;AAAA;AAAA,QAGf,CAAC,CAAA,EAAG,iBAAiB,CAAA,CAAE,GAAG;AAAA,UACxB,OAAS,EAAA,cAAA;AAAA,UACT,aAAe,EAAA,KAAA;AAAA,UACf,UAAY,EAAA,KAAA;AAAA,UACZ,GAAG,6BAA6B,aAAa,CAAA;AAAA,SAC/C;AAAA,QACA,CAAC,CAAA,EAAG,iBAAiB,CAAA,OAAA,CAAS,GAAG;AAAA,UAC/B,YAAc,EAAA,KAAA;AAAA,SAChB;AAAA,QACA,CAAC,CAAA,EAAG,iBAAiB,CAAA,GAAA,CAAK,GAAG;AAAA,UAC3B,GAAG,6BAA6B,eAAe,CAAA;AAAA,SACjD;AAAA,QACA,CAAC,CAAA,EAAG,iBAAiB,CAAA,GAAA,CAAK,GAAG;AAAA,UAC3B,GAAG,6BAA6B,eAAe,CAAA;AAAA,SACjD;AAAA,OACF;AAAA,MACA,CAAC,CAAA,EAAG,YAAY,CAAA,QAAA,CAAU,GAAG;AAAA,QAC3B,OAAS,EAAA,YAAA;AAAA,QACT,KAAO,EAAA,MAAA;AAAA,QACP,aAAe,EAAA,KAAA;AAAA;AAAA,QAGf,CAAC,CAAA,EAAG,gBAAgB,CAAA,CAAE,GAAG;AAAA,UACvB,KAAO,EAAA,MAAA;AAAA,UACP,MAAQ,EAAA,mBAAA;AAAA,UACR,UAAY,EAAA,KAAA;AAAA,UACZ,YAAc,EAAA,mBAAA;AAAA,UACd,CAAC,CAAA,EAAA,EAAK,oBAAoB,CAAA,CAAE,GAAG;AAAA,YAC7B,gBAAkB,EAAA,eAAA;AAAA,WACpB;AAAA,SACF;AAAA;AAAA,QAGA,CAAC,CAAA,EAAG,oBAAoB,CAAA,CAAE,GAAG;AAAA,UAC3B,SAAW,EAAA,CAAA;AAAA,UACX,MAAQ,EAAA;AAAA,YACN,OAAS,EAAA,MAAA;AAAA,YACT,QAAU,EAAA,2BAAA;AAAA,YACV,WAAa,EAAA,MAAA;AAAA,YACb,YAAc,EAAA,KAAA;AAAA,YACd,cAAgB,EAAA,mBAAA;AAAA,YAChB,MAAQ,EAAA;AAAA,cACN,gBAAkB,EAAA,eAAA;AAAA,aACpB;AAAA,WACF;AAAA,SACF;AAAA,QAEA,CAAC,CAAA,EAAG,oBAAoB,CAAA,oDAAA,CAAsD,GAAG;AAAA,UAC/E,KAAO,EAAA,KAAA;AAAA,SACT;AAAA,OACF;AAAA,MAEA,CAAC,CAAA,QAAA,EAAW,YAAY,CAAA,QAAA,CAAU,GAAG;AAAA,QACnC,CAAC,CAAG,EAAA,gBAAgB,CAAK,EAAA,EAAA,oBAAoB,OAAO,GAAG;AAAA,UACrD,YAAA;AAAA,SACF;AAAA,OACF;AAAA,KACF;AAAA,IACA,CAAC,CAAG,EAAA,YAAY,CAAgB,aAAA,EAAA,YAAY,UAAU,GAAG;AAAA;AAAA,MAEvD,CAAC,CAAA,EAAG,gBAAgB,CAAA,CAAE,GAAG;AAAA,QACvB,gBAAkB,EAAA,QAAA;AAAA,QAElB,CAAC,CAAA,EAAA,EAAK,oBAAoB,CAAA,CAAE,GAAG;AAAA,UAC7B,gBAAkB,EAAA,0BAAA;AAAA,SACpB;AAAA,OACF;AAAA,KACF;AAAA;AAAA,IAEA,CAAC,CAAG,EAAA,YAAY,CAAG,EAAA,YAAY,UAAU,GAAG;AAAA,MAC1C,OAAS,EAAA,cAAA;AAAA,MACT,KAAO,EAAA,MAAA;AAAA,MAEP,GAAG,yBAAyB,KAAK,CAAA;AAAA,MACjC,GAAG,yBAAyB,KAAK,CAAA;AAAA,MACjC,GAAG,wBAAwB,KAAK,CAAA;AAAA,MAChC,GAAG,wBAAwB,KAAK,CAAA;AAAA,KAClC;AAAA;AAAA,IAEA,CAAC,CAAG,EAAA,YAAY,CAAG,EAAA,YAAY,QAAQ,GAAG;AAAA,MACxC,KAAO,EAAA,MAAA;AAAA,MAEP,CAAC,CAAA,EAAG,iBAAiB,CAAA,CAAE,GAAG;AAAA,QACxB,KAAO,EAAA,MAAA;AAAA,OACT;AAAA,MAEA,CAAC,CAAA,EAAG,gBAAgB,CAAA,CAAE,GAAG;AAAA,QACvB,KAAO,EAAA,MAAA;AAAA,OACT;AAAA,KACF;AAAA;AAAA,IAEA,CAAC,CAAG,EAAA,YAAY,CAAG,EAAA,YAAY,SAAS,GAAG;AAAA,MACzC,CAAC,CAAA;AAAA,QAAA,EACG,gBAAgB,CAAA;AAAA,QAAA,EAChB,oBAAoB,CAAA;AAAA,QAAA,EACpB,iBAAiB,CAAA;AAAA,QAAA,EACjB,iBAAiB,CAAA;AAAA,QAAA,EACjB,gBAAgB,CAAA;AAAA,QAAA,EAChB,gBAAgB,CAAA;AAAA,MAAA,CACnB,GAAG;AAAA,QACF,GAAG,iBAAiB,KAAK,CAAA;AAAA,OAC3B;AAAA,KACF;AAAA,GACF,CAAA;AACF,CAAA,CAAA;AAGA,eAAe,qBAAA;AAAA,EACb,UAAA;AAAA,EACA,CAAC,KAAU,KAAA;AACT,IAAM,MAAA,EAAE,cAAiB,GAAA,KAAA,CAAA;AAEzB,IAAM,MAAA,aAAA,GAAgBC,MAA0B,KAAO,EAAA;AAAA,MACrD,iBAAA,EAAmB,GAAG,YAAY,CAAA,OAAA,CAAA;AAAA,MAClC,gBAAA,EAAkB,GAAG,YAAY,CAAA,MAAA,CAAA;AAAA,MACjC,oBAAA,EAAsB,GAAG,YAAY,CAAA,UAAA,CAAA;AAAA,MACrC,iBAAA,EAAmB,GAAG,YAAY,CAAA,OAAA,CAAA;AAAA,MAClC,gBAAA,EAAkB,GAAG,YAAY,CAAA,MAAA,CAAA;AAAA,MACjC,gBAAA,EAAkB,GAAG,YAAY,CAAA,MAAA,CAAA;AAAA,MACjC,aAAA,EAAe,MAAM,aAAgB,GAAA,GAAA;AAAA,MACrC,mBAAA,EAAqB,MAAM,aAAgB,GAAA,CAAA;AAAA,MAC3C,qBAAqB,KAAM,CAAA,cAAA;AAAA,MAC3B,2BAAA,EAA6B,MAAM,aAAgB,GAAA,CAAA;AAAA,MACnD,0BAAA,EAA4B,KAAM,CAAA,QAAA,GAAW,KAAM,CAAA,SAAA;AAAA,MACnD,YAAc,EAAA,GAAA;AAAA;AAAA,MACd,yBAAA,EAA2B,0BAA0B,KAAM,CAAA,KAAK,SAAS,KAAM,CAAA,gBAAgB,CAAS,MAAA,EAAA,KAAA,CAAM,KAAK,CAAA,KAAA,CAAA;AAAA,MACnH,6BAA+B,EAAA,MAAA;AAAA,KAChC,CAAA,CAAA;AACD,IAAO,OAAA,CAAC,YAAa,CAAA,aAAa,CAAC,CAAA,CAAA;AAAA,GACrC;AAAA,EACA,CAAC,KAAU,KAAA;AACT,IAAM,MAAA,EAAE,gBAAkB,EAAA,SAAA,EAAc,GAAA,KAAA,CAAA;AAExC,IAAO,OAAA;AAAA,MACL,KAAO,EAAA,gBAAA;AAAA,MACP,gBAAkB,EAAA,SAAA;AAAA,KACpB,CAAA;AAAA,GACF;AACF,CAAA;;;;"}