{"version":3,"sources":["webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/extends.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/es/hooks/useBaseProps.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/es/hooks/useDelayReset.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/es/hooks/useLock.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/es/hooks/useSelectTriggerControl.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/es/TransBtn.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/es/Selector/Input.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/es/utils/commonUtil.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/es/hooks/useLayoutEffect.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/es/Selector/MultipleSelector.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/es/Selector/SingleSelector.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/es/utils/keyUtil.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/es/Selector/index.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/es/SelectTrigger.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/toArray.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/es/utils/valueUtil.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/es/BaseSelect.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/es/hooks/useCache.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/es/hooks/useFilterOptions.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/es/hooks/useId.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/es/utils/legacyUtil.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/es/hooks/useOptions.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/es/hooks/useRefFunc.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/es/OptGroup.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/es/Option.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/es/SelectContext.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/es/utils/platformUtil.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/es/OptionList.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/es/utils/warningPropsUtil.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/es/Select.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/es/index.js","webpack://crmWeb/../code-generation/platform/dependencies/node_modules/rc-select/node_modules/classnames/index.js"],"names":[],"mappings":"0MAAA,aAAoB,CAClB,MAAO,IAAW,OAAO,OAAS,OAAO,OAAO,OAAS,SAAU,EAAG,CACpE,OAAS,GAAI,EAAG,EAAI,UAAU,OAAQ,IAAK,CACzC,GAAI,GAAI,UAAU,GAClB,OAAS,KAAK,GAAI,KAAI,eAAe,KAAK,EAAG,IAAO,GAAE,GAAK,EAAE,IAE/D,MAAO,IACN,GAAS,MAAM,KAAM,WCP1B,YAA2B,EAAG,EAAG,CACtB,IAAR,MAAa,EAAI,EAAE,SAAY,GAAI,EAAE,QACtC,OAAS,GAAI,EAAG,EAAI,MAAM,GAAI,EAAI,EAAG,IAAK,EAAE,GAAK,EAAE,GACnD,MAAO,GCFT,YAA4B,EAAG,CAC7B,GAAI,MAAM,QAAQ,GAAI,MAAO,IAAiB,GCFhD,YAA0B,EAAG,CAC3B,GAAI,MAAsB,SAAtB,aAAgC,EAAU,OAAO,WAAjB,MAA8B,EAAU,eAAV,KAAyB,MAAO,OAAM,KAAK,GCA/G,YAAqC,EAAG,EAAG,CACzC,GAAI,EAAG,CACL,GAAI,MAAmB,IAAnB,SAAsB,MAAO,IAAiB,EAAG,GACrD,GAAI,GAAI,GAAG,SAAS,KAAK,GAAG,MAAM,EAAG,IACrC,MAAO,eAAkB,EAAE,aAAgB,GAAI,EAAE,YAAY,MAAO,WAAe,UAAc,MAAM,KAAK,GAAK,iBAAqB,2CAA2C,KAAK,GAAK,GAAiB,EAAG,GAAK,QCLxN,YAA8B,CAC5B,KAAM,IAAI,WAAU;AAAA,qFCGtB,WAA4B,EAAG,CAC7B,MAAO,IAAkB,IAAM,GAAgB,IAAM,GAA2B,IAAM,ICLxF,YAAiB,EAAG,CAGlB,MAAO,IAAU,MAAqB,SAArB,YAA+B,MAAmB,QAAO,UAA1B,SAAqC,SAAU,EAAG,CAChG,MAAO,OAAO,IACZ,SAAU,EAAG,CACf,MAAO,IAAK,MAAqB,SAArB,YAA+B,EAAE,cAAgB,QAAU,IAAM,OAAO,UAAY,SAAW,MAAO,IACjH,GAAQ,GCNb,YAAqB,EAAG,EAAG,CACzB,GAAI,GAAoB,IAApB,UAA0B,CAAC,EAAG,MAAO,GACzC,GAAI,GAAI,EAAE,OAAO,aACjB,GAAI,WAAc,CAChB,GAAI,GAAI,EAAE,KAAK,EAAG,GAAK,WACvB,GAAI,GAAoB,IAApB,SAAwB,MAAO,GACnC,KAAM,IAAI,WAAU,gDAEtB,MAAqB,KAAb,SAAiB,OAAS,QAAQ,GCP5C,YAAuB,EAAG,CACxB,GAAI,GAAI,GAAY,EAAG,UACvB,MAAO,IAAoB,IAApB,SAAyB,EAAI,EAAI,GCH1C,YAAyB,EAAG,EAAG,EAAG,CAChC,MAAQ,GAAI,GAAc,KAAO,GAAI,OAAO,eAAe,EAAG,EAAG,CAC/D,MAAO,EACP,WAAY,GACZ,aAAc,GACd,SAAU,KACP,EAAE,GAAK,EAAG,ECNjB,YAAiB,EAAG,EAAG,CACrB,GAAI,GAAI,OAAO,KAAK,GACpB,GAAI,OAAO,sBAAuB,CAChC,GAAI,GAAI,OAAO,sBAAsB,GACrC,GAAM,GAAI,EAAE,OAAO,SAAU,EAAG,CAC9B,MAAO,QAAO,yBAAyB,EAAG,GAAG,cAC1C,EAAE,KAAK,MAAM,EAAG,GAEvB,MAAO,GAET,YAAwB,EAAG,CACzB,OAAS,GAAI,EAAG,EAAI,UAAU,OAAQ,IAAK,CACzC,GAAI,GAAI,UAAkB,IAAlB,KAAuB,UAAU,GAAK,GAC9C,EAAI,EAAI,GAAQ,OAAO,GAAI,IAAI,QAAQ,SAAU,EAAG,CAClD,GAAe,EAAG,EAAG,EAAE,MACpB,OAAO,0BAA4B,OAAO,iBAAiB,EAAG,OAAO,0BAA0B,IAAM,GAAQ,OAAO,IAAI,QAAQ,SAAU,EAAG,CAChJ,OAAO,eAAe,EAAG,EAAG,OAAO,yBAAyB,EAAG,MAGnE,MAAO,GCpBT,YAAyB,EAAG,CAC1B,GAAI,MAAM,QAAQ,GAAI,MAAO,GCD/B,YAA+B,EAAG,EAAG,CACnC,GAAI,GAAI,QAAY,KAAO,MAAsB,SAAtB,aAAgC,EAAE,OAAO,WAAa,EAAE,cACnF,GAAI,QAAW,CACb,GAAI,GACF,EACA,EACA,EACA,EAAI,GACJ,EAAI,GACJ,EAAI,GACN,GAAI,CACF,GAAI,EAAK,GAAI,EAAE,KAAK,IAAI,KAAM,MAAS,CACrC,GAAI,OAAO,KAAO,EAAG,OACrB,EAAI,OACC,MAAO,CAAE,GAAK,GAAI,EAAE,KAAK,IAAI,OAAU,GAAE,KAAK,EAAE,OAAQ,EAAE,SAAW,GAAI,EAAI,GAAG,QAChF,EADgF,CAEvF,EAAI,GAAI,EAAI,UAEZ,GAAI,CACF,GAAI,CAAC,GAAK,EAAU,QAAV,MAAwB,GAAI,EAAE,SAAa,OAAO,KAAO,GAAI,eAEvE,GAAI,EAAG,KAAM,IAGjB,MAAO,ICxBX,aAA4B,CAC1B,KAAM,IAAI,WAAU;AAAA,qFCGtB,YAAwB,EAAG,EAAG,CAC5B,MAAO,IAAe,IAAM,GAAqB,EAAG,IAAM,GAA2B,EAAG,IAAM,KCLhG,YAAuC,EAAG,EAAG,CAC3C,GAAI,QAAW,MAAO,GACtB,GAAI,GAAI,GACR,OAAS,KAAK,GAAG,GAAI,GAAG,eAAe,KAAK,EAAG,GAAI,CACjD,GAAI,EAAE,QAAQ,IAAM,EAAG,SACvB,EAAE,GAAK,EAAE,GAEX,MAAO,GCNT,YAAkC,EAAG,EAAG,CACtC,GAAI,QAAW,MAAO,GACtB,GAAI,GACF,EACA,EAAI,GAA6B,EAAG,GACtC,GAAI,OAAO,sBAAuB,CAChC,GAAI,GAAI,OAAO,sBAAsB,GACrC,IAAK,EAAI,EAAG,EAAI,EAAE,OAAQ,IAAK,EAAI,EAAE,GAAI,EAAE,QAAQ,IAAM,GAAK,GAAG,qBAAqB,KAAK,EAAG,IAAO,GAAE,GAAK,EAAE,IAEhH,MAAO,G,oHCLE,GAAiC,gBAAoB,MACjD,aAAwB,CACrC,MAAO,cAAiB,ICAX,aAAyB,CACtC,GAAI,GAAU,UAAU,OAAS,GAAK,UAAU,KAAO,OAAY,UAAU,GAAK,GAE9E,EAAkB,WAAe,IACjC,EAAmB,GAAe,EAAiB,GACnD,EAAO,EAAiB,GACxB,EAAU,EAAiB,GAE3B,EAAW,SAAa,MAExB,EAAe,UAAwB,CACzC,OAAO,aAAa,EAAS,UAG/B,YAAgB,UAAY,CAC1B,MAAO,IACN,IAEH,GAAI,GAAe,SAAsB,EAAO,EAAU,CACxD,IACA,EAAS,QAAU,OAAO,WAAW,UAAY,CAC/C,EAAQ,GAEJ,GACF,KAED,IAGL,MAAO,CAAC,EAAM,EAAc,GC5Bf,aAAmB,CAChC,GAAI,GAAW,UAAU,OAAS,GAAK,UAAU,KAAO,OAAY,UAAU,GAAK,IAC/E,EAAU,SAAa,MACvB,EAAa,SAAa,MAE9B,YAAgB,UAAY,CAC1B,MAAO,WAAY,CACjB,OAAO,aAAa,EAAW,WAEhC,IAEH,WAAgB,EAAQ,CAClB,IAAU,EAAQ,UAAY,OAChC,GAAQ,QAAU,GAGpB,OAAO,aAAa,EAAW,SAC/B,EAAW,QAAU,OAAO,WAAW,UAAY,CACjD,EAAQ,QAAU,MACjB,GAGL,MAAO,CAAC,UAAY,CAClB,MAAO,GAAQ,SACd,GC/BU,YAAiC,EAAU,EAAM,EAAa,EAAmB,CAC9F,GAAI,GAAW,SAAa,MAC5B,EAAS,QAAU,CACjB,OACA,cACA,qBAEF,YAAgB,UAAY,CAC1B,WAA2B,EAAO,CAChC,GAAI,GAGJ,GAAK,KAAoB,EAAS,WAAa,MAAQ,IAAsB,QAAU,EAAkB,mBAIzG,IAAI,GAAS,EAAM,OAEf,EAAO,YAAc,EAAM,UAC7B,GAAS,EAAM,eAAe,IAAM,GAGlC,EAAS,QAAQ,MAAQ,IAAW,OAAO,SAAU,EAAS,CAChE,MAAO,KACN,MAAM,SAAU,EAAS,CAC1B,MAAO,CAAC,EAAQ,SAAS,IAAW,IAAY,KAGhD,EAAS,QAAQ,YAAY,KAIjC,cAAO,iBAAiB,YAAa,GAC9B,UAAY,CACjB,MAAO,QAAO,oBAAoB,YAAa,KAEhD,I,6BClCD,GAAW,SAAkB,EAAM,CACrC,GAAI,GAAY,EAAK,UACjB,EAAgB,EAAK,cACrB,EAAqB,EAAK,mBAC1B,EAAe,EAAK,YACpB,EAAU,EAAK,QACf,EAAW,EAAK,SAChB,EAEJ,MAAI,OAAO,IAAkB,WAC3B,EAAO,EAAc,GAErB,EAAO,EAGW,gBAAoB,OAAQ,CAC9C,YACA,YAAa,SAAqB,EAAO,CACvC,EAAM,iBAEF,GACF,EAAa,IAGjB,MAAO,CACL,WAAY,OACZ,iBAAkB,QAEpB,aAAc,KACd,UACA,cAAe,IACd,IAAS,OAAY,EAAoB,gBAAoB,OAAQ,CACtE,UAAW,KAAW,EAAU,MAAM,OAAO,IAAI,SAAU,EAAK,CAC9D,MAAO,GAAG,OAAO,EAAK,aAEvB,KAGL,GAAe,GCnCX,GAAQ,SAAe,EAAM,EAAK,CACpC,GAAI,GAAa,EAEb,EAAY,EAAK,UACjB,EAAK,EAAK,GACV,EAAe,EAAK,aACpB,EAAW,EAAK,SAChB,EAAW,EAAK,SAChB,EAAY,EAAK,UACjB,EAAe,EAAK,aACpB,EAAW,EAAK,SAChB,EAAqB,EAAK,mBAC1B,EAAQ,EAAK,MACb,EAAY,EAAK,UACjB,EAAa,EAAK,UAClB,EAAe,EAAK,YACpB,EAAY,EAAK,SACjB,EAAU,EAAK,QACf,EAAsB,EAAK,mBAC3B,EAAoB,EAAK,iBACzB,EAAO,EAAK,KACZ,EAAQ,EAAK,MACb,EAAY,GAA6B,gBAAoB,QAAS,MACtE,EAAa,EACb,EAAY,EAAW,IACvB,EAAc,EAAW,MACzB,GAAkB,EAAY,UAC9B,EAAiB,EAAY,SAC7B,EAAoB,EAAY,YAChC,GAA2B,EAAY,mBACvC,EAAyB,EAAY,iBACrC,EAAQ,EAAY,MACxB,gBAAQ,CAAE,cAAe,GAAU,OAAQ,yGAC3C,EAAyB,eAAmB,EAAW,GAAc,GAAc,GAAc,CAC/F,KAAM,UACL,GAAc,GAAI,CAEnB,KACA,IAAK,UAAW,EAAK,GACrB,WACA,WACA,aAAc,GAAgB,MAC9B,YACA,UAAW,KAAW,GAAG,OAAO,EAAW,2BAA6B,GAAc,KAAe,MAAQ,IAAgB,QAAmB,GAAoB,EAAY,SAAW,MAAQ,IAAsB,OAAnF,OAAqG,EAAkB,WAC7P,KAAM,WACN,gBAAiB,EACjB,gBAAiB,UACjB,YAAa,GAAG,OAAO,EAAI,SAC3B,oBAAqB,OACrB,gBAAiB,GAAG,OAAO,EAAI,SAC/B,wBAAyB,GACxB,GAAQ,GAAI,CACb,MAAO,EAAW,EAAQ,GAC1B,YACA,SAAU,CAAC,EACX,aAAe,EAAkB,KAAP,KAC1B,MAAO,GAAc,GAAc,GAAI,GAAQ,GAAI,CACjD,QAAS,EAAW,KAAO,IAE7B,UAAW,SAAmB,EAAO,CACnC,EAAW,GAEP,IACF,GAAgB,IAGpB,YAAa,SAAqB,EAAO,CACvC,EAAa,GAET,GACF,EAAkB,IAGtB,SAAU,SAAkB,EAAO,CACjC,EAAU,GAEN,GACF,EAAe,IAGnB,mBAAoB,SAA4B,EAAO,CACrD,EAAoB,GAEhB,IACF,GAAyB,IAG7B,iBAAkB,SAA0B,EAAO,CACjD,EAAkB,GAEd,GACF,EAAuB,IAG3B,aAEK,GAGL,GAAwB,aAAiB,IAC7C,GAAS,YAAc,QACvB,OAAe,GC1GR,YAAiB,EAAO,CAC7B,MAAI,OAAM,QAAQ,GACT,EAGF,IAAU,OAAY,CAAC,GAAS,GAElC,GAAI,IAAW,MAAO,SAAW,aAAe,OAAO,UAAY,OAAO,SAAS,gBAG/E,GAAqD,GACzD,YAAkB,EAAO,CAC9B,MAA8B,IAAU,KAG1C,YAAqB,EAAO,CAC1B,MAAO,CAAC,SAAU,UAAU,SAAS,GAAQ,IAGxC,YAAkB,EAAM,CAC7B,GAAI,GAAQ,OAEZ,MAAI,IACF,CAAI,GAAY,EAAK,OACnB,EAAQ,EAAK,MAAM,WACV,GAAY,EAAK,QAC1B,GAAQ,EAAK,MAAM,aAIhB,ECxBM,YAAyB,EAAQ,EAAM,CAEhD,GAEF,kBAAsB,EAAQ,GAE9B,YAAgB,EAAQ,GCD5B,YAAiB,EAAO,CACtB,GAAI,GAEJ,MAAQ,GAAa,EAAM,OAAS,MAAQ,IAAe,OAAS,EAAa,EAAM,MAGzF,GAAI,IAAqB,SAA4B,EAAO,CAC1D,EAAM,iBACN,EAAM,mBAGJ,GAAiB,SAAwB,EAAO,CAClD,GAAI,GAAK,EAAM,GACX,EAAY,EAAM,UAClB,EAAS,EAAM,OACf,EAAO,EAAM,KACb,EAAc,EAAM,YACpB,EAAuB,EAAM,qBAC7B,EAAW,EAAM,SACjB,EAAc,EAAM,YACpB,EAAW,EAAM,SACjB,EAAO,EAAM,KACb,EAAa,EAAM,WACnB,EAAY,EAAM,UAClB,EAAe,EAAM,aACrB,EAAqB,EAAM,mBAC3B,EAAW,EAAM,SACjB,EAAa,EAAM,WACnB,EAAc,EAAM,YACpB,EAAmB,EAAM,iBACzB,EAAwB,EAAM,kBAC9B,EAAoB,IAA0B,OAAS,SAAU,EAAe,CAClF,MAAO,KAAK,OAAO,EAAc,OAAQ,SACvC,EACA,EAAY,EAAM,UAClB,EAAe,EAAM,aACrB,EAAW,EAAM,SACjB,EAAgB,EAAM,cACtB,EAAe,EAAM,aACrB,EAAiB,EAAM,eACvB,GAAmB,EAAM,iBACzB,EAA0B,EAAM,wBAChC,EAAwB,EAAM,sBAC9B,GAAa,SAAa,MAE1B,EAAY,eAAS,GACrB,EAAa,GAAe,EAAW,GACvC,EAAa,EAAW,GACxB,EAAgB,EAAW,GAE3B,GAAa,eAAS,IACtB,GAAa,GAAe,GAAY,GACxC,GAAU,GAAW,GACrB,GAAa,GAAW,GAExB,GAAqB,GAAG,OAAO,EAAW,cAE1C,GAAa,GAAQ,IAAS,YAAc,IAAyB,IAAS,IAAS,OAAS,EAAc,GAC9G,EAAgB,IAAS,QAAU,IAAS,YAAc,IAAyB,IAAS,GAAe,IAAQ,IAEvH,GAAgB,UAAY,CAC1B,EAAc,GAAW,QAAQ,cAChC,CAAC,KAGJ,WAA+B,EAAM,GAAS,GAAc,GAAU,GAAS,CAC7E,MAAoB,iBAAoB,OAAQ,CAC9C,UAAW,KAAW,GAAG,OAAO,GAAoB,SAAU,GAAgB,GAAI,GAAG,OAAO,GAAoB,kBAAmB,KACnI,MAAO,GAAS,IACF,gBAAoB,OAAQ,CAC1C,UAAW,GAAG,OAAO,GAAoB,kBACxC,IAAU,IAAyB,gBAAoB,GAAU,CAClE,UAAW,GAAG,OAAO,GAAoB,gBACzC,YAAa,GACb,QAAS,GACT,cAAe,GACd,SAGL,WAAiC,EAAO,GAAS,GAAc,GAAU,GAAS,CAChF,GAAI,IAAc,SAAqB,EAAG,CACxC,GAAmB,GACnB,EAAa,CAAC,IAGhB,MAAoB,iBAAoB,OAAQ,CAC9C,gBACC,EAAU,CACX,MAAO,GACP,QACA,SAAU,GACV,YACA,cAIJ,WAAoB,EAAW,CAC7B,GAAI,IAAe,EAAU,SACzB,GAAQ,EAAU,MAClB,GAAQ,EAAU,MAClB,GAAW,CAAC,GAAY,CAAC,GACzB,GAAe,GAEnB,GAAI,MAAO,IAAqB,UAC1B,OAAO,KAAU,UAAY,MAAO,KAAU,UAAU,CAC1D,GAAI,IAAW,OAAO,IAElB,GAAS,OAAS,GACpB,IAAe,GAAG,OAAO,GAAS,MAAM,EAAG,GAAmB,QAKpE,GAAI,GAAU,SAAiB,GAAO,CAChC,IAAO,GAAM,kBACjB,EAAS,IAGX,MAAO,OAAO,IAAc,WAAa,EAAwB,GAAO,GAAc,GAAc,GAAU,GAAW,EAAsB,EAAW,GAAc,GAAc,GAAU,GAGlM,WAAoB,EAAe,CACjC,GAAI,IAAU,MAAO,IAAsB,WAAa,EAAkB,GAAiB,EAC3F,MAAO,GAAsB,CAC3B,MAAO,IACN,GAAS,IAId,GAAI,GAAyB,gBAAoB,MAAO,CACtD,UAAW,GAAG,OAAO,GAAoB,WACzC,MAAO,CACL,MAAO,GAET,QAAS,UAAmB,CAC1B,GAAW,KAEb,OAAQ,UAAkB,CACxB,GAAW,MAEC,gBAAoB,GAAO,CACzC,IAAK,EACL,OACA,YACA,KACA,aAAc,KACd,WACA,YACA,eACA,SAAU,EACV,qBACA,MAAO,GACP,UAAW,EACX,YAAa,GACb,SAAU,EACV,QAAS,EACT,mBAAoB,EACpB,iBAAkB,EAClB,WACA,MAAO,SAAU,EAAO,MACT,gBAAoB,OAAQ,CAC3C,IAAK,GACL,UAAW,GAAG,OAAO,GAAoB,kBACzC,cAAe,IACd,GAAY,SAEX,GAA6B,gBAAoB,KAAU,CAC7D,UAAW,GAAG,OAAO,GAAoB,aACzC,KAAM,EACN,aACA,aACA,OAAQ,EACR,WACA,SAAU,IAEZ,MAAoB,iBAAoB,WAAgB,KAAM,GAAe,CAAC,EAAO,QAAU,CAAC,IAA2B,gBAAoB,OAAQ,CACrJ,UAAW,GAAG,OAAO,GAAoB,iBACxC,KAGL,GAAe,GC1LX,GAAiB,SAAwB,EAAO,CAClD,GAAI,GAAe,EAAM,aACrB,EAAY,EAAM,UAClB,EAAK,EAAM,GACX,EAAW,EAAM,SACjB,EAAW,EAAM,SACjB,EAAY,EAAM,UAClB,EAAe,EAAM,aACrB,EAAqB,EAAM,mBAC3B,EAAO,EAAM,KACb,EAAO,EAAM,KACb,EAAS,EAAM,OACf,EAAc,EAAM,YACpB,EAAW,EAAM,SACjB,EAAa,EAAM,WACnB,EAAc,EAAM,YACpB,EAAc,EAAM,YACpB,EAAY,EAAM,UAClB,EAAiB,EAAM,eACvB,EAAmB,EAAM,iBACzB,EAAgB,EAAM,cACtB,EAAe,EAAM,aACrB,EAA0B,EAAM,wBAChC,EAAwB,EAAM,sBAE9B,EAAkB,WAAe,IACjC,EAAmB,GAAe,EAAiB,GACnD,EAAe,EAAiB,GAChC,GAAkB,EAAiB,GAEnC,EAAW,IAAS,WACpB,EAAgB,GAAY,EAC5B,GAAO,EAAO,GACd,EAAa,GAAe,GAE5B,GAAY,GAAe,CAAC,GAC9B,GAAa,GAGf,YAAgB,UAAY,CACtB,GACF,GAAgB,KAEjB,CAAC,EAAU,IAEd,GAAI,GAAe,IAAS,YAAc,CAAC,GAAQ,CAAC,EAAa,GAAQ,CAAC,CAAC,EAEvE,EAAQ,GAAS,IAEjB,EAAoB,UAA6B,CACnD,GAAI,GACF,MAAO,MAGT,GAAI,IAAc,EAAe,CAC/B,WAAY,UACV,OACJ,MAAoB,iBAAoB,OAAQ,CAC9C,UAAW,GAAG,OAAO,EAAW,0BAChC,MAAO,IACN,IAGL,MAAoB,iBAAoB,WAAgB,KAAmB,gBAAoB,OAAQ,CACrG,UAAW,GAAG,OAAO,EAAW,sBAClB,gBAAoB,GAAO,CACzC,IAAK,EACL,YACA,KACA,OACA,eACA,WACA,YACA,eACA,SAAU,EACV,qBACA,MAAO,EACP,UAAW,EACX,YAAa,EACb,SAAU,SAAkB,GAAG,CAC7B,GAAgB,IAChB,EAAc,KAEhB,QAAS,EACT,mBAAoB,EACpB,iBAAkB,EAClB,WACA,MAAO,SAAU,EAAO,IACxB,UAAW,EAAW,EAAY,UAC/B,CAAC,GAAY,IAAQ,CAAC,GAA6B,gBAAoB,OAAQ,CAClF,UAAW,GAAG,OAAO,EAAW,mBAChC,SACC,GAAK,OAAQ,MAGlB,GAAe,GClGR,YAA2B,EAAgB,CAChD,MAAO,CAAC,CACR,IAAQ,IAAK,IAAQ,MAAO,IAAQ,UAAW,IAAQ,IAAK,IAAQ,QAAS,IAAQ,IAAK,IAAQ,KAAM,IAAQ,cAAe,IAAQ,KAAM,IAAQ,UAAW,IAAQ,OAAQ,IAAQ,UAAW,IAAQ,aAC3M,IAAQ,GAAI,IAAQ,GAAI,IAAQ,GAAI,IAAQ,GAAI,IAAQ,GAAI,IAAQ,GAAI,IAAQ,GAAI,IAAQ,GAAI,IAAQ,GAAI,IAAQ,IAAK,IAAQ,IAAK,IAAQ,KAAK,SAAS,GCc9J,GAAI,IAAW,SAAkB,EAAO,EAAK,CAC3C,GAAI,GAAW,aAAO,MAClB,EAAuB,aAAO,IAC9B,EAAY,EAAM,UAClB,EAAO,EAAM,KACb,EAAO,EAAM,KACb,EAAa,EAAM,WACnB,EAAiB,EAAM,eACvB,EAAuB,EAAM,qBAC7B,EAAW,EAAM,SACjB,EAAiB,EAAM,eACvB,EAAe,EAAM,aACrB,EAAiB,EAAM,eACvB,EAAS,EAAM,OAEnB,sBAA0B,EAAK,UAAY,CACzC,MAAO,CACL,MAAO,UAAiB,CACtB,EAAS,QAAQ,SAEnB,KAAM,UAAgB,CACpB,EAAS,QAAQ,WAKvB,GAAI,GAAW,GAAQ,GACnB,EAAY,GAAe,EAAU,GACrC,EAAoB,EAAU,GAC9B,EAAoB,EAAU,GAE9B,EAAyB,SAAgC,EAAO,CAClE,GAAI,GAAQ,EAAM,MAEd,KAAU,IAAQ,IAAM,IAAU,IAAQ,OAC5C,EAAM,iBAGJ,GACF,EAAe,GAGb,IAAU,IAAQ,OAAS,IAAS,QAAU,CAAC,EAAqB,SAAW,CAAC,GAGlF,IAAmB,MAA6C,EAAe,EAAM,OAAO,QAG1F,GAAkB,IACpB,EAAa,KASb,EAA2B,UAAoC,CACjE,EAAkB,KAIhB,EAAgB,aAAO,MAEvB,EAAkB,SAAyB,EAAO,CAChD,EAAS,EAAO,GAAM,EAAqB,WAAa,IAC1D,EAAa,KAIb,EAA0B,UAAmC,CAC/D,EAAqB,QAAU,IAG7B,EAAwB,SAA+B,EAAG,CAC5D,EAAqB,QAAU,GAE3B,IAAS,YACX,EAAgB,EAAE,OAAO,QAIzB,EAAgB,SAAuB,EAAO,CAChD,GAAI,GAAQ,EAAM,OAAO,MAEzB,GAAI,GAAkB,EAAc,SAAW,SAAS,KAAK,EAAc,SAAU,CAEnF,GAAI,GAAe,EAAc,QAAQ,QAAQ,WAAY,IAAI,QAAQ,QAAS,KAAK,QAAQ,UAAW,KAC1G,EAAQ,EAAM,QAAQ,EAAc,EAAc,SAGpD,EAAc,QAAU,KACxB,EAAgB,IAGd,EAAe,SAAsB,EAAG,CAC1C,GAAI,GAAgB,EAAE,cAClB,EAAQ,EAAc,QAAQ,QAClC,EAAc,QAAU,GAGtB,GAAU,SAAiB,EAAM,CACnC,GAAI,GAAS,EAAK,OAElB,GAAI,IAAW,EAAS,QAAS,CAE/B,GAAI,GAAO,SAAS,KAAK,MAAM,gBAAkB,OAE7C,EACF,WAAW,UAAY,CACrB,EAAS,QAAQ,UAGnB,EAAS,QAAQ,UAKnB,EAAc,SAAqB,EAAO,CAC5C,GAAI,GAAiB,IAGjB,EAAM,SAAW,EAAS,SAAW,CAAC,GAAkB,IAAS,YACnE,EAAM,iBAGJ,KAAS,YAAe,EAAC,GAAc,CAAC,IAAmB,CAAC,IAC1D,IAAQ,IAAyB,IACnC,EAAS,GAAI,GAAM,IAGrB,MAKA,EAAc,CAChB,WACA,eAAgB,EAChB,iBAAkB,EAClB,gBACA,eACA,0BACA,yBAEE,GAAa,IAAS,YAAc,IAAS,OAAsB,gBAAoB,GAAkB,GAAS,GAAI,EAAO,IAA6B,gBAAoB,GAAgB,GAAS,GAAI,EAAO,IACtN,MAAoB,iBAAoB,MAAO,CAC7C,IAAK,EACL,UAAW,GAAG,OAAO,EAAW,aAChC,WACA,eACC,KAGD,GAA+B,aAAiB,IACpD,GAAgB,YAAc,WAC9B,OAAe,G,aC7KX,GAAY,CAAC,YAAa,WAAY,UAAW,WAAY,eAAgB,iBAAkB,YAAa,iBAAkB,gBAAiB,oBAAqB,YAAa,YAAa,2BAA4B,iBAAkB,gBAAiB,oBAAqB,QAAS,oBAAqB,uBAAwB,qBAKxU,GAAuB,SAA8B,EAA0B,CAEjF,GAAI,GAAU,IAA6B,GAAO,EAAI,EACtD,MAAO,CACL,WAAY,CACV,OAAQ,CAAC,KAAM,MACf,OAAQ,CAAC,EAAG,GACZ,SAAU,CACR,UACA,QAAS,IAGb,YAAa,CACX,OAAQ,CAAC,KAAM,MACf,OAAQ,CAAC,EAAG,GACZ,SAAU,CACR,UACA,QAAS,IAGb,QAAS,CACP,OAAQ,CAAC,KAAM,MACf,OAAQ,CAAC,EAAG,IACZ,SAAU,CACR,UACA,QAAS,IAGb,SAAU,CACR,OAAQ,CAAC,KAAM,MACf,OAAQ,CAAC,EAAG,IACZ,SAAU,CACR,UACA,QAAS,MAMb,GAAgB,SAAuB,EAAO,EAAK,CACrD,GAAI,GAAY,EAAM,UAClB,EAAW,EAAM,SACjB,EAAU,EAAM,QAChB,EAAW,EAAM,SACjB,EAAe,EAAM,aACrB,EAAiB,EAAM,eACvB,EAAY,EAAM,UAClB,EAAiB,EAAM,eACvB,EAAgB,EAAM,cACtB,EAAoB,EAAM,kBAC1B,EAAmB,EAAM,UACzB,EAAY,IAAqB,OAAS,MAAQ,EAClD,EAAY,EAAM,UAClB,EAA2B,EAAM,yBACjC,EAAiB,EAAM,eACvB,EAAgB,EAAM,cACtB,EAAoB,EAAM,kBAC1B,EAAQ,EAAM,MACd,EAAoB,EAAM,kBAC1B,EAAuB,EAAM,qBAC7B,EAAoB,EAAM,kBAC1B,EAAY,GAAyB,EAAO,IAE5C,EAAoB,GAAG,OAAO,EAAW,aACzC,EAAY,EAEZ,GACF,GAAY,EAAe,IAG7B,GAAI,GAAoB,UAAc,UAAY,CAChD,MAAO,IAAqB,IAC3B,CAAC,IAEA,GAAuB,EAAY,GAAG,OAAO,EAAmB,KAAK,OAAO,GAAa,EAEzF,EAAW,SAAa,MAC5B,sBAA0B,EAAK,UAAY,CACzC,MAAO,CACL,gBAAiB,UAA2B,CAC1C,MAAO,GAAS,YAKtB,GAAI,GAAa,GAAc,CAC7B,SAAU,GACT,GAEH,MAAI,OAAO,IAA6B,SACtC,EAAW,MAAQ,EACV,GACT,GAAW,MAAQ,GAGD,gBAAoB,KAAS,GAAS,GAAI,EAAW,CACvE,WAAY,EAAuB,CAAC,SAAW,GAC/C,WAAY,EAAuB,CAAC,SAAW,GAC/C,eAAgB,GAAc,KAAc,MAAQ,cAAgB,cACpE,kBAAmB,EACnB,UAAW,EACX,oBAAqB,GACrB,MAAoB,gBAAoB,MAAO,CAC7C,IAAK,EACL,aAAc,GACb,GACH,WAAY,EACZ,aAAc,EACd,oBACA,eAAgB,KAAW,EAAmB,GAAgB,GAAI,GAAG,OAAO,EAAmB,UAAW,IAC1G,aACA,oBACA,yBACE,IAGF,GAAgC,aAAiB,IACrD,GAAiB,YAAc,gBAC/B,OAAe,GC3Hf,YAAkB,EAAG,CACnB,MAAO,IAAe,IAAM,GAAgB,IAAM,GAA2B,IAAM,KCArF,YAAgB,EAAM,EAAO,CAC3B,GAAI,GAAM,EAAK,IACX,EAMJ,MAJI,SAAW,IACb,GAAQ,EAAK,OAGX,GAAQ,KACH,EAGL,IAAU,OACL,EAGF,gBAAgB,OAAO,GAGzB,YAAwB,EAAY,EAAgB,CACzD,GAAI,GAAO,GAAc,GACrB,EAAQ,EAAK,MACb,EAAQ,EAAK,MACb,EAAU,EAAK,QAEnB,MAAO,CACL,MAAO,GAAU,GAAiB,WAAa,SAC/C,MAAO,GAAS,QAChB,QAAS,GAAW,WASjB,YAAwB,EAAS,CACtC,GAAI,GAAQ,UAAU,OAAS,GAAK,UAAU,KAAO,OAAY,UAAU,GAAK,GAC5E,EAAa,EAAM,WACnB,EAAiB,EAAM,eAEvB,EAAc,GAEd,EAAkB,GAAe,EAAY,IAC7C,EAAa,EAAgB,MAC7B,EAAa,EAAgB,MAC7B,EAAe,EAAgB,QAEnC,WAAa,EAAM,EAAe,CAChC,EAAK,QAAQ,SAAU,EAAM,CAC3B,GAAI,GAAQ,EAAK,GAEjB,GAAI,GAAiB,CAAE,KAAgB,IAAO,CAC5C,GAAI,GAAQ,EAAK,GAEjB,EAAY,KAAK,CACf,IAAK,GAAO,EAAM,EAAY,QAC9B,YAAa,EACb,OACA,QACA,cAEG,CACL,GAAI,GAAW,EAEX,IAAa,QAAa,GAC5B,GAAW,EAAK,OAIlB,EAAY,KAAK,CACf,IAAK,GAAO,EAAM,EAAY,QAC9B,MAAO,GACP,OACA,MAAO,IAET,EAAI,EAAK,GAAe,OAK9B,SAAI,EAAS,IACN,EAMF,YAA+B,EAAQ,CAC5C,GAAI,GAAY,GAAc,GAAI,GAElC,MAAM,SAAW,IACf,OAAO,eAAe,EAAW,QAAS,CACxC,IAAK,UAAe,CAClB,gBAAQ,GAAO,iHACR,KAKN,EAEF,YAA6B,EAAM,EAAQ,CAChD,GAAI,CAAC,GAAU,CAAC,EAAO,OACrB,MAAO,MAGT,GAAI,GAAQ,GAEZ,WAAkB,EAAK,EAAO,CAC5B,GAAI,GAAQ,GAAS,GACjB,EAAQ,EAAM,GACd,EAAa,EAAM,MAAM,GAE7B,GAAI,CAAC,EACH,MAAO,CAAC,GAGV,GAAI,GAAO,EAAI,MAAM,GACrB,SAAQ,GAAS,EAAK,OAAS,EACxB,EAAK,OAAO,SAAU,EAAU,EAAS,CAC9C,MAAO,GAAG,OAAO,EAAmB,GAAW,EAAmB,EAAS,EAAS,MACnF,IAAI,OAAO,SAAU,EAAM,CAC5B,MAAO,KAIX,GAAI,GAAO,EAAS,EAAM,GAC1B,MAAO,GAAQ,EAAO,KC/HxB,GAAI,IAAY,CAAC,KAAM,YAAa,YAAa,aAAc,YAAa,YAAa,eAAgB,gBAAiB,wBAAyB,eAAgB,kBAAmB,UAAW,OAAQ,WAAY,UAAW,kBAAmB,qBAAsB,OAAQ,cAAe,0BAA2B,cAAe,sBAAuB,qBAAsB,cAAe,uBAAwB,WAAY,gBAAiB,kBAAmB,aAAc,YAAa,YAAa,YAAa,aAAc,YAAa,iBAAkB,gBAAiB,oBAAqB,2BAA4B,iBAAkB,gBAAiB,YAAa,oBAAqB,aAAc,UAAW,SAAU,UAAW,YAAa,eAgB9uB,GAAqB,CAAC,QAAS,WAAY,aAAc,cAAe,YAAa,cAAe,mBAAoB,oBAAqB,uBAAwB,iBAAkB,gBAAiB,YACrM,YAAoB,EAAM,CAC/B,MAAO,KAAS,QAAU,IAAS,WAErC,GAAI,IAA0B,aAAiB,SAAU,EAAO,EAAK,CACnE,GAAI,GAAuB,EAEvB,EAAK,EAAM,GACX,EAAY,EAAM,UAClB,EAAY,EAAM,UAClB,EAAa,EAAM,WACnB,EAAY,EAAM,UAClB,EAAY,EAAM,UAClB,EAAe,EAAM,aACrB,EAAgB,EAAM,cACtB,EAAwB,EAAM,sBAC9B,EAAe,EAAM,aACrB,EAAwB,EAAM,gBAC9B,EAAkB,IAA0B,OAAS,YAAc,EACnE,EAAU,EAAM,QAChB,EAAO,EAAM,KACb,EAAW,EAAM,SACjB,EAAU,EAAM,QAChB,EAAkB,EAAM,gBACxB,EAAqB,EAAM,mBAC3B,EAAO,EAAM,KACb,EAAc,EAAM,YACpB,EAA0B,EAAM,wBAChC,EAAc,EAAM,YACpB,EAAsB,EAAM,oBAC5B,EAAqB,EAAM,mBAC3B,GAAc,EAAM,YACpB,EAAuB,EAAM,qBAC7B,EAAW,EAAM,SACjB,GAAgB,EAAM,cACtB,EAAkB,EAAM,gBACxB,EAAa,EAAM,WACnB,EAAY,EAAM,UAClB,EAAY,EAAM,UAClB,GAAY,EAAM,UAClB,GAAa,EAAM,WACnB,GAAY,EAAM,UAClB,GAAiB,EAAM,eACvB,GAAgB,EAAM,cACtB,GAAoB,EAAM,kBAC1B,EAA2B,EAAM,yBACjC,EAAiB,EAAM,eACvB,EAAgB,EAAM,cACtB,EAAY,EAAM,UAClB,EAAoB,EAAM,kBAC1B,EAAoB,EAAM,WAC1B,GAAa,IAAsB,OAAS,GAAK,EACjD,EAAU,EAAM,QAChB,GAAS,EAAM,OACf,GAAU,EAAM,QAChB,GAAY,EAAM,UAClB,GAAc,EAAM,YACpB,GAAY,GAAyB,EAAO,IAG5C,GAAW,GAAW,GACtB,EAAoB,KAAe,OAAY,EAAa,KAAa,IAAS,WAElF,GAAW,GAAc,GAAI,IAEjC,GAAmB,QAAQ,SAAU,EAAU,CAC7C,MAAO,IAAS,KAElB,GAAiB,MAA2C,EAAa,QAAQ,SAAU,EAAU,CACnG,MAAO,IAAS,KAGlB,GAAI,IAAkB,WAAe,IACjC,GAAmB,GAAe,GAAiB,GACnD,GAAS,GAAiB,GAC1B,GAAY,GAAiB,GAEjC,YAAgB,UAAY,CAE1B,GAAU,aACT,IAEH,GAAI,IAAe,SAAa,MAC5B,GAAiB,SAAa,MAC9B,GAAa,SAAa,MAC1B,GAAc,SAAa,MAC3B,GAAU,SAAa,MAGvB,GAAiB,KACjB,GAAkB,GAAe,GAAgB,GACjD,GAAc,GAAgB,GAC9B,GAAiB,GAAgB,GACjC,GAAuB,GAAgB,GAG3C,sBAA0B,EAAK,UAAY,CACzC,GAAI,GAAsB,EAE1B,MAAO,CACL,MAAQ,GAAuB,GAAY,WAAa,MAAQ,IAAyB,OAAS,OAAS,EAAqB,MAChI,KAAO,GAAwB,GAAY,WAAa,MAAQ,IAA0B,OAAS,OAAS,EAAsB,KAClI,SAAU,SAAkB,GAAK,CAC/B,GAAI,IAEJ,MAAQ,IAAmB,GAAQ,WAAa,MAAQ,KAAqB,OAAS,OAAS,GAAiB,SAAS,QAK/H,GAAI,IAAoB,UAAc,UAAY,CAChD,GAAI,GAEJ,GAAI,IAAS,WACX,MAAO,IAGT,GAAI,GAAO,GAAkB,EAAc,MAAQ,MAAQ,IAAoB,OAAS,OAAS,EAAgB,MACjH,MAAO,OAAO,IAAQ,UAAY,MAAO,IAAQ,SAAW,OAAO,GAAO,IACzE,CAAC,GAAa,EAAM,IAGnB,GAAwB,IAAS,YAAc,MAAO,IAAoB,YAAc,KAAqB,KAE7G,GAA2B,MAAO,IAAuB,YAAc,IACvE,GAAuB,UAAc,GAAgB,IAA6B,MAAwD,GAAwB,GAAyB,SAAW,MAAQ,IAA0B,OAAxG,OAA0H,EAAsB,KAEhR,GAAkB,SAAe,OAAW,CAC9C,aAAc,EACd,MAAO,IAEL,GAAmB,GAAe,GAAiB,GACnD,GAAY,GAAiB,GAC7B,GAAe,GAAiB,GAEhC,GAAa,GAEb,GAAmB,CAAC,GAAmB,EAEvC,IAAY,IAAoB,IAAc,IAAS,aACzD,IAAa,IAGf,GAAI,IAAc,GAAmB,GAAQ,GACzC,EAAe,cAAkB,SAAU,EAAS,CACtD,GAAI,GAAW,IAAY,OAAY,EAAU,CAAC,GAE7C,GACH,IAAa,GAET,KAAe,GACjB,IAA4B,MAAsD,EAAwB,MAG7G,CAAC,EAAU,GAAY,GAAc,IAEpC,EAAiB,UAAc,UAAY,CAC7C,MAAQ,IAAmB,IAAI,KAAK,SAAU,EAAgB,CAC5D,MAAO,CAAC;AAAA,EAAM;AAAA,GAAQ,SAAS,MAEhC,CAAC,IAEA,EAAmB,SAA0B,EAAY,GAAY,GAAe,CACtF,GAAI,IAAM,GACN,GAAgB,EACpB,GAAwB,MAAkD,EAAoB,MAE9F,GAAI,IAAc,GAAgB,KAAO,GAAoB,EAAY,GAEzE,MAAI,KAAS,YAAc,IACzB,IAAgB,GAChB,IAAkB,MAA4C,GAAc,IAE5E,EAAa,IAEb,GAAM,IAGJ,GAAY,KAAsB,IACpC,EAAS,GAAe,CACtB,OAAQ,GAAa,SAAW,WAI7B,IAML,EAAyB,SAAgC,EAAY,CAEnE,CAAC,GAAc,CAAC,EAAW,QAI/B,EAAS,EAAY,CACnB,OAAQ,YAKZ,YAAgB,UAAY,CACtB,CAAC,IAAc,CAAC,IAAY,IAAS,YACvC,EAAiB,GAAI,GAAO,KAE7B,CAAC,KAGJ,YAAgB,UAAY,CACtB,IAAa,GACf,GAAa,IAGX,GACF,GAAe,KAEhB,CAAC,IASJ,GAAI,GAAW,KACX,EAAY,GAAe,EAAU,GACrC,GAAe,EAAU,GACzB,GAAe,EAAU,GAGzB,GAAoB,SAA2B,EAAO,CACxD,GAAI,IAAY,KACZ,GAAQ,EAAM,MAgBlB,GAdI,KAAU,IAAQ,OAEhB,KAAS,YACX,EAAM,iBAIH,IACH,EAAa,KAIjB,GAAa,CAAC,CAAC,IAEX,KAAU,IAAQ,WAAa,CAAC,IAAa,IAAY,CAAC,IAAqB,EAAc,OAAQ,CAKvG,OAJI,IAAqB,EAAmB,GAExC,GAAsB,KAEjB,GAAI,GAAmB,OAAS,EAAG,IAAK,EAAG,IAAK,EAAG,CAC1D,GAAI,IAAU,GAAmB,IAEjC,GAAI,CAAC,GAAQ,SAAU,CACrB,GAAmB,OAAO,GAAG,GAC7B,GAAsB,GACtB,OAIA,IACF,EAAsB,GAAoB,CACxC,KAAM,SACN,OAAQ,CAAC,MAKf,OAAS,IAAO,UAAU,OAAQ,GAAO,GAAI,OAAM,GAAO,EAAI,GAAO,EAAI,GAAI,GAAO,EAAG,GAAO,GAAM,KAClG,GAAK,GAAO,GAAK,UAAU,IAG7B,GAAI,IAAc,GAAQ,QAAS,CACjC,GAAI,IAEH,IAAoB,GAAQ,SAAS,UAAU,MAAM,GAAmB,CAAC,GAAO,OAAO,KAG1F,IAAc,MAAwC,GAAU,MAAM,OAAQ,CAAC,GAAO,OAAO,MAI3F,GAAkB,SAAyB,EAAO,CACpD,OAAS,IAAQ,UAAU,OAAQ,GAAO,GAAI,OAAM,GAAQ,EAAI,GAAQ,EAAI,GAAI,GAAQ,EAAG,GAAQ,GAAO,KACxG,GAAK,GAAQ,GAAK,UAAU,IAG9B,GAAI,IAAc,GAAQ,QAAS,CACjC,GAAI,IAEH,IAAoB,GAAQ,SAAS,QAAQ,MAAM,GAAmB,CAAC,GAAO,OAAO,KAGxF,IAAY,MAAsC,GAAQ,MAAM,OAAQ,CAAC,GAAO,OAAO,MAIrF,GAAmB,SAA0B,EAAK,CACpD,GAAI,IAAY,EAAc,OAAO,SAAU,GAAG,CAChD,MAAO,MAAM,IAEf,EAAsB,GAAW,CAC/B,KAAM,SACN,OAAQ,CAAC,MAOT,GAAW,SAAa,IAExB,GAAmB,UAA4B,CACjD,GAAe,IAEV,GACC,IAAW,CAAC,GAAS,SACvB,EAAQ,MAAM,OAAQ,WAIpB,GAAW,SAAS,UACtB,EAAa,KAIjB,GAAS,QAAU,IAGjB,GAAkB,UAA2B,CAM/C,GALe,GAAO,UAAY,CAChC,GAAS,QAAU,GACnB,EAAa,MAGX,IAIA,KAEF,CAAI,IAAS,OACX,EAAS,GAAmB,CAC1B,OAAQ,WAED,IAAS,YAElB,EAAS,GAAI,CACX,OAAQ,UAKV,IACF,GAAO,MAAM,OAAQ,aAKrB,GAAmB,GACvB,YAAgB,UAAY,CAC1B,MAAO,WAAY,CACjB,GAAiB,QAAQ,SAAU,EAAW,CAC5C,MAAO,cAAa,KAEtB,GAAiB,OAAO,EAAG,GAAiB,UAE7C,IAEH,GAAI,IAAsB,SAA6B,EAAO,CAC5D,GAAI,IAEA,GAAS,EAAM,OACf,GAAgB,IAAsB,GAAW,WAAa,MAAQ,KAAwB,OAAS,OAAS,GAAoB,kBAExI,GAAI,IAAgB,GAAa,SAAS,IAAS,CACjD,GAAI,IAAY,WAAW,UAAY,CACrC,GAAI,IAAQ,GAAiB,QAAQ,IAQrC,GANI,KAAU,IACZ,GAAiB,OAAO,GAAO,GAGjC,KAEI,CAAC,IAAU,CAAC,GAAa,SAAS,SAAS,eAAgB,CAC7D,GAAI,IAEH,IAAwB,GAAY,WAAa,MAAQ,KAA0B,QAAkB,GAAsB,WAGhI,GAAiB,KAAK,IAGxB,OAAS,IAAQ,UAAU,OAAQ,GAAW,GAAI,OAAM,GAAQ,EAAI,GAAQ,EAAI,GAAI,GAAQ,EAAG,GAAQ,GAAO,KAC5G,GAAS,GAAQ,GAAK,UAAU,IAGlC,IAAgB,MAA0C,GAAY,MAAM,OAAQ,CAAC,GAAO,OAAO,MAIjG,GAAmB,WAAe,MAClC,GAAmB,GAAe,GAAkB,GACpD,GAAiB,GAAiB,GAClC,GAAoB,GAAiB,GAErC,GAAmB,WAAe,IAClC,GAAmB,GAAe,GAAkB,GACpD,GAAc,GAAiB,GAGnC,aAA6B,CAC3B,GAAY,IAGd,SAAgB,UAAY,CAC1B,GAAI,GAAa,CACf,GAAI,GAEA,EAAW,KAAK,KAAM,GAAwB,GAAa,WAAa,MAAQ,IAA0B,OAAS,OAAS,EAAsB,aAElJ,KAAmB,GAAY,CAAC,OAAO,MAAM,IAC/C,GAAkB,KAGrB,CAAC,KAEJ,GAAI,IAEA,IACF,IAAyB,SAAgC,EAAS,CAChE,EAAa,KAKjB,GAAwB,UAAY,CAClC,GAAI,GAEJ,MAAO,CAAC,GAAa,QAAU,GAAuB,GAAW,WAAa,MAAQ,IAAyB,OAAS,OAAS,EAAqB,oBACrJ,GAAa,EAAc,CAAC,CAAC,IAEhC,GAAI,IAAoB,UAAc,UAAY,CAChD,MAAO,IAAc,GAAc,GAAI,GAAQ,GAAI,CACjD,kBACA,KAAM,GACN,eACA,KACA,WAAY,EACZ,YACA,WAAY,KAEb,CAAC,EAAO,EAAiB,GAAa,GAAY,EAAI,EAAkB,GAAU,IAKjF,GAAkB,IAAc,OAAY,EAAY,GAAW,CAAC,IAAY,IAAS,WACzF,GAEA,IACF,IAAyB,gBAAoB,GAAU,CACrD,UAAW,KAAW,GAAG,OAAO,EAAW,UAAW,GAAgB,GAAI,GAAG,OAAO,EAAW,kBAAmB,IAClH,cAAe,EACf,mBAAoB,CAClB,UACA,YAAa,GACb,KAAM,GACN,QAAS,GACT,WAAY,MAMlB,GAAI,IAEA,GAAmB,UAA4B,CACjD,GAAI,GAEJ,GAAY,MAAsC,IACjD,GAAwB,GAAY,WAAa,MAAQ,IAA0B,QAAkB,EAAsB,QAC5H,EAAsB,GAAI,CACxB,KAAM,QACN,OAAQ,IAEV,EAAiB,GAAI,GAAO,KAG1B,CAAC,GAAY,GAAe,GAAc,QAAU,KAAsB,CAAE,KAAS,YAAc,KAAsB,KAC3H,IAAyB,gBAAoB,GAAU,CACrD,UAAW,GAAG,OAAO,EAAW,UAChC,YAAa,GACb,cAAe,IACd,SAIL,GAAI,IAA0B,gBAAoB,GAAY,CAC5D,IAAK,KAGH,GAAkB,KAAW,EAAW,EAAY,GAAe,GAAI,GAAgB,EAAc,GAAG,OAAO,EAAW,YAAa,IAAc,GAAgB,EAAc,GAAG,OAAO,EAAW,aAAc,IAAW,GAAgB,EAAc,GAAG,OAAO,EAAW,WAAY,CAAC,IAAW,GAAgB,EAAc,GAAG,OAAO,EAAW,gBAAiB,GAAa,GAAgB,EAAc,GAAG,OAAO,EAAW,eAAgB,IAAkB,GAAgB,EAAc,GAAG,OAAO,EAAW,aAAc,GAAW,GAAgB,EAAc,GAAG,OAAO,EAAW,YAAa,GAAU,GAAgB,EAAc,GAAG,OAAO,EAAW,SAAU,IAAa,GAAgB,EAAc,GAAG,OAAO,EAAW,oBAAqB,IAAwB,GAAgB,EAAc,GAAG,OAAO,EAAW,gBAAiB,GAAmB,IAEz2B,GAA4B,gBAAoB,GAAe,CACjE,IAAK,GACL,WACA,YACA,QAAS,GACT,aAAc,GACd,kBACA,aACA,kBACA,iBACA,qBACA,YACA,2BACA,iBACA,gBACA,YACA,oBACA,MAAO,EACP,kBAAmB,UAA6B,CAC9C,MAAO,IAAe,SAExB,qBAAsB,GACtB,sBACC,GAAwC,eAAmB,GAA0B,CACtF,IAAK,KACW,gBAAoB,GAAU,GAAS,GAAI,EAAO,CAClE,OAAQ,GACR,YACA,aAAc,GACd,IAAK,GACL,KACA,WAAY,EACZ,uBACA,OACA,qBACA,YACA,OAAQ,EACR,KAAM,GACN,eACA,cACA,YAAa,GACb,SAAU,EACV,eAAgB,EAChB,SAAU,GACV,qBAGE,GAEJ,MAAI,IACF,GAAa,GAEb,GAA0B,gBAAoB,MAAO,GAAS,CAC5D,UAAW,IACV,GAAU,CACX,IAAK,GACL,YAAa,GACb,UAAW,GACX,QAAS,GACT,QAAS,GACT,OAAQ,KACN,IAAe,CAAC,IAA2B,gBAAoB,OAAQ,CACzE,MAAO,CACL,MAAO,EACP,OAAQ,EACR,SAAU,WACV,SAAU,SACV,QAAS,GAEX,YAAa,UACZ,GAAG,OAAO,EAAc,IAAI,SAAU,EAAM,CAC7C,GAAI,GAAQ,EAAK,MACb,GAAQ,EAAK,MACjB,MAAO,CAAC,SAAU,UAAU,SAAS,GAAQ,IAAU,EAAQ,KAC9D,KAAK,QAAS,GAAc,GAAW,IAGxB,gBAAoB,GAAkB,SAAU,CAClE,MAAO,IACN,MAOL,GAAe,GCrmBf,GAAgB,SAAU,EAAe,EAAc,CACrD,GAAI,GAAW,SAAa,CAC1B,OAAQ,GAAI,KACZ,QAAS,GAAI,OAEX,EAAsB,UAAc,UAAY,CAClD,GAAI,GAAoB,EAAS,QAC7B,EAAiB,EAAkB,OACnC,EAAkB,EAAkB,QAEpC,EAAgB,EAAc,IAAI,SAAU,EAAM,CACpD,GAAI,EAAK,QAAU,OAAW,CAC5B,GAAI,GAEJ,MAAO,IAAc,GAAc,GAAI,GAAO,GAAI,CAChD,MAAQ,GAAsB,EAAe,IAAI,EAAK,UAAY,MAAQ,IAAwB,OAAS,OAAS,EAAoB,QAI5I,MAAO,KAGL,EAAa,GAAI,KACjB,EAAc,GAAI,KACtB,SAAc,QAAQ,SAAU,EAAM,CACpC,EAAW,IAAI,EAAK,MAAO,GAC3B,EAAY,IAAI,EAAK,MAAO,EAAa,IAAI,EAAK,QAAU,EAAgB,IAAI,EAAK,UAEvF,EAAS,QAAQ,OAAS,EAC1B,EAAS,QAAQ,QAAU,EACpB,GACN,CAAC,EAAe,IACf,EAAY,cAAkB,SAAU,EAAK,CAC/C,MAAO,GAAa,IAAI,IAAQ,EAAS,QAAQ,QAAQ,IAAI,IAC5D,CAAC,IACJ,MAAO,CAAC,EAAqB,ICnC/B,YAAkB,EAAM,EAAQ,CAC9B,MAAO,IAAQ,GAAM,KAAK,IAAI,cAAc,SAAS,GAGvD,OAAgB,SAAU,EAAS,EAAY,EAAa,EAAc,EAAkB,CAC1F,MAAO,WAAc,UAAY,CAC/B,GAAI,CAAC,GAAe,IAAiB,GACnC,MAAO,GAGT,GAAI,GAAe,EAAW,QAC1B,EAAa,EAAW,MACxB,EAAa,EAAW,MACxB,EAAkB,GAClB,EAAkB,MAAO,IAAiB,WAC1C,EAAc,EAAY,cAC1B,EAAa,EAAkB,EAAe,SAAU,EAAG,EAAQ,CAErE,MAAI,GACK,GAAS,EAAO,GAAmB,GAIxC,EAAO,GAEF,GAAS,EAAO,IAAe,WAAa,EAAa,SAAU,GAGrE,GAAS,EAAO,GAAa,IAElC,EAAa,EAAkB,SAAU,EAAK,CAChD,MAAO,IAAsB,IAC3B,SAAU,EAAK,CACjB,MAAO,IAET,SAAQ,QAAQ,SAAU,EAAM,CAE9B,GAAI,EAAK,GAAe,CAEtB,GAAI,GAAa,EAAW,EAAa,EAAW,IAEpD,GAAI,EACF,EAAgB,KAAK,OAChB,CAEL,GAAI,GAAa,EAAK,GAAc,OAAO,SAAU,EAAS,CAC5D,MAAO,GAAW,EAAa,EAAW,MAGxC,EAAW,QACb,EAAgB,KAAK,GAAc,GAAc,GAAI,GAAO,GAAI,GAAgB,GAAI,EAAc,KAItG,OAGE,EAAW,EAAa,EAAW,KACrC,EAAgB,KAAK,KAGlB,GACN,CAAC,EAAS,EAAc,EAAkB,EAAa,K,aCjExD,GAAO,EAGA,GAAqD,WAGzD,aAAmB,CACxB,GAAI,GAIJ,MAAI,IACF,GAAQ,GACR,IAAQ,GAER,EAAQ,cAGH,EAEM,YAAe,EAAI,CAEhC,GAAI,GAAkB,aAClB,EAAmB,GAAe,EAAiB,GACnD,EAAU,EAAiB,GAC3B,EAAa,EAAiB,GAElC,mBAAgB,UAAY,CAC1B,EAAW,aAAa,OAAO,QAC9B,IACI,GAAM,E,iBC/BX,GAAY,CAAC,WAAY,SACzB,GAAa,CAAC,YAIlB,YAA6B,EAAM,CACjC,GAAI,GAAO,EACP,EAAM,EAAK,IACX,EAAa,EAAK,MAClB,EAAW,EAAW,SACtB,EAAQ,EAAW,MACnB,EAAY,GAAyB,EAAY,IAErD,MAAO,IAAc,CACnB,MACA,MAAO,IAAU,OAAY,EAAQ,EACrC,YACC,GAGE,YAA+B,EAAO,CAC3C,GAAI,GAAa,UAAU,OAAS,GAAK,UAAU,KAAO,OAAY,UAAU,GAAK,GACrF,MAAO,SAAQ,GAAO,IAAI,SAAU,EAAM,EAAO,CAC/C,GAAI,CAAe,iBAAqB,IAAS,CAAC,EAAK,KACrD,MAAO,MAGT,GAAI,GAAQ,EACR,EAAmB,EAAM,KAAK,iBAC9B,EAAM,EAAM,IACZ,EAAc,EAAM,MACpB,EAAW,EAAY,SACvB,EAAY,GAAyB,EAAa,IAEtD,MAAI,IAAc,CAAC,EACV,GAAoB,GAGtB,GAAc,GAAc,CACjC,IAAK,oBAAoB,OAAO,IAAQ,KAAO,EAAQ,EAAK,MAC5D,MAAO,GACN,GAAY,GAAI,CACjB,QAAS,GAAsB,OAEhC,OAAO,SAAU,EAAM,CACxB,MAAO,KCxCI,YAAoB,EAAS,EAAU,EAAY,EAAkB,EAAiB,CACnG,MAAO,WAAc,UAAY,CAC/B,GAAI,GAAgB,EAChB,EAAiB,CAAC,EAElB,GACF,GAAgB,GAAsB,IAGxC,GAAI,GAAe,GAAI,KACnB,EAAe,GAAI,KAEnB,EAAkB,SAAyB,EAAiB,EAAQ,EAAK,CACvE,GAAO,MAAO,IAAQ,UACxB,EAAgB,IAAI,EAAO,GAAM,IAIrC,WAAa,EAAY,CAIvB,OAHI,GAAa,UAAU,OAAS,GAAK,UAAU,KAAO,OAAY,UAAU,GAAK,GAG5E,EAAI,EAAG,EAAI,EAAW,OAAQ,GAAK,EAAG,CAC7C,GAAI,GAAS,EAAW,GAEpB,CAAC,EAAO,EAAW,UAAY,EACjC,GAAa,IAAI,EAAO,EAAW,OAAQ,GAC3C,EAAgB,EAAc,EAAQ,EAAW,OAEjD,EAAgB,EAAc,EAAQ,GACtC,EAAgB,EAAc,EAAQ,IAEtC,EAAI,EAAO,EAAW,SAAU,KAKtC,SAAI,GACG,CACL,QAAS,EACT,eACA,iBAED,CAAC,EAAS,EAAU,EAAY,EAAkB,IC5CxC,YAAoB,EAAU,CAC3C,GAAI,GAAU,WACd,EAAQ,QAAU,EAClB,GAAI,GAAU,cAAkB,UAAY,CAC1C,MAAO,GAAQ,QAAQ,MAAM,EAAS,YACrC,IACH,MAAO,GCTT,GAAI,IAAW,UAAoB,CACjC,MAAO,OAGT,GAAS,iBAAmB,GAC5B,OAAe,GCLX,GAAS,UAAkB,CAC7B,MAAO,OAGT,GAAO,eAAiB,GACxB,OAAe,G,sCCPX,GAA6B,gBAAoB,MACrD,GAAe,GCDR,aAAyB,CAC9B,MAAO,uBAAuB,KAAK,UAAU,YCG/C,GAAI,IAAY,CAAC,WAAY,QAAS,WAAY,QAAS,aAc3D,YAAqB,EAAS,CAC5B,MAAO,OAAO,IAAY,UAAY,MAAO,IAAY,SAQ3D,GAAI,IAAa,SAAoB,EAAG,EAAK,CAC3C,GAAI,GAAgB,KAChB,EAAY,EAAc,UAC1B,EAAK,EAAc,GACnB,EAAO,EAAc,KACrB,EAAW,EAAc,SACzB,EAAO,EAAc,KACrB,EAAc,EAAc,YAC5B,EAAa,EAAc,WAC3B,EAAkB,EAAc,gBAChC,EAAgB,EAAc,cAE9B,EAAoB,aAAiB,IACrC,EAAiB,EAAkB,eACnC,EAAgB,EAAkB,cAClC,EAA2B,EAAkB,yBAC7C,EAAW,EAAkB,SAC7B,EAAuB,EAAkB,qBACzC,EAAY,EAAkB,UAC9B,EAAa,EAAkB,WAC/B,EAAU,EAAkB,QAC5B,EAAa,EAAkB,WAC/B,EAAiB,EAAkB,eAEnC,EAAgB,GAAG,OAAO,EAAW,SACrC,EAAqB,SAAQ,UAAY,CAC3C,MAAO,IACN,CAAC,EAAM,GAAiB,SAAU,EAAM,EAAM,CAC/C,MAAO,GAAK,IAAM,EAAK,KAAO,EAAK,KAGjC,EAAU,SAAa,MAEvB,EAAkB,SAAyB,EAAO,CACpD,EAAM,kBAGJ,GAAiB,SAAwB,EAAM,CAC7C,EAAQ,SACV,EAAQ,QAAQ,SAAS,MAAO,IAAS,SAAW,CAClD,MAAO,GACL,IAKJ,EAAwB,SAA+B,EAAO,CAIhE,OAHI,GAAS,UAAU,OAAS,GAAK,UAAU,KAAO,OAAY,UAAU,GAAK,EAC7E,EAAM,EAAmB,OAEpB,EAAI,EAAG,EAAI,EAAK,GAAK,EAAG,CAC/B,GAAI,GAAW,GAAQ,EAAI,EAAS,GAAO,EACvC,GAAwB,EAAmB,GAC3C,EAAQ,GAAsB,MAC9B,GAAO,GAAsB,KAEjC,GAAI,CAAC,GAAS,CAAC,GAAK,SAClB,MAAO,GAIX,MAAO,IAGL,EAAkB,WAAe,UAAY,CAC/C,MAAO,GAAsB,KAE3B,GAAmB,GAAe,EAAiB,GACnD,EAAc,GAAiB,GAC/B,EAAiB,GAAiB,GAElC,EAAY,SAAmB,EAAO,CACxC,GAAI,GAAe,UAAU,OAAS,GAAK,UAAU,KAAO,OAAY,UAAU,GAAK,GACvF,EAAe,GACf,GAAI,GAAO,CACT,OAAQ,EAAe,WAAa,SAGlC,EAAc,EAAmB,GAErC,GAAI,CAAC,EAAa,CAChB,EAAc,KAAM,GAAI,GACxB,OAGF,EAAc,EAAY,MAAO,EAAO,IAI1C,gBAAU,UAAY,CACpB,EAAU,IAA6B,GAAQ,EAAsB,GAAK,KACzE,CAAC,EAAmB,OAAQ,IAE/B,GAAI,GAAa,cAAkB,SAAU,EAAO,CAClD,MAAO,GAAU,IAAI,IAAU,IAAS,YACvC,CAAC,EAAM,EAAmB,GAAW,WAAY,EAAU,OAE9D,gBAAU,UAAY,CAMpB,GAAI,GAAY,WAAW,UAAY,CACrC,GAAI,CAAC,GAAY,GAAQ,EAAU,OAAS,EAAG,CAC7C,GAAI,GAAQ,MAAM,KAAK,GAAW,GAC9B,EAAQ,EAAmB,UAAU,SAAU,EAAM,CACvD,GAAI,GAAO,EAAK,KAChB,MAAO,GAAK,QAAU,IAGpB,IAAU,IACZ,GAAU,GACV,GAAe,OAKrB,GAAI,EAAM,CACR,GAAI,GAEH,GAAmB,EAAQ,WAAa,MAAQ,IAAqB,QAAkB,EAAiB,SAAS,QAGpH,MAAO,WAAY,CACjB,MAAO,cAAa,KAErB,CAAC,EAAM,EAAa,EAAe,SAEtC,GAAI,IAAgB,SAAuB,EAAO,CAC5C,IAAU,QACZ,EAAS,EAAO,CACd,SAAU,CAAC,EAAU,IAAI,KAKxB,GACH,EAAW,KA8Ef,GAzEA,sBAA0B,EAAK,UAAY,CACzC,MAAO,CACL,UAAW,SAAmB,EAAO,CACnC,GAAI,GAAQ,EAAM,MACd,EAAU,EAAM,QAEpB,OAAQ,OAED,KAAQ,MACR,KAAQ,MACR,KAAQ,OACR,KAAQ,KACX,CACE,GAAI,GAAS,EAcb,GAZI,IAAU,IAAQ,GACpB,EAAS,GACA,IAAU,IAAQ,KAC3B,EAAS,EACA,MAAmB,GAC5B,CAAI,IAAU,IAAQ,EACpB,EAAS,EACA,IAAU,IAAQ,GAC3B,GAAS,KAIT,IAAW,EAAG,CAChB,GAAI,GAAkB,EAAsB,EAAc,EAAQ,GAClE,GAAe,GACf,EAAU,EAAiB,IAG7B,UAIC,KAAQ,MACX,CAEE,GAAI,IAAO,EAAmB,GAE1B,IAAQ,CAAC,GAAK,KAAK,SACrB,GAAc,GAAK,OAEnB,GAAc,QAGZ,GACF,EAAM,iBAGR,UAIC,KAAQ,IAET,EAAW,IAEP,GACF,EAAM,oBAKhB,QAAS,UAAmB,GAC5B,SAAU,SAAkB,EAAO,CACjC,GAAe,OAKjB,EAAmB,SAAW,EAChC,MAAoB,iBAAoB,MAAO,CAC7C,KAAM,UACN,GAAI,GAAG,OAAO,EAAI,SAClB,UAAW,GAAG,OAAO,EAAe,UACpC,YAAa,GACZ,GAGL,GAAI,IAAoB,OAAO,KAAK,GAAY,IAAI,SAAU,EAAK,CACjE,MAAO,GAAW,KAGhB,GAAW,SAAkB,EAAM,CACrC,MAAO,GAAK,OAGd,YAA0B,EAAM,EAAO,CACrC,GAAI,GAAQ,EAAK,MACjB,MAAO,CACL,KAAM,EAAQ,eAAiB,SAC/B,GAAI,GAAG,OAAO,EAAI,UAAU,OAAO,IAIvC,GAAI,IAAa,SAAoB,EAAO,CAC1C,GAAI,GAAO,EAAmB,GAC9B,GAAI,CAAC,EAAM,MAAO,MAClB,GAAI,GAAW,EAAK,MAAQ,GACxB,EAAQ,EAAS,MACjB,EAAQ,EAAK,MACb,GAAQ,SAAU,EAAU,IAC5B,EAAc,GAAS,GAC3B,MAAO,GAAoB,gBAAoB,MAAO,GAAS,CAC7D,aAAc,MAAO,IAAgB,UAAY,CAAC,EAAQ,EAAc,MACvE,GAAO,CACR,IAAK,GACJ,GAAiB,EAAM,GAAQ,CAChC,gBAAiB,EAAW,KAC1B,GAAS,MAGX,GAAY,CACd,KAAM,UACN,GAAI,GAAG,OAAO,EAAI,UAEpB,MAAoB,iBAAoB,WAAgB,KAAM,GAAwB,gBAAoB,MAAO,GAAS,GAAI,GAAW,CACvI,MAAO,CACL,OAAQ,EACR,MAAO,EACP,SAAU,YAEV,GAAW,EAAc,GAAI,GAAW,GAAc,GAAW,EAAc,IAAkB,gBAAoB,KAAM,CAC7H,QAAS,MACT,IAAK,EACL,KAAM,EACN,OAAQ,EACR,WAAY,EACZ,WAAY,GACZ,YAAa,EACb,SAAU,EACV,UACA,WAAY,EAAU,KAAO,IAC5B,SAAU,EAAM,EAAW,CAC5B,GAAI,GAEA,EAAQ,EAAK,MACb,EAAc,EAAK,YACnB,EAAO,EAAK,KACZ,GAAQ,EAAK,MACb,EAAQ,EAAK,MACb,GAAM,EAAK,IAEf,GAAI,EAAO,CACT,GAAI,IAEA,GAAc,IAAc,EAAK,SAAW,MAAQ,KAAgB,OAAS,GAAc,GAAY,IAAS,GAAM,WAAa,OACvI,MAAoB,iBAAoB,MAAO,CAC7C,UAAW,KAAW,EAAe,GAAG,OAAO,EAAe,WAC9D,MAAO,IACN,KAAU,OAAY,GAAQ,IAGnC,GAAI,IAAW,EAAK,SAChB,GAAQ,EAAK,MACb,GAAW,EAAK,SAChB,EAAQ,EAAK,MACb,GAAY,EAAK,UACjB,GAAa,GAAyB,EAAM,IAE5C,GAAc,SAAK,GAAY,IAE/B,GAAW,EAAW,GACtB,GAAkB,GAAG,OAAO,EAAe,WAC3C,GAAkB,KAAW,EAAe,GAAiB,GAAY,GAAc,GAAI,GAAgB,EAAa,GAAG,OAAO,GAAiB,YAAa,GAAc,GAAgB,EAAa,GAAG,OAAO,GAAiB,WAAY,IAAgB,GAAa,CAAC,IAAW,GAAgB,EAAa,GAAG,OAAO,GAAiB,aAAc,IAAW,GAAgB,EAAa,GAAG,OAAO,GAAiB,aAAc,IAAW,IAC7b,GAAc,GAAS,GACvB,GAAc,CAAC,GAAwB,MAAO,IAAyB,YAAc,GAErF,GAAU,MAAO,KAAgB,SAAW,GAAc,IAAe,EAEzE,GAAc,GAAY,IAAW,GAAQ,WAAa,OAE9D,MAAI,MAAU,QACZ,IAAc,IAGI,gBAAoB,MAAO,GAAS,GAAI,SAAU,IAAe,EAA8C,GAApC,GAAiB,EAAM,GAAiB,CACrI,gBAAiB,GACjB,UAAW,GACX,MAAO,GACP,YAAa,UAAuB,CAC9B,IAAgB,GAAa,IAIjC,EAAU,IAEZ,QAAS,UAAmB,CACrB,IACH,GAAc,IAGlB,UACe,gBAAoB,MAAO,CAC1C,UAAW,GAAG,OAAO,GAAiB,aACrC,IAAuB,iBAAqB,IAAyB,GAAU,IAA4B,gBAAoB,GAAU,CAC1I,UAAW,GAAG,OAAO,EAAe,iBACpC,cAAe,EACf,mBAAoB,CAClB,WAAY,KAEb,GAAW,SAAM,WAIpB,GAA6B,aAAiB,IAClD,GAAc,YAAc,aAC5B,OAAe,GCrXf,YAAsB,EAAO,CAC3B,GAAI,GAAO,EAAM,KACb,EAAU,EAAM,QAChB,EAAW,EAAM,SACjB,EAAW,EAAM,SACjB,EAAa,EAAM,WACnB,EAAc,EAAM,YACpB,EAAkB,EAAM,gBACxB,EAAa,EAAM,WACnB,EAAW,EAAM,SACjB,EAAc,EAAM,YACpB,EAAY,EAAM,UAClB,EAAe,EAAM,aACrB,EAAQ,EAAM,MACd,EAAa,EAAM,WACnB,EAAkB,EAAM,gBACxB,EAAW,WAAW,GACtB,EAAmB,IAAe,OAAY,EAAa,GAAY,IAAS,WAChF,EAAgB,GAAW,sBAAsB,GAMrD,GAJA,QAAQ,IAAS,QAAU,EAAc,MAAM,SAAU,EAAK,CAC5D,MAAO,CAAC,EAAI,WACV,gGAEA,IAAS,QAAU,IAAS,WAAY,CAC1C,GAAI,GAAiB,EAAc,KAAK,SAAU,EAAM,CACtD,MAAI,GAAK,QACA,EAAK,QAAQ,KAAK,SAAU,EAAK,CACtC,MAAO,OAAQ,UAAW,GAAM,EAAI,MAAQ,EAAI,MAAS,WAItD,MAAQ,UAAW,GAAO,EAAK,MAAQ,EAAK,MAAS,WAE9D,QAAQ,CAAC,EAAgB,qFAkB3B,GAdA,QAAQ,IAAS,YAAc,CAAC,EAAiB,yFAEjD,QAAQ,IAAS,YAAc,CAAC,EAAU,+CAE1C,QAAQ,IAAS,YAAc,CAAC,EAAiB,qDAEjD,SAAS,IAAS,YAAc,CAAC,GAAmB,CAAC,GAAc,CAAC,EAAa,mIAE7E,GAAY,CAAC,GAAoB,IAAS,YAAc,IAAS,QACnE,QAAQ,GAAO,kEAGjB,SAAS,CAAC,GAAe,EAAW,oIAET,GAAU,KAAM,CACzC,GAAI,GAAS,QAAQ,GACrB,QAAQ,CAAC,GAAgB,EAAO,MAAM,SAAU,EAAK,CACnD,MAAO,SAAQ,KAAS,UAAa,QAAS,IAAO,SAAW,MAC9D,oHACJ,QAAQ,CAAC,GAAY,MAAM,QAAQ,GAAQ,+DAI7C,GAAI,EAAU,CACZ,GAAI,GAAsB,KAC1B,YAAY,GAAU,KAAK,SAAU,EAAM,CACzC,GAAI,CAAe,MAAM,eAAe,IAAS,CAAC,EAAK,KACrD,MAAO,GAGT,GAAI,GAAO,EACP,EAAO,EAAK,KAEhB,GAAI,EAAK,eACP,MAAO,GAGT,GAAI,EAAK,iBAAkB,CACzB,GAAI,GAAmB,YAAY,EAAK,MAAM,UAAU,MAAM,SAAU,EAAS,CAC/E,MAAI,CAAe,MAAM,eAAe,IAAY,CAAC,EAAK,MAAQ,EAAQ,KAAK,eACtE,GAGT,GAAsB,EAAQ,KACvB,MAGT,MAAI,GAON,SAAsB,EACf,KAGL,GACF,QAAQ,GAAO,yEAAyE,OAAO,EAAoB,aAAe,EAAoB,MAAQ,EAAqB,OAGrL,QAAQ,IAAe,OAAW,kEAM/B,YAA4B,EAAS,EAAY,CACtD,GAAI,EAAS,CACX,GAAI,GAAmB,WAA0B,EAAa,CAG5D,OAFI,GAAU,UAAU,OAAS,GAAK,UAAU,KAAO,OAAY,UAAU,GAAK,GAEzE,EAAI,EAAG,EAAI,EAAY,OAAQ,IAAK,CAC3C,GAAI,GAAS,EAAY,GAEzB,GAAI,EAAO,GAAe,KAAgC,OAAS,EAAW,SAAW,KACvF,eAAQ,GAAO,mDACR,GAGT,GAAI,CAAC,GAAW,MAAM,QAAQ,EAAO,GAAe,KAAgC,OAAS,EAAW,WAAa,EAAiB,EAAO,GAAe,KAAgC,OAAS,EAAW,SAAU,IACxN,QAKN,EAAiB,IAGrB,OAAe,KCjIX,GAAY,CAAC,KAAM,OAAQ,YAAa,WAAY,aAAc,aAAc,cAAe,WAAY,uBAAwB,WAAY,aAAc,2BAA4B,eAAgB,aAAc,mBAAoB,kBAAmB,UAAW,WAAY,2BAA4B,uBAAwB,UAAW,aAAc,iBAAkB,QAAS,eAAgB,eAAgB,YAgD7Z,GAAiB,CAAC,cAEtB,YAAoB,EAAO,CACzB,MAAO,CAAC,GAAS,GAAQ,KAAW,SAGtC,GAAI,IAAsB,aAAiB,SAAU,EAAO,EAAK,CAC/D,GAAI,GAAK,EAAM,GACX,EAAO,EAAM,KACb,EAAmB,EAAM,UACzB,EAAY,IAAqB,OAAS,YAAc,EACxD,EAAW,EAAM,SACjB,EAAa,EAAM,WACnB,EAAa,EAAM,WACnB,EAAc,EAAM,YACpB,EAAW,EAAM,SACjB,EAAwB,EAAM,qBAC9B,EAAuB,IAA0B,OAAS,GAAO,EACjE,EAAW,EAAM,SACjB,EAAa,EAAM,WACnB,EAAwB,EAAM,yBAC9B,EAA2B,IAA0B,OAAS,GAAO,EACrE,EAAe,EAAM,aACrB,EAAa,EAAM,WACnB,EAAmB,EAAM,iBACzB,EAAkB,EAAM,gBACxB,EAAU,EAAM,QAChB,EAAW,EAAM,SACjB,EAA2B,EAAM,yBACjC,EAAuB,EAAM,qBAC7B,EAAU,EAAM,QAChB,EAAoB,EAAM,WAC1B,EAAa,IAAsB,OAAS,IAAM,EAClD,GAAwB,EAAM,eAC9B,EAAiB,KAA0B,OAAS,GAAK,GACzD,EAAQ,EAAM,MACd,GAAe,EAAM,aACrB,EAAe,EAAM,aACrB,EAAW,EAAM,SACjB,EAAY,GAAyB,EAAO,IAE5C,EAAW,GAAM,GACjB,GAAW,GAAW,GACtB,GAAiB,CAAC,CAAE,EAAC,GAAW,GAChC,GAAqB,UAAc,UAAY,CACjD,MAAI,KAAiB,QAAa,IAAS,WAClC,GAGF,GACN,CAAC,EAAc,IAEd,GAAmB,UAAc,UAAY,CAC/C,MAAO,IAAe,EAAY,KAGpC,CACA,KAAK,UAAU,GAAa,KAIxB,GAAkB,SAAe,GAAI,CACvC,MAAO,IAAgB,OAAY,EAAc,EACjD,UAAW,SAAmB,EAAQ,CACpC,MAAO,IAAU,MAGjB,GAAmB,GAAe,GAAiB,GACnD,EAAoB,GAAiB,GACrC,EAAiB,GAAiB,GAGlC,EAAgB,GAAW,EAAS,EAAU,GAAkB,EAAkB,GAClF,EAAe,EAAc,aAC7B,EAAe,EAAc,aAC7B,EAAgB,EAAc,QAE9B,GAAsB,cAAkB,SAAU,EAAa,CAEjE,GAAI,GAAY,GAAQ,GAExB,MAAO,GAAU,IAAI,SAAU,EAAK,CAClC,GAAI,GACA,EACA,EACA,GACA,GAEJ,GAAI,GAAW,GACb,EAAW,MACN,CACL,GAAI,IAEJ,EAAS,EAAI,IACb,EAAW,EAAI,MACf,EAAY,IAAa,EAAI,SAAW,MAAQ,KAAe,OAAS,GAAa,EAGvF,GAAI,IAAS,EAAa,IAAI,GAE9B,GAAI,GAAQ,CACV,GAAI,IAQJ,GALI,IAAa,QAAW,GAAW,IAAW,KAA4B,OAAS,GAAO,GAAmB,GAAiB,QAC9H,IAAW,QAAW,GAAU,IAAc,IAAW,KAA4B,OAAS,GAAO,OAAS,MAAQ,KAAgB,OAAS,GAAc,GACjK,GAAc,IAAW,KAA4B,OAAS,GAAO,SACrE,GAAW,IAAW,KAA4B,OAAS,GAAO,MAE9D,GAA2D,OASjE,MAAO,CACL,MAAO,EACP,MAAO,EACP,IAAK,EACL,SAAU,GACV,MAAO,OAGV,CAAC,GAAkB,EAAiB,IAEnC,EAAmB,SAAe,GAAc,CAClD,UAEE,GAAmB,GAAe,EAAkB,GACpD,GAAgB,GAAiB,GACjC,GAAmB,GAAiB,GAGpC,GAAmB,UAAc,UAAY,CAC/C,GAAI,GAEA,EAAS,GAAoB,IAEjC,MAAI,KAAS,YAAc,CAAG,IAAW,EAAO,MAAQ,MAAQ,IAAa,QAAU,EAAS,OACvF,GAGF,GACN,CAAC,GAAe,GAAqB,IAEpC,GAAY,GAAS,GAAkB,GACvC,GAAa,GAAe,GAAW,GACvC,EAAe,GAAW,GAC1B,GAAiB,GAAW,GAE5B,GAAgB,UAAc,UAAY,CAG5C,GAAI,CAAC,GAAQ,EAAa,SAAW,EAAG,CACtC,GAAI,GAAa,EAAa,GAE9B,GAAI,EAAW,QAAU,MAAS,GAAW,QAAU,MAAQ,EAAW,QAAU,QAClF,MAAO,GAIX,MAAO,GAAa,IAAI,SAAU,EAAM,CACtC,GAAI,GAEJ,MAAO,IAAc,GAAc,GAAI,GAAO,GAAI,CAChD,MAAQ,GAAc,EAAK,SAAW,MAAQ,IAAgB,OAAS,EAAc,EAAK,WAG7F,CAAC,EAAM,IAGN,GAAY,UAAc,UAAY,CACxC,MAAO,IAAI,KAAI,EAAa,IAAI,SAAU,EAAK,CAC7C,MAAO,GAAI,UAEZ,CAAC,IACJ,YAAgB,UAAY,CAC1B,GAAI,IAAS,WAAY,CACvB,GAAI,GAEA,EAAY,GAAiB,EAAa,MAAQ,MAAQ,IAAmB,OAAS,OAAS,EAAe,MAClH,EAAe,GAAS,GAAY,OAAO,GAAY,MAExD,CAAC,IAGJ,GAAI,IAAkB,GAAW,SAAU,EAAK,EAAO,CACrD,GAAI,GAEA,EAAc,GAAU,KAA2B,EAAQ,EAC/D,MAAO,GAAO,GAAI,GAAgB,EAAM,GAAiB,MAAO,GAAM,GAAgB,EAAM,GAAiB,MAAO,GAAc,IAGhI,GAAmB,UAAc,UAAY,CAC/C,GAAI,IAAS,OACX,MAAO,GAIT,GAAI,GAAe,EAAmB,GAGlC,EAAe,SAAsB,EAAK,CAC5C,MAAO,GAAa,IAAI,IAI1B,SAAmB,GAAc,KAAK,SAAU,EAAG,EAAG,CACpD,MAAO,GAAE,MAAQ,EAAE,MAAQ,GAAK,IAC/B,QAAQ,SAAU,EAAM,CACzB,GAAI,GAAM,EAAK,MAEV,EAAa,IAChB,EAAa,KAAK,GAAgB,EAAK,EAAK,UAIzC,GACN,CAAC,GAAiB,EAAe,EAAc,EAAc,IAC5D,GAAkB,GAAiB,GAAkB,GAAkB,EAAmB,GAAoB,GAE9G,GAAsB,UAAc,UAAY,CAClD,MAAI,KAAS,QAAU,CAAC,GAAqB,GAAgB,KAAK,SAAU,EAAM,CAChF,MAAO,GAAK,GAAoB,WAAa,IAEtC,GAIF,CAAC,GAAgB,IAAoB,OAAO,EAAmB,MACrE,CAAC,GAAiB,EAAkB,EAAM,GAAiB,IAC1D,GAAyB,UAAc,UAAY,CACrD,MAAK,GAIE,EAAmB,IAAqB,KAAK,SAAU,EAAG,EAAG,CAClE,MAAO,GAAW,EAAG,KAJd,IAMR,CAAC,GAAqB,IACrB,GAAiB,UAAc,UAAY,CAC7C,MAAO,IAAe,GAAwB,CAC5C,WAAY,GACZ,qBAED,CAAC,GAAwB,GAAkB,KAE1C,GAAgB,SAAuB,EAAQ,CACjD,GAAI,GAAgB,GAAoB,GAGxC,GAFA,GAAiB,GAEb,GACJ,GAAc,SAAW,EAAa,QAAU,EAAc,KAAK,SAAU,EAAQ,GAAO,CAC1F,GAAI,IAEJ,MAAS,KAAsB,EAAa,OAAY,MAAQ,KAAwB,OAAS,OAAS,GAAoB,SAAY,IAAW,KAA4B,OAAS,EAAO,UAC9L,CACH,GAAI,GAAe,EAAe,EAAgB,EAAc,IAAI,SAAU,EAAG,CAC/E,MAAO,GAAE,QAEP,EAAgB,EAAc,IAAI,SAAU,EAAG,CACjD,MAAO,IAAsB,GAAe,EAAE,UAEhD,EACA,GAAW,EAAe,EAAa,GACvC,GAAW,EAAgB,EAAc,MAKzC,GAAkB,WAAe,MACjC,GAAmB,GAAe,GAAiB,GACnD,GAAc,GAAiB,GAC/B,GAAiB,GAAiB,GAElC,GAAmB,WAAe,GAClC,GAAmB,GAAe,GAAkB,GACpD,GAAqB,GAAiB,GACtC,GAAwB,GAAiB,GAEzC,GAAiC,IAA6B,OAAY,EAA2B,IAAS,WAC9G,GAAgB,cAAkB,SAAU,EAAQ,EAAO,CAC7D,GAAI,GAAQ,UAAU,OAAS,GAAK,UAAU,KAAO,OAAY,UAAU,GAAK,GAC5E,EAAe,EAAM,OACrB,EAAS,IAAiB,OAAS,WAAa,EAEpD,GAAsB,GAElB,GAAY,IAAS,YAAc,IAAW,MAAQ,IAAW,YACnE,GAAe,OAAO,KAEvB,CAAC,EAAU,IAEV,GAAgB,SAAuB,EAAK,EAAU,EAAM,CAC9D,GAAI,GAAe,UAAwB,CACzC,GAAI,IAEA,GAAS,GAAe,GAC5B,MAAO,CAAC,EAAe,CACrB,MAAO,IAAW,KAA4B,OAAS,GAAO,GAAiB,OAC/E,MAAO,EACP,IAAM,IAAe,IAAW,KAA4B,OAAS,GAAO,OAAS,MAAQ,KAAiB,OAAS,GAAe,GACpI,EAAK,GAAsB,MAGjC,GAAI,GAAY,EAAU,CACxB,GAAI,GAAgB,IAChB,GAAiB,GAAe,EAAe,GAC/C,GAAe,GAAe,GAC9B,GAAU,GAAe,GAE7B,EAAS,GAAc,YACd,CAAC,GAAY,GAAc,IAAS,QAAS,CACtD,GAAI,IAAiB,IACjB,GAAiB,GAAe,GAAgB,GAChD,GAAgB,GAAe,GAC/B,GAAW,GAAe,GAE9B,EAAW,GAAe,MAK1B,GAAmB,GAAW,SAAU,EAAK,EAAM,CACrD,GAAI,GAEA,EAAe,GAAW,EAAK,SAAW,GAE1C,EACF,EAAc,GAAW,GAAG,OAAO,EAAmB,GAAe,CAAC,IAAQ,CAAC,GAE/E,EAAc,EAAa,OAAO,SAAU,EAAG,CAC7C,MAAO,GAAE,QAAU,IAIvB,GAAc,GACd,GAAc,EAAK,GAEf,IAAS,WAEX,GAAe,IACN,EAAC,IAAc,IACxB,GAAe,IACf,GAAe,OAKf,GAAwB,SAA+B,EAAY,EAAM,CAC3E,GAAc,GACd,GAAI,GAAO,EAAK,KACZ,EAAS,EAAK,OAEd,KAAS,UAAY,IAAS,UAChC,EAAO,QAAQ,SAAU,EAAM,CAC7B,GAAc,EAAK,MAAO,GAAO,MAMnC,GAAmB,SAA0B,EAAY,EAAM,CAIjE,GAHA,EAAe,GACf,GAAe,MAEX,EAAK,SAAW,SAAU,CAC5B,GAAI,GAAa,IAAc,IAAI,OAEnC,GAAI,EAAW,CACb,GAAI,GAAe,MAAM,KAAK,GAAI,KAAI,GAAG,OAAO,EAAmB,IAAY,CAAC,MAChF,GAAc,GACd,GAAc,EAAW,IACzB,EAAe,IAGjB,OAGE,EAAK,SAAW,QACd,KAAS,YACX,GAAc,GAGhB,GAAa,MAAuC,EAAS,KAI7D,GAAwB,SAA+B,EAAO,CAChE,GAAI,GAAc,EAEd,IAAS,QACX,GAAc,EAAM,IAAI,SAAU,EAAM,CACtC,GAAI,GAAM,EAAa,IAAI,GAC3B,MAAO,IAAQ,KAAyB,OAAS,EAAI,QACpD,OAAO,SAAU,EAAK,CACvB,MAAO,KAAQ,UAInB,GAAI,GAAe,MAAM,KAAK,GAAI,KAAI,GAAG,OAAO,EAAmB,IAAY,EAAmB,MAClG,GAAc,GACd,EAAa,QAAQ,SAAU,EAAa,CAC1C,GAAc,EAAa,OAK3B,GAAgB,UAAc,UAAY,CAC5C,GAAI,GAAc,IAAY,IAAS,IAA6B,GACpE,MAAO,IAAc,GAAc,GAAI,GAAgB,GAAI,CACzD,eAAgB,GAChB,iBACA,yBAA0B,GAC1B,SAAU,GACV,uBACA,aACA,WAAY,GACZ,QAAS,EACT,aACA,iBACA,qBAED,CAAC,EAAe,GAAgB,GAAe,GAAgC,GAAkB,EAAsB,GAAW,GAAkB,EAAS,EAA0B,EAAY,EAAgB,KAUtN,MAAoB,iBAAoB,GAAc,SAAU,CAC9D,MAAO,IACO,gBAAoB,GAAY,GAAS,GAAI,EAAW,CAEtE,GAAI,EACJ,YACA,MACA,aAAc,GACd,OAEA,iBACA,yBAEA,YAAa,EACb,SAAU,GACV,uBACA,cAAe,GACf,2BAEA,WAAY,GACZ,aAAc,CAAC,GAAe,OAE9B,eACA,mBAAoB,GAAG,OAAO,EAAU,UAAU,OAAO,UAQzD,GAAc,GAClB,GAAY,OAAS,GACrB,GAAY,SAAW,GACvB,OAAe,GCvgBf,GAAe,I,sBCNf,UAOC,WAAY,CACZ,aAEA,GAAI,IAAS,GAAG,eAEhB,aAAuB,CAGtB,OAFI,GAAU,GAEL,EAAI,EAAG,EAAI,UAAU,OAAQ,IAAK,CAC1C,GAAI,IAAM,UAAU,GAChB,IACH,GAAU,GAAY,EAAS,GAAW,MAI5C,MAAO,GAGR,YAAqB,EAAK,CACzB,GAAI,MAAO,IAAQ,UAAY,MAAO,IAAQ,SAC7C,MAAO,GAGR,GAAI,MAAO,IAAQ,SAClB,MAAO,GAGR,GAAI,MAAM,QAAQ,GACjB,MAAO,IAAW,MAAM,KAAM,GAG/B,GAAI,EAAI,WAAa,OAAO,UAAU,UAAY,CAAC,EAAI,SAAS,WAAW,SAAS,iBACnF,MAAO,GAAI,WAGZ,GAAI,GAAU,GAEd,OAAS,MAAO,GACX,GAAO,KAAK,EAAK,KAAQ,EAAI,KAChC,GAAU,GAAY,EAAS,KAIjC,MAAO,GAGR,YAAsB,EAAO,EAAU,CACtC,MAAK,GAID,EACI,EAAQ,IAAM,EAGf,EAAQ,EAPP,EAU4B,GAAO,QAC3C,IAAW,QAAU,GACrB,GAAO,QAAU,IAGjB,IAAqB,GAAI,aAAY,CACpC,MAAO","file":"nm.rc-select.c3677b6eee8a9f1f24e5.js","sourcesContent":["function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nexport { _objectSpread2 as default };","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.indexOf(n) >= 0) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","/**\n * BaseSelect provide some parsed data into context.\n * You can use this hooks to get them.\n */\nimport * as React from 'react';\nexport var BaseSelectContext = /*#__PURE__*/React.createContext(null);\nexport default function useBaseProps() {\n return React.useContext(BaseSelectContext);\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\n/**\n * Similar with `useLock`, but this hook will always execute last value.\n * When set to `true`, it will keep `true` for a short time even if `false` is set.\n */\n\nexport default function useDelayReset() {\n var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10;\n\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n bool = _React$useState2[0],\n setBool = _React$useState2[1];\n\n var delayRef = React.useRef(null);\n\n var cancelLatest = function cancelLatest() {\n window.clearTimeout(delayRef.current);\n };\n\n React.useEffect(function () {\n return cancelLatest;\n }, []);\n\n var delaySetBool = function delaySetBool(value, callback) {\n cancelLatest();\n delayRef.current = window.setTimeout(function () {\n setBool(value);\n\n if (callback) {\n callback();\n }\n }, timeout);\n };\n\n return [bool, delaySetBool, cancelLatest];\n}","import * as React from 'react';\n/**\n * Locker return cached mark.\n * If set to `true`, will return `true` in a short time even if set `false`.\n * If set to `false` and then set to `true`, will change to `true`.\n * And after time duration, it will back to `null` automatically.\n */\n\nexport default function useLock() {\n var duration = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 250;\n var lockRef = React.useRef(null);\n var timeoutRef = React.useRef(null); // Clean up\n\n React.useEffect(function () {\n return function () {\n window.clearTimeout(timeoutRef.current);\n };\n }, []);\n\n function doLock(locked) {\n if (locked || lockRef.current === null) {\n lockRef.current = locked;\n }\n\n window.clearTimeout(timeoutRef.current);\n timeoutRef.current = window.setTimeout(function () {\n lockRef.current = null;\n }, duration);\n }\n\n return [function () {\n return lockRef.current;\n }, doLock];\n}","import * as React from 'react';\nexport default function useSelectTriggerControl(elements, open, triggerOpen, customizedTrigger) {\n var propsRef = React.useRef(null);\n propsRef.current = {\n open: open,\n triggerOpen: triggerOpen,\n customizedTrigger: customizedTrigger\n };\n React.useEffect(function () {\n function onGlobalMouseDown(event) {\n var _propsRef$current;\n\n // If trigger is customized, Trigger will take control of popupVisible\n if ((_propsRef$current = propsRef.current) !== null && _propsRef$current !== void 0 && _propsRef$current.customizedTrigger) {\n return;\n }\n\n var target = event.target;\n\n if (target.shadowRoot && event.composed) {\n target = event.composedPath()[0] || target;\n }\n\n if (propsRef.current.open && elements().filter(function (element) {\n return element;\n }).every(function (element) {\n return !element.contains(target) && element !== target;\n })) {\n // Should trigger close\n propsRef.current.triggerOpen(false);\n }\n }\n\n window.addEventListener('mousedown', onGlobalMouseDown);\n return function () {\n return window.removeEventListener('mousedown', onGlobalMouseDown);\n };\n }, []);\n}","import * as React from 'react';\nimport classNames from 'classnames';\n\nvar TransBtn = function TransBtn(_ref) {\n var className = _ref.className,\n customizeIcon = _ref.customizeIcon,\n customizeIconProps = _ref.customizeIconProps,\n _onMouseDown = _ref.onMouseDown,\n onClick = _ref.onClick,\n children = _ref.children;\n var icon;\n\n if (typeof customizeIcon === 'function') {\n icon = customizeIcon(customizeIconProps);\n } else {\n icon = customizeIcon;\n }\n\n return /*#__PURE__*/React.createElement(\"span\", {\n className: className,\n onMouseDown: function onMouseDown(event) {\n event.preventDefault();\n\n if (_onMouseDown) {\n _onMouseDown(event);\n }\n },\n style: {\n userSelect: 'none',\n WebkitUserSelect: 'none'\n },\n unselectable: \"on\",\n onClick: onClick,\n \"aria-hidden\": true\n }, icon !== undefined ? icon : /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(className.split(/\\s+/).map(function (cls) {\n return \"\".concat(cls, \"-icon\");\n }))\n }, children));\n};\n\nexport default TransBtn;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { composeRef } from \"rc-util/es/ref\";\nimport { warning } from \"rc-util/es/warning\";\n\nvar Input = function Input(_ref, ref) {\n var _inputNode2, _inputNode2$props;\n\n var prefixCls = _ref.prefixCls,\n id = _ref.id,\n inputElement = _ref.inputElement,\n disabled = _ref.disabled,\n tabIndex = _ref.tabIndex,\n autoFocus = _ref.autoFocus,\n autoComplete = _ref.autoComplete,\n editable = _ref.editable,\n activeDescendantId = _ref.activeDescendantId,\n value = _ref.value,\n maxLength = _ref.maxLength,\n _onKeyDown = _ref.onKeyDown,\n _onMouseDown = _ref.onMouseDown,\n _onChange = _ref.onChange,\n onPaste = _ref.onPaste,\n _onCompositionStart = _ref.onCompositionStart,\n _onCompositionEnd = _ref.onCompositionEnd,\n open = _ref.open,\n attrs = _ref.attrs;\n var inputNode = inputElement || /*#__PURE__*/React.createElement(\"input\", null);\n var _inputNode = inputNode,\n originRef = _inputNode.ref,\n originProps = _inputNode.props;\n var onOriginKeyDown = originProps.onKeyDown,\n onOriginChange = originProps.onChange,\n onOriginMouseDown = originProps.onMouseDown,\n onOriginCompositionStart = originProps.onCompositionStart,\n onOriginCompositionEnd = originProps.onCompositionEnd,\n style = originProps.style;\n warning(!('maxLength' in inputNode.props), \"Passing 'maxLength' to input element directly may not work because input in BaseSelect is controlled.\");\n inputNode = /*#__PURE__*/React.cloneElement(inputNode, _objectSpread(_objectSpread(_objectSpread({\n type: 'search'\n }, originProps), {}, {\n // Override over origin props\n id: id,\n ref: composeRef(ref, originRef),\n disabled: disabled,\n tabIndex: tabIndex,\n autoComplete: autoComplete || 'off',\n autoFocus: autoFocus,\n className: classNames(\"\".concat(prefixCls, \"-selection-search-input\"), (_inputNode2 = inputNode) === null || _inputNode2 === void 0 ? void 0 : (_inputNode2$props = _inputNode2.props) === null || _inputNode2$props === void 0 ? void 0 : _inputNode2$props.className),\n role: 'combobox',\n 'aria-expanded': open,\n 'aria-haspopup': 'listbox',\n 'aria-owns': \"\".concat(id, \"_list\"),\n 'aria-autocomplete': 'list',\n 'aria-controls': \"\".concat(id, \"_list\"),\n 'aria-activedescendant': activeDescendantId\n }, attrs), {}, {\n value: editable ? value : '',\n maxLength: maxLength,\n readOnly: !editable,\n unselectable: !editable ? 'on' : null,\n style: _objectSpread(_objectSpread({}, style), {}, {\n opacity: editable ? null : 0\n }),\n onKeyDown: function onKeyDown(event) {\n _onKeyDown(event);\n\n if (onOriginKeyDown) {\n onOriginKeyDown(event);\n }\n },\n onMouseDown: function onMouseDown(event) {\n _onMouseDown(event);\n\n if (onOriginMouseDown) {\n onOriginMouseDown(event);\n }\n },\n onChange: function onChange(event) {\n _onChange(event);\n\n if (onOriginChange) {\n onOriginChange(event);\n }\n },\n onCompositionStart: function onCompositionStart(event) {\n _onCompositionStart(event);\n\n if (onOriginCompositionStart) {\n onOriginCompositionStart(event);\n }\n },\n onCompositionEnd: function onCompositionEnd(event) {\n _onCompositionEnd(event);\n\n if (onOriginCompositionEnd) {\n onOriginCompositionEnd(event);\n }\n },\n onPaste: onPaste\n }));\n return inputNode;\n};\n\nvar RefInput = /*#__PURE__*/React.forwardRef(Input);\nRefInput.displayName = 'Input';\nexport default RefInput;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nexport function toArray(value) {\n if (Array.isArray(value)) {\n return value;\n }\n\n return value !== undefined ? [value] : [];\n}\nexport var isClient = typeof window !== 'undefined' && window.document && window.document.documentElement;\n/** Is client side and not jsdom */\n\nexport var isBrowserClient = process.env.NODE_ENV !== 'test' && isClient;\nexport function hasValue(value) {\n return value !== undefined && value !== null;\n}\n\nfunction isTitleType(title) {\n return ['string', 'number'].includes(_typeof(title));\n}\n\nexport function getTitle(item) {\n var title = undefined;\n\n if (item) {\n if (isTitleType(item.title)) {\n title = item.title.toString();\n } else if (isTitleType(item.label)) {\n title = item.label.toString();\n }\n }\n\n return title;\n}","/* eslint-disable react-hooks/rules-of-hooks */\nimport * as React from 'react';\nimport { isBrowserClient } from \"../utils/commonUtil\";\n/**\n * Wrap `React.useLayoutEffect` which will not throw warning message in test env\n */\n\nexport default function useLayoutEffect(effect, deps) {\n // Never happen in test env\n if (isBrowserClient) {\n /* istanbul ignore next */\n React.useLayoutEffect(effect, deps);\n } else {\n React.useEffect(effect, deps);\n }\n}\n/* eslint-enable */","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useState } from 'react';\nimport classNames from 'classnames';\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport Overflow from 'rc-overflow';\nimport TransBtn from \"../TransBtn\";\nimport Input from \"./Input\";\nimport useLayoutEffect from \"../hooks/useLayoutEffect\";\nimport { getTitle } from \"../utils/commonUtil\";\n\nfunction itemKey(value) {\n var _value$key;\n\n return (_value$key = value.key) !== null && _value$key !== void 0 ? _value$key : value.value;\n}\n\nvar onPreventMouseDown = function onPreventMouseDown(event) {\n event.preventDefault();\n event.stopPropagation();\n};\n\nvar SelectSelector = function SelectSelector(props) {\n var id = props.id,\n prefixCls = props.prefixCls,\n values = props.values,\n open = props.open,\n searchValue = props.searchValue,\n autoClearSearchValue = props.autoClearSearchValue,\n inputRef = props.inputRef,\n placeholder = props.placeholder,\n disabled = props.disabled,\n mode = props.mode,\n showSearch = props.showSearch,\n autoFocus = props.autoFocus,\n autoComplete = props.autoComplete,\n activeDescendantId = props.activeDescendantId,\n tabIndex = props.tabIndex,\n removeIcon = props.removeIcon,\n maxTagCount = props.maxTagCount,\n maxTagTextLength = props.maxTagTextLength,\n _props$maxTagPlacehol = props.maxTagPlaceholder,\n maxTagPlaceholder = _props$maxTagPlacehol === void 0 ? function (omittedValues) {\n return \"+ \".concat(omittedValues.length, \" ...\");\n } : _props$maxTagPlacehol,\n tagRender = props.tagRender,\n onToggleOpen = props.onToggleOpen,\n onRemove = props.onRemove,\n onInputChange = props.onInputChange,\n onInputPaste = props.onInputPaste,\n onInputKeyDown = props.onInputKeyDown,\n onInputMouseDown = props.onInputMouseDown,\n onInputCompositionStart = props.onInputCompositionStart,\n onInputCompositionEnd = props.onInputCompositionEnd;\n var measureRef = React.useRef(null);\n\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n inputWidth = _useState2[0],\n setInputWidth = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n focused = _useState4[0],\n setFocused = _useState4[1];\n\n var selectionPrefixCls = \"\".concat(prefixCls, \"-selection\"); // ===================== Search ======================\n\n var inputValue = open || mode === \"multiple\" && autoClearSearchValue === false || mode === 'tags' ? searchValue : '';\n var inputEditable = mode === 'tags' || mode === \"multiple\" && autoClearSearchValue === false || showSearch && (open || focused); // We measure width and set to the input immediately\n\n useLayoutEffect(function () {\n setInputWidth(measureRef.current.scrollWidth);\n }, [inputValue]); // ===================== Render ======================\n // >>> Render Selector Node. Includes Item & Rest\n\n function defaultRenderSelector(item, content, itemDisabled, closable, onClose) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(\"\".concat(selectionPrefixCls, \"-item\"), _defineProperty({}, \"\".concat(selectionPrefixCls, \"-item-disabled\"), itemDisabled)),\n title: getTitle(item)\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(selectionPrefixCls, \"-item-content\")\n }, content), closable && /*#__PURE__*/React.createElement(TransBtn, {\n className: \"\".concat(selectionPrefixCls, \"-item-remove\"),\n onMouseDown: onPreventMouseDown,\n onClick: onClose,\n customizeIcon: removeIcon\n }, \"\\xD7\"));\n }\n\n function customizeRenderSelector(value, content, itemDisabled, closable, onClose) {\n var onMouseDown = function onMouseDown(e) {\n onPreventMouseDown(e);\n onToggleOpen(!open);\n };\n\n return /*#__PURE__*/React.createElement(\"span\", {\n onMouseDown: onMouseDown\n }, tagRender({\n label: content,\n value: value,\n disabled: itemDisabled,\n closable: closable,\n onClose: onClose\n }));\n }\n\n function renderItem(valueItem) {\n var itemDisabled = valueItem.disabled,\n label = valueItem.label,\n value = valueItem.value;\n var closable = !disabled && !itemDisabled;\n var displayLabel = label;\n\n if (typeof maxTagTextLength === 'number') {\n if (typeof label === 'string' || typeof label === 'number') {\n var strLabel = String(displayLabel);\n\n if (strLabel.length > maxTagTextLength) {\n displayLabel = \"\".concat(strLabel.slice(0, maxTagTextLength), \"...\");\n }\n }\n }\n\n var onClose = function onClose(event) {\n if (event) event.stopPropagation();\n onRemove(valueItem);\n };\n\n return typeof tagRender === 'function' ? customizeRenderSelector(value, displayLabel, itemDisabled, closable, onClose) : defaultRenderSelector(valueItem, displayLabel, itemDisabled, closable, onClose);\n }\n\n function renderRest(omittedValues) {\n var content = typeof maxTagPlaceholder === 'function' ? maxTagPlaceholder(omittedValues) : maxTagPlaceholder;\n return defaultRenderSelector({\n title: content\n }, content, false);\n } // >>> Input Node\n\n\n var inputNode = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(selectionPrefixCls, \"-search\"),\n style: {\n width: inputWidth\n },\n onFocus: function onFocus() {\n setFocused(true);\n },\n onBlur: function onBlur() {\n setFocused(false);\n }\n }, /*#__PURE__*/React.createElement(Input, {\n ref: inputRef,\n open: open,\n prefixCls: prefixCls,\n id: id,\n inputElement: null,\n disabled: disabled,\n autoFocus: autoFocus,\n autoComplete: autoComplete,\n editable: inputEditable,\n activeDescendantId: activeDescendantId,\n value: inputValue,\n onKeyDown: onInputKeyDown,\n onMouseDown: onInputMouseDown,\n onChange: onInputChange,\n onPaste: onInputPaste,\n onCompositionStart: onInputCompositionStart,\n onCompositionEnd: onInputCompositionEnd,\n tabIndex: tabIndex,\n attrs: pickAttrs(props, true)\n }), /*#__PURE__*/React.createElement(\"span\", {\n ref: measureRef,\n className: \"\".concat(selectionPrefixCls, \"-search-mirror\"),\n \"aria-hidden\": true\n }, inputValue, \"\\xA0\")); // >>> Selections\n\n var selectionNode = /*#__PURE__*/React.createElement(Overflow, {\n prefixCls: \"\".concat(selectionPrefixCls, \"-overflow\"),\n data: values,\n renderItem: renderItem,\n renderRest: renderRest,\n suffix: inputNode,\n itemKey: itemKey,\n maxCount: maxTagCount\n });\n return /*#__PURE__*/React.createElement(React.Fragment, null, selectionNode, !values.length && !inputValue && /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(selectionPrefixCls, \"-placeholder\")\n }, placeholder));\n};\n\nexport default SelectSelector;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport Input from \"./Input\";\nimport { getTitle } from \"../utils/commonUtil\";\n\nvar SingleSelector = function SingleSelector(props) {\n var inputElement = props.inputElement,\n prefixCls = props.prefixCls,\n id = props.id,\n inputRef = props.inputRef,\n disabled = props.disabled,\n autoFocus = props.autoFocus,\n autoComplete = props.autoComplete,\n activeDescendantId = props.activeDescendantId,\n mode = props.mode,\n open = props.open,\n values = props.values,\n placeholder = props.placeholder,\n tabIndex = props.tabIndex,\n showSearch = props.showSearch,\n searchValue = props.searchValue,\n activeValue = props.activeValue,\n maxLength = props.maxLength,\n onInputKeyDown = props.onInputKeyDown,\n onInputMouseDown = props.onInputMouseDown,\n onInputChange = props.onInputChange,\n onInputPaste = props.onInputPaste,\n onInputCompositionStart = props.onInputCompositionStart,\n onInputCompositionEnd = props.onInputCompositionEnd;\n\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n inputChanged = _React$useState2[0],\n setInputChanged = _React$useState2[1];\n\n var combobox = mode === 'combobox';\n var inputEditable = combobox || showSearch;\n var item = values[0];\n var inputValue = searchValue || '';\n\n if (combobox && activeValue && !inputChanged) {\n inputValue = activeValue;\n }\n\n React.useEffect(function () {\n if (combobox) {\n setInputChanged(false);\n }\n }, [combobox, activeValue]); // Not show text when closed expect combobox mode\n\n var hasTextInput = mode !== 'combobox' && !open && !showSearch ? false : !!inputValue; // Get title\n\n var title = getTitle(item);\n\n var renderPlaceholder = function renderPlaceholder() {\n if (item) {\n return null;\n }\n\n var hiddenStyle = hasTextInput ? {\n visibility: 'hidden'\n } : undefined;\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-selection-placeholder\"),\n style: hiddenStyle\n }, placeholder);\n };\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-selection-search\")\n }, /*#__PURE__*/React.createElement(Input, {\n ref: inputRef,\n prefixCls: prefixCls,\n id: id,\n open: open,\n inputElement: inputElement,\n disabled: disabled,\n autoFocus: autoFocus,\n autoComplete: autoComplete,\n editable: inputEditable,\n activeDescendantId: activeDescendantId,\n value: inputValue,\n onKeyDown: onInputKeyDown,\n onMouseDown: onInputMouseDown,\n onChange: function onChange(e) {\n setInputChanged(true);\n onInputChange(e);\n },\n onPaste: onInputPaste,\n onCompositionStart: onInputCompositionStart,\n onCompositionEnd: onInputCompositionEnd,\n tabIndex: tabIndex,\n attrs: pickAttrs(props, true),\n maxLength: combobox ? maxLength : undefined\n })), !combobox && item && !hasTextInput && /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-selection-item\"),\n title: title\n }, item.label), renderPlaceholder());\n};\n\nexport default SingleSelector;","import KeyCode from \"rc-util/es/KeyCode\";\n/** keyCode Judgment function */\n\nexport function isValidateOpenKey(currentKeyCode) {\n return ![// System function button\n KeyCode.ESC, KeyCode.SHIFT, KeyCode.BACKSPACE, KeyCode.TAB, KeyCode.WIN_KEY, KeyCode.ALT, KeyCode.META, KeyCode.WIN_KEY_RIGHT, KeyCode.CTRL, KeyCode.SEMICOLON, KeyCode.EQUALS, KeyCode.CAPS_LOCK, KeyCode.CONTEXT_MENU, // F1-F12\n KeyCode.F1, KeyCode.F2, KeyCode.F3, KeyCode.F4, KeyCode.F5, KeyCode.F6, KeyCode.F7, KeyCode.F8, KeyCode.F9, KeyCode.F10, KeyCode.F11, KeyCode.F12].includes(currentKeyCode);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n\n/**\n * Cursor rule:\n * 1. Only `showSearch` enabled\n * 2. Only `open` is `true`\n * 3. When typing, set `open` to `true` which hit rule of 2\n *\n * Accessibility:\n * - https://www.w3.org/TR/wai-aria-practices/examples/combobox/aria1.1pattern/listbox-combo.html\n */\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport MultipleSelector from \"./MultipleSelector\";\nimport SingleSelector from \"./SingleSelector\";\nimport useLock from \"../hooks/useLock\";\nimport { isValidateOpenKey } from \"../utils/keyUtil\";\n\nvar Selector = function Selector(props, ref) {\n var inputRef = useRef(null);\n var compositionStatusRef = useRef(false);\n var prefixCls = props.prefixCls,\n open = props.open,\n mode = props.mode,\n showSearch = props.showSearch,\n tokenWithEnter = props.tokenWithEnter,\n autoClearSearchValue = props.autoClearSearchValue,\n onSearch = props.onSearch,\n onSearchSubmit = props.onSearchSubmit,\n onToggleOpen = props.onToggleOpen,\n onInputKeyDown = props.onInputKeyDown,\n domRef = props.domRef; // ======================= Ref =======================\n\n React.useImperativeHandle(ref, function () {\n return {\n focus: function focus() {\n inputRef.current.focus();\n },\n blur: function blur() {\n inputRef.current.blur();\n }\n };\n }); // ====================== Input ======================\n\n var _useLock = useLock(0),\n _useLock2 = _slicedToArray(_useLock, 2),\n getInputMouseDown = _useLock2[0],\n setInputMouseDown = _useLock2[1];\n\n var onInternalInputKeyDown = function onInternalInputKeyDown(event) {\n var which = event.which;\n\n if (which === KeyCode.UP || which === KeyCode.DOWN) {\n event.preventDefault();\n }\n\n if (onInputKeyDown) {\n onInputKeyDown(event);\n }\n\n if (which === KeyCode.ENTER && mode === 'tags' && !compositionStatusRef.current && !open) {\n // When menu isn't open, OptionList won't trigger a value change\n // So when enter is pressed, the tag's input value should be emitted here to let selector know\n onSearchSubmit === null || onSearchSubmit === void 0 ? void 0 : onSearchSubmit(event.target.value);\n }\n\n if (isValidateOpenKey(which)) {\n onToggleOpen(true);\n }\n };\n /**\n * We can not use `findDOMNode` sine it will get warning,\n * have to use timer to check if is input element.\n */\n\n\n var onInternalInputMouseDown = function onInternalInputMouseDown() {\n setInputMouseDown(true);\n }; // When paste come, ignore next onChange\n\n\n var pastedTextRef = useRef(null);\n\n var triggerOnSearch = function triggerOnSearch(value) {\n if (onSearch(value, true, compositionStatusRef.current) !== false) {\n onToggleOpen(true);\n }\n };\n\n var onInputCompositionStart = function onInputCompositionStart() {\n compositionStatusRef.current = true;\n };\n\n var onInputCompositionEnd = function onInputCompositionEnd(e) {\n compositionStatusRef.current = false; // Trigger search again to support `tokenSeparators` with typewriting\n\n if (mode !== 'combobox') {\n triggerOnSearch(e.target.value);\n }\n };\n\n var onInputChange = function onInputChange(event) {\n var value = event.target.value; // Pasted text should replace back to origin content\n\n if (tokenWithEnter && pastedTextRef.current && /[\\r\\n]/.test(pastedTextRef.current)) {\n // CRLF will be treated as a single space for input element\n var replacedText = pastedTextRef.current.replace(/[\\r\\n]+$/, '').replace(/\\r\\n/g, ' ').replace(/[\\r\\n]/g, ' ');\n value = value.replace(replacedText, pastedTextRef.current);\n }\n\n pastedTextRef.current = null;\n triggerOnSearch(value);\n };\n\n var onInputPaste = function onInputPaste(e) {\n var clipboardData = e.clipboardData;\n var value = clipboardData.getData('text');\n pastedTextRef.current = value;\n };\n\n var onClick = function onClick(_ref) {\n var target = _ref.target;\n\n if (target !== inputRef.current) {\n // Should focus input if click the selector\n var isIE = document.body.style.msTouchAction !== undefined;\n\n if (isIE) {\n setTimeout(function () {\n inputRef.current.focus();\n });\n } else {\n inputRef.current.focus();\n }\n }\n };\n\n var onMouseDown = function onMouseDown(event) {\n var inputMouseDown = getInputMouseDown(); // when mode is combobox, don't prevent default behavior\n // https://github.com/ant-design/ant-design/issues/37320\n\n if (event.target !== inputRef.current && !inputMouseDown && mode !== 'combobox') {\n event.preventDefault();\n }\n\n if (mode !== 'combobox' && (!showSearch || !inputMouseDown) || !open) {\n if (open && autoClearSearchValue !== false) {\n onSearch('', true, false);\n }\n\n onToggleOpen();\n }\n }; // ================= Inner Selector ==================\n\n\n var sharedProps = {\n inputRef: inputRef,\n onInputKeyDown: onInternalInputKeyDown,\n onInputMouseDown: onInternalInputMouseDown,\n onInputChange: onInputChange,\n onInputPaste: onInputPaste,\n onInputCompositionStart: onInputCompositionStart,\n onInputCompositionEnd: onInputCompositionEnd\n };\n var selectNode = mode === 'multiple' || mode === 'tags' ? /*#__PURE__*/React.createElement(MultipleSelector, _extends({}, props, sharedProps)) : /*#__PURE__*/React.createElement(SingleSelector, _extends({}, props, sharedProps));\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: domRef,\n className: \"\".concat(prefixCls, \"-selector\"),\n onClick: onClick,\n onMouseDown: onMouseDown\n }, selectNode);\n};\n\nvar ForwardSelector = /*#__PURE__*/React.forwardRef(Selector);\nForwardSelector.displayName = 'Selector';\nexport default ForwardSelector;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"disabled\", \"visible\", \"children\", \"popupElement\", \"containerWidth\", \"animation\", \"transitionName\", \"dropdownStyle\", \"dropdownClassName\", \"direction\", \"placement\", \"dropdownMatchSelectWidth\", \"dropdownRender\", \"dropdownAlign\", \"getPopupContainer\", \"empty\", \"getTriggerDOMNode\", \"onPopupVisibleChange\", \"onPopupMouseEnter\"];\nimport * as React from 'react';\nimport Trigger from 'rc-trigger';\nimport classNames from 'classnames';\n\nvar getBuiltInPlacements = function getBuiltInPlacements(dropdownMatchSelectWidth) {\n // Enable horizontal overflow auto-adjustment when a custom dropdown width is provided\n var adjustX = dropdownMatchSelectWidth === true ? 0 : 1;\n return {\n bottomLeft: {\n points: ['tl', 'bl'],\n offset: [0, 4],\n overflow: {\n adjustX: adjustX,\n adjustY: 1\n }\n },\n bottomRight: {\n points: ['tr', 'br'],\n offset: [0, 4],\n overflow: {\n adjustX: adjustX,\n adjustY: 1\n }\n },\n topLeft: {\n points: ['bl', 'tl'],\n offset: [0, -4],\n overflow: {\n adjustX: adjustX,\n adjustY: 1\n }\n },\n topRight: {\n points: ['br', 'tr'],\n offset: [0, -4],\n overflow: {\n adjustX: adjustX,\n adjustY: 1\n }\n }\n };\n};\n\nvar SelectTrigger = function SelectTrigger(props, ref) {\n var prefixCls = props.prefixCls,\n disabled = props.disabled,\n visible = props.visible,\n children = props.children,\n popupElement = props.popupElement,\n containerWidth = props.containerWidth,\n animation = props.animation,\n transitionName = props.transitionName,\n dropdownStyle = props.dropdownStyle,\n dropdownClassName = props.dropdownClassName,\n _props$direction = props.direction,\n direction = _props$direction === void 0 ? 'ltr' : _props$direction,\n placement = props.placement,\n dropdownMatchSelectWidth = props.dropdownMatchSelectWidth,\n dropdownRender = props.dropdownRender,\n dropdownAlign = props.dropdownAlign,\n getPopupContainer = props.getPopupContainer,\n empty = props.empty,\n getTriggerDOMNode = props.getTriggerDOMNode,\n onPopupVisibleChange = props.onPopupVisibleChange,\n onPopupMouseEnter = props.onPopupMouseEnter,\n restProps = _objectWithoutProperties(props, _excluded);\n\n var dropdownPrefixCls = \"\".concat(prefixCls, \"-dropdown\");\n var popupNode = popupElement;\n\n if (dropdownRender) {\n popupNode = dropdownRender(popupElement);\n }\n\n var builtInPlacements = React.useMemo(function () {\n return getBuiltInPlacements(dropdownMatchSelectWidth);\n }, [dropdownMatchSelectWidth]); // ===================== Motion ======================\n\n var mergedTransitionName = animation ? \"\".concat(dropdownPrefixCls, \"-\").concat(animation) : transitionName; // ======================= Ref =======================\n\n var popupRef = React.useRef(null);\n React.useImperativeHandle(ref, function () {\n return {\n getPopupElement: function getPopupElement() {\n return popupRef.current;\n }\n };\n });\n\n var popupStyle = _objectSpread({\n minWidth: containerWidth\n }, dropdownStyle);\n\n if (typeof dropdownMatchSelectWidth === 'number') {\n popupStyle.width = dropdownMatchSelectWidth;\n } else if (dropdownMatchSelectWidth) {\n popupStyle.width = containerWidth;\n }\n\n return /*#__PURE__*/React.createElement(Trigger, _extends({}, restProps, {\n showAction: onPopupVisibleChange ? ['click'] : [],\n hideAction: onPopupVisibleChange ? ['click'] : [],\n popupPlacement: placement || (direction === 'rtl' ? 'bottomRight' : 'bottomLeft'),\n builtinPlacements: builtInPlacements,\n prefixCls: dropdownPrefixCls,\n popupTransitionName: mergedTransitionName,\n popup: /*#__PURE__*/React.createElement(\"div\", {\n ref: popupRef,\n onMouseEnter: onPopupMouseEnter\n }, popupNode),\n popupAlign: dropdownAlign,\n popupVisible: visible,\n getPopupContainer: getPopupContainer,\n popupClassName: classNames(dropdownClassName, _defineProperty({}, \"\".concat(dropdownPrefixCls, \"-empty\"), empty)),\n popupStyle: popupStyle,\n getTriggerDOMNode: getTriggerDOMNode,\n onPopupVisibleChange: onPopupVisibleChange\n }), children);\n};\n\nvar RefSelectTrigger = /*#__PURE__*/React.forwardRef(SelectTrigger);\nRefSelectTrigger.displayName = 'SelectTrigger';\nexport default RefSelectTrigger;","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _toArray(r) {\n return arrayWithHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableRest();\n}\nexport { _toArray as default };","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _toArray from \"@babel/runtime/helpers/esm/toArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport warning from \"rc-util/es/warning\";\n\nfunction getKey(data, index) {\n var key = data.key;\n var value;\n\n if ('value' in data) {\n value = data.value;\n }\n\n if (key !== null && key !== undefined) {\n return key;\n }\n\n if (value !== undefined) {\n return value;\n }\n\n return \"rc-index-key-\".concat(index);\n}\n\nexport function fillFieldNames(fieldNames, childrenAsData) {\n var _ref = fieldNames || {},\n label = _ref.label,\n value = _ref.value,\n options = _ref.options;\n\n return {\n label: label || (childrenAsData ? 'children' : 'label'),\n value: value || 'value',\n options: options || 'options'\n };\n}\n/**\n * Flat options into flatten list.\n * We use `optionOnly` here is aim to avoid user use nested option group.\n * Here is simply set `key` to the index if not provided.\n */\n\nexport function flattenOptions(options) {\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n fieldNames = _ref2.fieldNames,\n childrenAsData = _ref2.childrenAsData;\n\n var flattenList = [];\n\n var _fillFieldNames = fillFieldNames(fieldNames, false),\n fieldLabel = _fillFieldNames.label,\n fieldValue = _fillFieldNames.value,\n fieldOptions = _fillFieldNames.options;\n\n function dig(list, isGroupOption) {\n list.forEach(function (data) {\n var label = data[fieldLabel];\n\n if (isGroupOption || !(fieldOptions in data)) {\n var value = data[fieldValue]; // Option\n\n flattenList.push({\n key: getKey(data, flattenList.length),\n groupOption: isGroupOption,\n data: data,\n label: label,\n value: value\n });\n } else {\n var grpLabel = label;\n\n if (grpLabel === undefined && childrenAsData) {\n grpLabel = data.label;\n } // Option Group\n\n\n flattenList.push({\n key: getKey(data, flattenList.length),\n group: true,\n data: data,\n label: grpLabel\n });\n dig(data[fieldOptions], true);\n }\n });\n }\n\n dig(options, false);\n return flattenList;\n}\n/**\n * Inject `props` into `option` for legacy usage\n */\n\nexport function injectPropsWithOption(option) {\n var newOption = _objectSpread({}, option);\n\n if (!('props' in newOption)) {\n Object.defineProperty(newOption, 'props', {\n get: function get() {\n warning(false, 'Return type is option instead of Option instance. Please read value directly instead of reading from `props`.');\n return newOption;\n }\n });\n }\n\n return newOption;\n}\nexport function getSeparatedContent(text, tokens) {\n if (!tokens || !tokens.length) {\n return null;\n }\n\n var match = false;\n\n function separate(str, _ref3) {\n var _ref4 = _toArray(_ref3),\n token = _ref4[0],\n restTokens = _ref4.slice(1);\n\n if (!token) {\n return [str];\n }\n\n var list = str.split(token);\n match = match || list.length > 1;\n return list.reduce(function (prevList, unitStr) {\n return [].concat(_toConsumableArray(prevList), _toConsumableArray(separate(unitStr, restTokens)));\n }, []).filter(function (unit) {\n return unit;\n });\n }\n\n var list = separate(text, tokens);\n return match ? list : null;\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"id\", \"prefixCls\", \"className\", \"showSearch\", \"tagRender\", \"direction\", \"omitDomProps\", \"displayValues\", \"onDisplayValuesChange\", \"emptyOptions\", \"notFoundContent\", \"onClear\", \"mode\", \"disabled\", \"loading\", \"getInputElement\", \"getRawInputElement\", \"open\", \"defaultOpen\", \"onDropdownVisibleChange\", \"activeValue\", \"onActiveValueChange\", \"activeDescendantId\", \"searchValue\", \"autoClearSearchValue\", \"onSearch\", \"onSearchSplit\", \"tokenSeparators\", \"allowClear\", \"showArrow\", \"inputIcon\", \"clearIcon\", \"OptionList\", \"animation\", \"transitionName\", \"dropdownStyle\", \"dropdownClassName\", \"dropdownMatchSelectWidth\", \"dropdownRender\", \"dropdownAlign\", \"placement\", \"getPopupContainer\", \"showAction\", \"onFocus\", \"onBlur\", \"onKeyUp\", \"onKeyDown\", \"onMouseDown\"];\nimport classNames from 'classnames';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport isMobile from \"rc-util/es/isMobile\";\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport { useComposeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { BaseSelectContext } from \"./hooks/useBaseProps\";\nimport useDelayReset from \"./hooks/useDelayReset\";\nimport useLock from \"./hooks/useLock\";\nimport useSelectTriggerControl from \"./hooks/useSelectTriggerControl\";\nimport Selector from \"./Selector\";\nimport SelectTrigger from \"./SelectTrigger\";\nimport TransBtn from \"./TransBtn\";\nimport { getSeparatedContent } from \"./utils/valueUtil\";\nvar DEFAULT_OMIT_PROPS = ['value', 'onChange', 'removeIcon', 'placeholder', 'autoFocus', 'maxTagCount', 'maxTagTextLength', 'maxTagPlaceholder', 'choiceTransitionName', 'onInputKeyDown', 'onPopupScroll', 'tabIndex'];\nexport function isMultiple(mode) {\n return mode === 'tags' || mode === 'multiple';\n}\nvar BaseSelect = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _customizeRawInputEle, _classNames2;\n\n var id = props.id,\n prefixCls = props.prefixCls,\n className = props.className,\n showSearch = props.showSearch,\n tagRender = props.tagRender,\n direction = props.direction,\n omitDomProps = props.omitDomProps,\n displayValues = props.displayValues,\n onDisplayValuesChange = props.onDisplayValuesChange,\n emptyOptions = props.emptyOptions,\n _props$notFoundConten = props.notFoundContent,\n notFoundContent = _props$notFoundConten === void 0 ? 'Not Found' : _props$notFoundConten,\n onClear = props.onClear,\n mode = props.mode,\n disabled = props.disabled,\n loading = props.loading,\n getInputElement = props.getInputElement,\n getRawInputElement = props.getRawInputElement,\n open = props.open,\n defaultOpen = props.defaultOpen,\n onDropdownVisibleChange = props.onDropdownVisibleChange,\n activeValue = props.activeValue,\n onActiveValueChange = props.onActiveValueChange,\n activeDescendantId = props.activeDescendantId,\n searchValue = props.searchValue,\n autoClearSearchValue = props.autoClearSearchValue,\n onSearch = props.onSearch,\n onSearchSplit = props.onSearchSplit,\n tokenSeparators = props.tokenSeparators,\n allowClear = props.allowClear,\n showArrow = props.showArrow,\n inputIcon = props.inputIcon,\n clearIcon = props.clearIcon,\n OptionList = props.OptionList,\n animation = props.animation,\n transitionName = props.transitionName,\n dropdownStyle = props.dropdownStyle,\n dropdownClassName = props.dropdownClassName,\n dropdownMatchSelectWidth = props.dropdownMatchSelectWidth,\n dropdownRender = props.dropdownRender,\n dropdownAlign = props.dropdownAlign,\n placement = props.placement,\n getPopupContainer = props.getPopupContainer,\n _props$showAction = props.showAction,\n showAction = _props$showAction === void 0 ? [] : _props$showAction,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n onKeyUp = props.onKeyUp,\n onKeyDown = props.onKeyDown,\n onMouseDown = props.onMouseDown,\n restProps = _objectWithoutProperties(props, _excluded); // ============================== MISC ==============================\n\n\n var multiple = isMultiple(mode);\n var mergedShowSearch = (showSearch !== undefined ? showSearch : multiple) || mode === 'combobox';\n\n var domProps = _objectSpread({}, restProps);\n\n DEFAULT_OMIT_PROPS.forEach(function (propName) {\n delete domProps[propName];\n });\n omitDomProps === null || omitDomProps === void 0 ? void 0 : omitDomProps.forEach(function (propName) {\n delete domProps[propName];\n }); // ============================= Mobile =============================\n\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n mobile = _React$useState2[0],\n setMobile = _React$useState2[1];\n\n React.useEffect(function () {\n // Only update on the client side\n setMobile(isMobile());\n }, []); // ============================== Refs ==============================\n\n var containerRef = React.useRef(null);\n var selectorDomRef = React.useRef(null);\n var triggerRef = React.useRef(null);\n var selectorRef = React.useRef(null);\n var listRef = React.useRef(null);\n /** Used for component focused management */\n\n var _useDelayReset = useDelayReset(),\n _useDelayReset2 = _slicedToArray(_useDelayReset, 3),\n mockFocused = _useDelayReset2[0],\n setMockFocused = _useDelayReset2[1],\n cancelSetMockFocused = _useDelayReset2[2]; // =========================== Imperative ===========================\n\n\n React.useImperativeHandle(ref, function () {\n var _selectorRef$current, _selectorRef$current2;\n\n return {\n focus: (_selectorRef$current = selectorRef.current) === null || _selectorRef$current === void 0 ? void 0 : _selectorRef$current.focus,\n blur: (_selectorRef$current2 = selectorRef.current) === null || _selectorRef$current2 === void 0 ? void 0 : _selectorRef$current2.blur,\n scrollTo: function scrollTo(arg) {\n var _listRef$current;\n\n return (_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : _listRef$current.scrollTo(arg);\n }\n };\n }); // ========================== Search Value ==========================\n\n var mergedSearchValue = React.useMemo(function () {\n var _displayValues$;\n\n if (mode !== 'combobox') {\n return searchValue;\n }\n\n var val = (_displayValues$ = displayValues[0]) === null || _displayValues$ === void 0 ? void 0 : _displayValues$.value;\n return typeof val === 'string' || typeof val === 'number' ? String(val) : '';\n }, [searchValue, mode, displayValues]); // ========================== Custom Input ==========================\n // Only works in `combobox`\n\n var customizeInputElement = mode === 'combobox' && typeof getInputElement === 'function' && getInputElement() || null; // Used for customize replacement for `rc-cascader`\n\n var customizeRawInputElement = typeof getRawInputElement === 'function' && getRawInputElement();\n var customizeRawInputRef = useComposeRef(selectorDomRef, customizeRawInputElement === null || customizeRawInputElement === void 0 ? void 0 : (_customizeRawInputEle = customizeRawInputElement.props) === null || _customizeRawInputEle === void 0 ? void 0 : _customizeRawInputEle.ref); // ============================== Open ==============================\n\n var _useMergedState = useMergedState(undefined, {\n defaultValue: defaultOpen,\n value: open\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n innerOpen = _useMergedState2[0],\n setInnerOpen = _useMergedState2[1];\n\n var mergedOpen = innerOpen; // Not trigger `open` in `combobox` when `notFoundContent` is empty\n\n var emptyListContent = !notFoundContent && emptyOptions;\n\n if (disabled || emptyListContent && mergedOpen && mode === 'combobox') {\n mergedOpen = false;\n }\n\n var triggerOpen = emptyListContent ? false : mergedOpen;\n var onToggleOpen = React.useCallback(function (newOpen) {\n var nextOpen = newOpen !== undefined ? newOpen : !mergedOpen;\n\n if (!disabled) {\n setInnerOpen(nextOpen);\n\n if (mergedOpen !== nextOpen) {\n onDropdownVisibleChange === null || onDropdownVisibleChange === void 0 ? void 0 : onDropdownVisibleChange(nextOpen);\n }\n }\n }, [disabled, mergedOpen, setInnerOpen, onDropdownVisibleChange]); // ============================= Search =============================\n\n var tokenWithEnter = React.useMemo(function () {\n return (tokenSeparators || []).some(function (tokenSeparator) {\n return ['\\n', '\\r\\n'].includes(tokenSeparator);\n });\n }, [tokenSeparators]);\n\n var onInternalSearch = function onInternalSearch(searchText, fromTyping, isCompositing) {\n var ret = true;\n var newSearchText = searchText;\n onActiveValueChange === null || onActiveValueChange === void 0 ? void 0 : onActiveValueChange(null); // Check if match the `tokenSeparators`\n\n var patchLabels = isCompositing ? null : getSeparatedContent(searchText, tokenSeparators); // Ignore combobox since it's not split-able\n\n if (mode !== 'combobox' && patchLabels) {\n newSearchText = '';\n onSearchSplit === null || onSearchSplit === void 0 ? void 0 : onSearchSplit(patchLabels); // Should close when paste finish\n\n onToggleOpen(false); // Tell Selector that break next actions\n\n ret = false;\n }\n\n if (onSearch && mergedSearchValue !== newSearchText) {\n onSearch(newSearchText, {\n source: fromTyping ? 'typing' : 'effect'\n });\n }\n\n return ret;\n }; // Only triggered when menu is closed & mode is tags\n // If menu is open, OptionList will take charge\n // If mode isn't tags, press enter is not meaningful when you can't see any option\n\n\n var onInternalSearchSubmit = function onInternalSearchSubmit(searchText) {\n // prevent empty tags from appearing when you click the Enter button\n if (!searchText || !searchText.trim()) {\n return;\n }\n\n onSearch(searchText, {\n source: 'submit'\n });\n }; // Close will clean up single mode search text\n\n\n React.useEffect(function () {\n if (!mergedOpen && !multiple && mode !== 'combobox') {\n onInternalSearch('', false, false);\n }\n }, [mergedOpen]); // ============================ Disabled ============================\n // Close dropdown & remove focus state when disabled change\n\n React.useEffect(function () {\n if (innerOpen && disabled) {\n setInnerOpen(false);\n }\n\n if (disabled) {\n setMockFocused(false);\n }\n }, [disabled]); // ============================ Keyboard ============================\n\n /**\n * We record input value here to check if can press to clean up by backspace\n * - null: Key is not down, this is reset by key up\n * - true: Search text is empty when first time backspace down\n * - false: Search text is not empty when first time backspace down\n */\n\n var _useLock = useLock(),\n _useLock2 = _slicedToArray(_useLock, 2),\n getClearLock = _useLock2[0],\n setClearLock = _useLock2[1]; // KeyDown\n\n\n var onInternalKeyDown = function onInternalKeyDown(event) {\n var clearLock = getClearLock();\n var which = event.which;\n\n if (which === KeyCode.ENTER) {\n // Do not submit form when type in the input\n if (mode !== 'combobox') {\n event.preventDefault();\n } // We only manage open state here, close logic should handle by list component\n\n\n if (!mergedOpen) {\n onToggleOpen(true);\n }\n }\n\n setClearLock(!!mergedSearchValue); // Remove value by `backspace`\n\n if (which === KeyCode.BACKSPACE && !clearLock && multiple && !mergedSearchValue && displayValues.length) {\n var cloneDisplayValues = _toConsumableArray(displayValues);\n\n var removedDisplayValue = null;\n\n for (var i = cloneDisplayValues.length - 1; i >= 0; i -= 1) {\n var current = cloneDisplayValues[i];\n\n if (!current.disabled) {\n cloneDisplayValues.splice(i, 1);\n removedDisplayValue = current;\n break;\n }\n }\n\n if (removedDisplayValue) {\n onDisplayValuesChange(cloneDisplayValues, {\n type: 'remove',\n values: [removedDisplayValue]\n });\n }\n }\n\n for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n\n if (mergedOpen && listRef.current) {\n var _listRef$current2;\n\n (_listRef$current2 = listRef.current).onKeyDown.apply(_listRef$current2, [event].concat(rest));\n }\n\n onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown.apply(void 0, [event].concat(rest));\n }; // KeyUp\n\n\n var onInternalKeyUp = function onInternalKeyUp(event) {\n for (var _len2 = arguments.length, rest = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n rest[_key2 - 1] = arguments[_key2];\n }\n\n if (mergedOpen && listRef.current) {\n var _listRef$current3;\n\n (_listRef$current3 = listRef.current).onKeyUp.apply(_listRef$current3, [event].concat(rest));\n }\n\n onKeyUp === null || onKeyUp === void 0 ? void 0 : onKeyUp.apply(void 0, [event].concat(rest));\n }; // ============================ Selector ============================\n\n\n var onSelectorRemove = function onSelectorRemove(val) {\n var newValues = displayValues.filter(function (i) {\n return i !== val;\n });\n onDisplayValuesChange(newValues, {\n type: 'remove',\n values: [val]\n });\n }; // ========================== Focus / Blur ==========================\n\n /** Record real focus status */\n\n\n var focusRef = React.useRef(false);\n\n var onContainerFocus = function onContainerFocus() {\n setMockFocused(true);\n\n if (!disabled) {\n if (onFocus && !focusRef.current) {\n onFocus.apply(void 0, arguments);\n } // `showAction` should handle `focus` if set\n\n\n if (showAction.includes('focus')) {\n onToggleOpen(true);\n }\n }\n\n focusRef.current = true;\n };\n\n var onContainerBlur = function onContainerBlur() {\n setMockFocused(false, function () {\n focusRef.current = false;\n onToggleOpen(false);\n });\n\n if (disabled) {\n return;\n }\n\n if (mergedSearchValue) {\n // `tags` mode should move `searchValue` into values\n if (mode === 'tags') {\n onSearch(mergedSearchValue, {\n source: 'submit'\n });\n } else if (mode === 'multiple') {\n // `multiple` mode only clean the search value but not trigger event\n onSearch('', {\n source: 'blur'\n });\n }\n }\n\n if (onBlur) {\n onBlur.apply(void 0, arguments);\n }\n }; // Give focus back of Select\n\n\n var activeTimeoutIds = [];\n React.useEffect(function () {\n return function () {\n activeTimeoutIds.forEach(function (timeoutId) {\n return clearTimeout(timeoutId);\n });\n activeTimeoutIds.splice(0, activeTimeoutIds.length);\n };\n }, []);\n\n var onInternalMouseDown = function onInternalMouseDown(event) {\n var _triggerRef$current;\n\n var target = event.target;\n var popupElement = (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.getPopupElement(); // We should give focus back to selector if clicked item is not focusable\n\n if (popupElement && popupElement.contains(target)) {\n var timeoutId = setTimeout(function () {\n var index = activeTimeoutIds.indexOf(timeoutId);\n\n if (index !== -1) {\n activeTimeoutIds.splice(index, 1);\n }\n\n cancelSetMockFocused();\n\n if (!mobile && !popupElement.contains(document.activeElement)) {\n var _selectorRef$current3;\n\n (_selectorRef$current3 = selectorRef.current) === null || _selectorRef$current3 === void 0 ? void 0 : _selectorRef$current3.focus();\n }\n });\n activeTimeoutIds.push(timeoutId);\n }\n\n for (var _len3 = arguments.length, restArgs = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n restArgs[_key3 - 1] = arguments[_key3];\n }\n\n onMouseDown === null || onMouseDown === void 0 ? void 0 : onMouseDown.apply(void 0, [event].concat(restArgs));\n }; // ============================ Dropdown ============================\n\n\n var _React$useState3 = React.useState(null),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n containerWidth = _React$useState4[0],\n setContainerWidth = _React$useState4[1];\n\n var _React$useState5 = React.useState({}),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n forceUpdate = _React$useState6[1]; // We need force update here since popup dom is render async\n\n\n function onPopupMouseEnter() {\n forceUpdate({});\n }\n\n useLayoutEffect(function () {\n if (triggerOpen) {\n var _containerRef$current;\n\n var newWidth = Math.ceil((_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : _containerRef$current.offsetWidth);\n\n if (containerWidth !== newWidth && !Number.isNaN(newWidth)) {\n setContainerWidth(newWidth);\n }\n }\n }, [triggerOpen]); // Used for raw custom input trigger\n\n var onTriggerVisibleChange;\n\n if (customizeRawInputElement) {\n onTriggerVisibleChange = function onTriggerVisibleChange(newOpen) {\n onToggleOpen(newOpen);\n };\n } // Close when click on non-select element\n\n\n useSelectTriggerControl(function () {\n var _triggerRef$current2;\n\n return [containerRef.current, (_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : _triggerRef$current2.getPopupElement()];\n }, triggerOpen, onToggleOpen, !!customizeRawInputElement); // ============================ Context =============================\n\n var baseSelectContext = React.useMemo(function () {\n return _objectSpread(_objectSpread({}, props), {}, {\n notFoundContent: notFoundContent,\n open: mergedOpen,\n triggerOpen: triggerOpen,\n id: id,\n showSearch: mergedShowSearch,\n multiple: multiple,\n toggleOpen: onToggleOpen\n });\n }, [props, notFoundContent, triggerOpen, mergedOpen, id, mergedShowSearch, multiple, onToggleOpen]); // ==================================================================\n // == Render ==\n // ==================================================================\n // ============================= Arrow ==============================\n\n var mergedShowArrow = showArrow !== undefined ? showArrow : loading || !multiple && mode !== 'combobox';\n var arrowNode;\n\n if (mergedShowArrow) {\n arrowNode = /*#__PURE__*/React.createElement(TransBtn, {\n className: classNames(\"\".concat(prefixCls, \"-arrow\"), _defineProperty({}, \"\".concat(prefixCls, \"-arrow-loading\"), loading)),\n customizeIcon: inputIcon,\n customizeIconProps: {\n loading: loading,\n searchValue: mergedSearchValue,\n open: mergedOpen,\n focused: mockFocused,\n showSearch: mergedShowSearch\n }\n });\n } // ============================= Clear ==============================\n\n\n var clearNode;\n\n var onClearMouseDown = function onClearMouseDown() {\n var _selectorRef$current4;\n\n onClear === null || onClear === void 0 ? void 0 : onClear();\n (_selectorRef$current4 = selectorRef.current) === null || _selectorRef$current4 === void 0 ? void 0 : _selectorRef$current4.focus();\n onDisplayValuesChange([], {\n type: 'clear',\n values: displayValues\n });\n onInternalSearch('', false, false);\n };\n\n if (!disabled && allowClear && (displayValues.length || mergedSearchValue) && !(mode === 'combobox' && mergedSearchValue === '')) {\n clearNode = /*#__PURE__*/React.createElement(TransBtn, {\n className: \"\".concat(prefixCls, \"-clear\"),\n onMouseDown: onClearMouseDown,\n customizeIcon: clearIcon\n }, \"\\xD7\");\n } // =========================== OptionList ===========================\n\n\n var optionList = /*#__PURE__*/React.createElement(OptionList, {\n ref: listRef\n }); // ============================= Select =============================\n\n var mergedClassName = classNames(prefixCls, className, (_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(prefixCls, \"-focused\"), mockFocused), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-multiple\"), multiple), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-single\"), !multiple), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-allow-clear\"), allowClear), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-show-arrow\"), mergedShowArrow), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-disabled\"), disabled), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-loading\"), loading), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-open\"), mergedOpen), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-customize-input\"), customizeInputElement), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-show-search\"), mergedShowSearch), _classNames2)); // >>> Selector\n\n var selectorNode = /*#__PURE__*/React.createElement(SelectTrigger, {\n ref: triggerRef,\n disabled: disabled,\n prefixCls: prefixCls,\n visible: triggerOpen,\n popupElement: optionList,\n containerWidth: containerWidth,\n animation: animation,\n transitionName: transitionName,\n dropdownStyle: dropdownStyle,\n dropdownClassName: dropdownClassName,\n direction: direction,\n dropdownMatchSelectWidth: dropdownMatchSelectWidth,\n dropdownRender: dropdownRender,\n dropdownAlign: dropdownAlign,\n placement: placement,\n getPopupContainer: getPopupContainer,\n empty: emptyOptions,\n getTriggerDOMNode: function getTriggerDOMNode() {\n return selectorDomRef.current;\n },\n onPopupVisibleChange: onTriggerVisibleChange,\n onPopupMouseEnter: onPopupMouseEnter\n }, customizeRawInputElement ? /*#__PURE__*/React.cloneElement(customizeRawInputElement, {\n ref: customizeRawInputRef\n }) : /*#__PURE__*/React.createElement(Selector, _extends({}, props, {\n domRef: selectorDomRef,\n prefixCls: prefixCls,\n inputElement: customizeInputElement,\n ref: selectorRef,\n id: id,\n showSearch: mergedShowSearch,\n autoClearSearchValue: autoClearSearchValue,\n mode: mode,\n activeDescendantId: activeDescendantId,\n tagRender: tagRender,\n values: displayValues,\n open: mergedOpen,\n onToggleOpen: onToggleOpen,\n activeValue: activeValue,\n searchValue: mergedSearchValue,\n onSearch: onInternalSearch,\n onSearchSubmit: onInternalSearchSubmit,\n onRemove: onSelectorRemove,\n tokenWithEnter: tokenWithEnter\n }))); // >>> Render\n\n var renderNode; // Render raw\n\n if (customizeRawInputElement) {\n renderNode = selectorNode;\n } else {\n renderNode = /*#__PURE__*/React.createElement(\"div\", _extends({\n className: mergedClassName\n }, domProps, {\n ref: containerRef,\n onMouseDown: onInternalMouseDown,\n onKeyDown: onInternalKeyDown,\n onKeyUp: onInternalKeyUp,\n onFocus: onContainerFocus,\n onBlur: onContainerBlur\n }), mockFocused && !mergedOpen && /*#__PURE__*/React.createElement(\"span\", {\n style: {\n width: 0,\n height: 0,\n position: 'absolute',\n overflow: 'hidden',\n opacity: 0\n },\n \"aria-live\": \"polite\"\n }, \"\".concat(displayValues.map(function (_ref) {\n var label = _ref.label,\n value = _ref.value;\n return ['number', 'string'].includes(_typeof(label)) ? label : value;\n }).join(', '))), selectorNode, arrowNode, clearNode);\n }\n\n return /*#__PURE__*/React.createElement(BaseSelectContext.Provider, {\n value: baseSelectContext\n }, renderNode);\n}); // Set display name for dev\n\nif (process.env.NODE_ENV !== 'production') {\n BaseSelect.displayName = 'BaseSelect';\n}\n\nexport default BaseSelect;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\n\n/**\n * Cache `value` related LabeledValue & options.\n */\nexport default (function (labeledValues, valueOptions) {\n var cacheRef = React.useRef({\n values: new Map(),\n options: new Map()\n });\n var filledLabeledValues = React.useMemo(function () {\n var _cacheRef$current = cacheRef.current,\n prevValueCache = _cacheRef$current.values,\n prevOptionCache = _cacheRef$current.options; // Fill label by cache\n\n var patchedValues = labeledValues.map(function (item) {\n if (item.label === undefined) {\n var _prevValueCache$get;\n\n return _objectSpread(_objectSpread({}, item), {}, {\n label: (_prevValueCache$get = prevValueCache.get(item.value)) === null || _prevValueCache$get === void 0 ? void 0 : _prevValueCache$get.label\n });\n }\n\n return item;\n }); // Refresh cache\n\n var valueCache = new Map();\n var optionCache = new Map();\n patchedValues.forEach(function (item) {\n valueCache.set(item.value, item);\n optionCache.set(item.value, valueOptions.get(item.value) || prevOptionCache.get(item.value));\n });\n cacheRef.current.values = valueCache;\n cacheRef.current.options = optionCache;\n return patchedValues;\n }, [labeledValues, valueOptions]);\n var getOption = React.useCallback(function (val) {\n return valueOptions.get(val) || cacheRef.current.options.get(val);\n }, [valueOptions]);\n return [filledLabeledValues, getOption];\n});","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport { toArray } from \"../utils/commonUtil\";\nimport { injectPropsWithOption } from \"../utils/valueUtil\";\n\nfunction includes(test, search) {\n return toArray(test).join('').toUpperCase().includes(search);\n}\n\nexport default (function (options, fieldNames, searchValue, filterOption, optionFilterProp) {\n return React.useMemo(function () {\n if (!searchValue || filterOption === false) {\n return options;\n }\n\n var fieldOptions = fieldNames.options,\n fieldLabel = fieldNames.label,\n fieldValue = fieldNames.value;\n var filteredOptions = [];\n var customizeFilter = typeof filterOption === 'function';\n var upperSearch = searchValue.toUpperCase();\n var filterFunc = customizeFilter ? filterOption : function (_, option) {\n // Use provided `optionFilterProp`\n if (optionFilterProp) {\n return includes(option[optionFilterProp], upperSearch);\n } // Auto select `label` or `value` by option type\n\n\n if (option[fieldOptions]) {\n // hack `fieldLabel` since `OptionGroup` children is not `label`\n return includes(option[fieldLabel !== 'children' ? fieldLabel : 'label'], upperSearch);\n }\n\n return includes(option[fieldValue], upperSearch);\n };\n var wrapOption = customizeFilter ? function (opt) {\n return injectPropsWithOption(opt);\n } : function (opt) {\n return opt;\n };\n options.forEach(function (item) {\n // Group should check child options\n if (item[fieldOptions]) {\n // Check group first\n var matchGroup = filterFunc(searchValue, wrapOption(item));\n\n if (matchGroup) {\n filteredOptions.push(item);\n } else {\n // Check option\n var subOptions = item[fieldOptions].filter(function (subItem) {\n return filterFunc(searchValue, wrapOption(subItem));\n });\n\n if (subOptions.length) {\n filteredOptions.push(_objectSpread(_objectSpread({}, item), {}, _defineProperty({}, fieldOptions, subOptions)));\n }\n }\n\n return;\n }\n\n if (filterFunc(searchValue, wrapOption(item))) {\n filteredOptions.push(item);\n }\n });\n return filteredOptions;\n }, [options, filterOption, optionFilterProp, searchValue, fieldNames]);\n});","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nvar uuid = 0;\n/** Is client side and not jsdom */\n\nexport var isBrowserClient = process.env.NODE_ENV !== 'test' && canUseDom();\n/** Get unique id for accessibility usage */\n\nexport function getUUID() {\n var retId; // Test never reach\n\n /* istanbul ignore if */\n\n if (isBrowserClient) {\n retId = uuid;\n uuid += 1;\n } else {\n retId = 'TEST_OR_SSR';\n }\n\n return retId;\n}\nexport default function useId(id) {\n // Inner id for accessibility usage. Only work in client side\n var _React$useState = React.useState(),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n innerId = _React$useState2[0],\n setInnerId = _React$useState2[1];\n\n React.useEffect(function () {\n setInnerId(\"rc_select_\".concat(getUUID()));\n }, []);\n return id || innerId;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\", \"value\"],\n _excluded2 = [\"children\"];\nimport * as React from 'react';\nimport toArray from \"rc-util/es/Children/toArray\";\n\nfunction convertNodeToOption(node) {\n var _ref = node,\n key = _ref.key,\n _ref$props = _ref.props,\n children = _ref$props.children,\n value = _ref$props.value,\n restProps = _objectWithoutProperties(_ref$props, _excluded);\n\n return _objectSpread({\n key: key,\n value: value !== undefined ? value : key,\n children: children\n }, restProps);\n}\n\nexport function convertChildrenToData(nodes) {\n var optionOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return toArray(nodes).map(function (node, index) {\n if (! /*#__PURE__*/React.isValidElement(node) || !node.type) {\n return null;\n }\n\n var _ref2 = node,\n isSelectOptGroup = _ref2.type.isSelectOptGroup,\n key = _ref2.key,\n _ref2$props = _ref2.props,\n children = _ref2$props.children,\n restProps = _objectWithoutProperties(_ref2$props, _excluded2);\n\n if (optionOnly || !isSelectOptGroup) {\n return convertNodeToOption(node);\n }\n\n return _objectSpread(_objectSpread({\n key: \"__RC_SELECT_GRP__\".concat(key === null ? index : key, \"__\"),\n label: key\n }, restProps), {}, {\n options: convertChildrenToData(children)\n });\n }).filter(function (data) {\n return data;\n });\n}","import * as React from 'react';\nimport { convertChildrenToData } from \"../utils/legacyUtil\";\n/**\n * Parse `children` to `options` if `options` is not provided.\n * Then flatten the `options`.\n */\n\nexport default function useOptions(options, children, fieldNames, optionFilterProp, optionLabelProp) {\n return React.useMemo(function () {\n var mergedOptions = options;\n var childrenAsData = !options;\n\n if (childrenAsData) {\n mergedOptions = convertChildrenToData(children);\n }\n\n var valueOptions = new Map();\n var labelOptions = new Map();\n\n var setLabelOptions = function setLabelOptions(labelOptionsMap, option, key) {\n if (key && typeof key === 'string') {\n labelOptionsMap.set(option[key], option);\n }\n };\n\n function dig(optionList) {\n var isChildren = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n // for loop to speed up collection speed\n for (var i = 0; i < optionList.length; i += 1) {\n var option = optionList[i];\n\n if (!option[fieldNames.options] || isChildren) {\n valueOptions.set(option[fieldNames.value], option);\n setLabelOptions(labelOptions, option, fieldNames.label); // https://github.com/ant-design/ant-design/issues/35304\n\n setLabelOptions(labelOptions, option, optionFilterProp);\n setLabelOptions(labelOptions, option, optionLabelProp);\n } else {\n dig(option[fieldNames.options], true);\n }\n }\n }\n\n dig(mergedOptions);\n return {\n options: mergedOptions,\n valueOptions: valueOptions,\n labelOptions: labelOptions\n };\n }, [options, children, fieldNames, optionFilterProp, optionLabelProp]);\n}","import * as React from 'react';\n/**\n * Same as `React.useCallback` but always return a memoized function\n * but redirect to real function.\n */\n\nexport default function useRefFunc(callback) {\n var funcRef = React.useRef();\n funcRef.current = callback;\n var cacheFn = React.useCallback(function () {\n return funcRef.current.apply(funcRef, arguments);\n }, []);\n return cacheFn;\n}","/* istanbul ignore file */\n\n/** This is a placeholder, not real render in dom */\nvar OptGroup = function OptGroup() {\n return null;\n};\n\nOptGroup.isSelectOptGroup = true;\nexport default OptGroup;","/* istanbul ignore file */\n\n/** This is a placeholder, not real render in dom */\nvar Option = function Option() {\n return null;\n};\n\nOption.isSelectOption = true;\nexport default Option;","import * as React from 'react';\nvar SelectContext = /*#__PURE__*/React.createContext(null);\nexport default SelectContext;","/* istanbul ignore file */\nexport function isPlatformMac() {\n return /(mac\\sos|macintosh)/i.test(navigator.appVersion);\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nvar _excluded = [\"disabled\", \"title\", \"children\", \"style\", \"className\"];\nimport classNames from 'classnames';\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport omit from \"rc-util/es/omit\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport List from 'rc-virtual-list';\nimport * as React from 'react';\nimport { useEffect } from 'react';\nimport useBaseProps from \"./hooks/useBaseProps\";\nimport SelectContext from \"./SelectContext\";\nimport TransBtn from \"./TransBtn\";\nimport { isPlatformMac } from \"./utils/platformUtil\"; // export interface OptionListProps {\n\nfunction isTitleType(content) {\n return typeof content === 'string' || typeof content === 'number';\n}\n/**\n * Using virtual list of option display.\n * Will fallback to dom if use customize render.\n */\n\n\nvar OptionList = function OptionList(_, ref) {\n var _useBaseProps = useBaseProps(),\n prefixCls = _useBaseProps.prefixCls,\n id = _useBaseProps.id,\n open = _useBaseProps.open,\n multiple = _useBaseProps.multiple,\n mode = _useBaseProps.mode,\n searchValue = _useBaseProps.searchValue,\n toggleOpen = _useBaseProps.toggleOpen,\n notFoundContent = _useBaseProps.notFoundContent,\n onPopupScroll = _useBaseProps.onPopupScroll;\n\n var _React$useContext = React.useContext(SelectContext),\n flattenOptions = _React$useContext.flattenOptions,\n onActiveValue = _React$useContext.onActiveValue,\n defaultActiveFirstOption = _React$useContext.defaultActiveFirstOption,\n onSelect = _React$useContext.onSelect,\n menuItemSelectedIcon = _React$useContext.menuItemSelectedIcon,\n rawValues = _React$useContext.rawValues,\n fieldNames = _React$useContext.fieldNames,\n virtual = _React$useContext.virtual,\n listHeight = _React$useContext.listHeight,\n listItemHeight = _React$useContext.listItemHeight;\n\n var itemPrefixCls = \"\".concat(prefixCls, \"-item\");\n var memoFlattenOptions = useMemo(function () {\n return flattenOptions;\n }, [open, flattenOptions], function (prev, next) {\n return next[0] && prev[1] !== next[1];\n }); // =========================== List ===========================\n\n var listRef = React.useRef(null);\n\n var onListMouseDown = function onListMouseDown(event) {\n event.preventDefault();\n };\n\n var scrollIntoView = function scrollIntoView(args) {\n if (listRef.current) {\n listRef.current.scrollTo(typeof args === 'number' ? {\n index: args\n } : args);\n }\n }; // ========================== Active ==========================\n\n\n var getEnabledActiveIndex = function getEnabledActiveIndex(index) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var len = memoFlattenOptions.length;\n\n for (var i = 0; i < len; i += 1) {\n var current = (index + i * offset + len) % len;\n var _memoFlattenOptions$c = memoFlattenOptions[current],\n group = _memoFlattenOptions$c.group,\n data = _memoFlattenOptions$c.data;\n\n if (!group && !data.disabled) {\n return current;\n }\n }\n\n return -1;\n };\n\n var _React$useState = React.useState(function () {\n return getEnabledActiveIndex(0);\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n activeIndex = _React$useState2[0],\n setActiveIndex = _React$useState2[1];\n\n var setActive = function setActive(index) {\n var fromKeyboard = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n setActiveIndex(index);\n var info = {\n source: fromKeyboard ? 'keyboard' : 'mouse'\n }; // Trigger active event\n\n var flattenItem = memoFlattenOptions[index];\n\n if (!flattenItem) {\n onActiveValue(null, -1, info);\n return;\n }\n\n onActiveValue(flattenItem.value, index, info);\n }; // Auto active first item when list length or searchValue changed\n\n\n useEffect(function () {\n setActive(defaultActiveFirstOption !== false ? getEnabledActiveIndex(0) : -1);\n }, [memoFlattenOptions.length, searchValue]); // https://github.com/ant-design/ant-design/issues/34975\n\n var isSelected = React.useCallback(function (value) {\n return rawValues.has(value) && mode !== 'combobox';\n }, [mode, _toConsumableArray(rawValues).toString(), rawValues.size]); // Auto scroll to item position in single mode\n\n useEffect(function () {\n /**\n * React will skip `onChange` when component update.\n * `setActive` function will call root accessibility state update which makes re-render.\n * So we need to delay to let Input component trigger onChange first.\n */\n var timeoutId = setTimeout(function () {\n if (!multiple && open && rawValues.size === 1) {\n var value = Array.from(rawValues)[0];\n var index = memoFlattenOptions.findIndex(function (_ref) {\n var data = _ref.data;\n return data.value === value;\n });\n\n if (index !== -1) {\n setActive(index);\n scrollIntoView(index);\n }\n }\n }); // Force trigger scrollbar visible when open\n\n if (open) {\n var _listRef$current;\n\n (_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : _listRef$current.scrollTo(undefined);\n }\n\n return function () {\n return clearTimeout(timeoutId);\n };\n }, [open, searchValue, flattenOptions.length]); // ========================== Values ==========================\n\n var onSelectValue = function onSelectValue(value) {\n if (value !== undefined) {\n onSelect(value, {\n selected: !rawValues.has(value)\n });\n } // Single mode should always close by select\n\n\n if (!multiple) {\n toggleOpen(false);\n }\n }; // ========================= Keyboard =========================\n\n\n React.useImperativeHandle(ref, function () {\n return {\n onKeyDown: function onKeyDown(event) {\n var which = event.which,\n ctrlKey = event.ctrlKey;\n\n switch (which) {\n // >>> Arrow keys & ctrl + n/p on Mac\n case KeyCode.N:\n case KeyCode.P:\n case KeyCode.UP:\n case KeyCode.DOWN:\n {\n var offset = 0;\n\n if (which === KeyCode.UP) {\n offset = -1;\n } else if (which === KeyCode.DOWN) {\n offset = 1;\n } else if (isPlatformMac() && ctrlKey) {\n if (which === KeyCode.N) {\n offset = 1;\n } else if (which === KeyCode.P) {\n offset = -1;\n }\n }\n\n if (offset !== 0) {\n var nextActiveIndex = getEnabledActiveIndex(activeIndex + offset, offset);\n scrollIntoView(nextActiveIndex);\n setActive(nextActiveIndex, true);\n }\n\n break;\n }\n // >>> Select\n\n case KeyCode.ENTER:\n {\n // value\n var item = memoFlattenOptions[activeIndex];\n\n if (item && !item.data.disabled) {\n onSelectValue(item.value);\n } else {\n onSelectValue(undefined);\n }\n\n if (open) {\n event.preventDefault();\n }\n\n break;\n }\n // >>> Close\n\n case KeyCode.ESC:\n {\n toggleOpen(false);\n\n if (open) {\n event.stopPropagation();\n }\n }\n }\n },\n onKeyUp: function onKeyUp() {},\n scrollTo: function scrollTo(index) {\n scrollIntoView(index);\n }\n };\n }); // ========================== Render ==========================\n\n if (memoFlattenOptions.length === 0) {\n return /*#__PURE__*/React.createElement(\"div\", {\n role: \"listbox\",\n id: \"\".concat(id, \"_list\"),\n className: \"\".concat(itemPrefixCls, \"-empty\"),\n onMouseDown: onListMouseDown\n }, notFoundContent);\n }\n\n var omitFieldNameList = Object.keys(fieldNames).map(function (key) {\n return fieldNames[key];\n });\n\n var getLabel = function getLabel(item) {\n return item.label;\n };\n\n function getItemAriaProps(item, index) {\n var group = item.group;\n return {\n role: group ? 'presentation' : 'option',\n id: \"\".concat(id, \"_list_\").concat(index)\n };\n }\n\n var renderItem = function renderItem(index) {\n var item = memoFlattenOptions[index];\n if (!item) return null;\n var itemData = item.data || {};\n var value = itemData.value;\n var group = item.group;\n var attrs = pickAttrs(itemData, true);\n var mergedLabel = getLabel(item);\n return item ? /*#__PURE__*/React.createElement(\"div\", _extends({\n \"aria-label\": typeof mergedLabel === 'string' && !group ? mergedLabel : null\n }, attrs, {\n key: index\n }, getItemAriaProps(item, index), {\n \"aria-selected\": isSelected(value)\n }), value) : null;\n };\n\n var a11yProps = {\n role: 'listbox',\n id: \"\".concat(id, \"_list\")\n };\n return /*#__PURE__*/React.createElement(React.Fragment, null, virtual && /*#__PURE__*/React.createElement(\"div\", _extends({}, a11yProps, {\n style: {\n height: 0,\n width: 0,\n overflow: 'hidden'\n }\n }), renderItem(activeIndex - 1), renderItem(activeIndex), renderItem(activeIndex + 1)), /*#__PURE__*/React.createElement(List, {\n itemKey: \"key\",\n ref: listRef,\n data: memoFlattenOptions,\n height: listHeight,\n itemHeight: listItemHeight,\n fullHeight: false,\n onMouseDown: onListMouseDown,\n onScroll: onPopupScroll,\n virtual: virtual,\n innerProps: virtual ? null : a11yProps\n }, function (item, itemIndex) {\n var _classNames;\n\n var group = item.group,\n groupOption = item.groupOption,\n data = item.data,\n label = item.label,\n value = item.value;\n var key = data.key; // Group\n\n if (group) {\n var _data$title;\n\n var groupTitle = (_data$title = data.title) !== null && _data$title !== void 0 ? _data$title : isTitleType(label) ? label.toString() : undefined;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(itemPrefixCls, \"\".concat(itemPrefixCls, \"-group\")),\n title: groupTitle\n }, label !== undefined ? label : key);\n }\n\n var disabled = data.disabled,\n title = data.title,\n children = data.children,\n style = data.style,\n className = data.className,\n otherProps = _objectWithoutProperties(data, _excluded);\n\n var passedProps = omit(otherProps, omitFieldNameList); // Option\n\n var selected = isSelected(value);\n var optionPrefixCls = \"\".concat(itemPrefixCls, \"-option\");\n var optionClassName = classNames(itemPrefixCls, optionPrefixCls, className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(optionPrefixCls, \"-grouped\"), groupOption), _defineProperty(_classNames, \"\".concat(optionPrefixCls, \"-active\"), activeIndex === itemIndex && !disabled), _defineProperty(_classNames, \"\".concat(optionPrefixCls, \"-disabled\"), disabled), _defineProperty(_classNames, \"\".concat(optionPrefixCls, \"-selected\"), selected), _classNames));\n var mergedLabel = getLabel(item);\n var iconVisible = !menuItemSelectedIcon || typeof menuItemSelectedIcon === 'function' || selected; // https://github.com/ant-design/ant-design/issues/34145\n\n var content = typeof mergedLabel === 'number' ? mergedLabel : mergedLabel || value; // https://github.com/ant-design/ant-design/issues/26717\n\n var optionTitle = isTitleType(content) ? content.toString() : undefined;\n\n if (title !== undefined) {\n optionTitle = title;\n }\n\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, pickAttrs(passedProps), !virtual ? getItemAriaProps(item, itemIndex) : {}, {\n \"aria-selected\": selected,\n className: optionClassName,\n title: optionTitle,\n onMouseMove: function onMouseMove() {\n if (activeIndex === itemIndex || disabled) {\n return;\n }\n\n setActive(itemIndex);\n },\n onClick: function onClick() {\n if (!disabled) {\n onSelectValue(value);\n }\n },\n style: style\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(optionPrefixCls, \"-content\")\n }, content), /*#__PURE__*/React.isValidElement(menuItemSelectedIcon) || selected, iconVisible && /*#__PURE__*/React.createElement(TransBtn, {\n className: \"\".concat(itemPrefixCls, \"-option-state\"),\n customizeIcon: menuItemSelectedIcon,\n customizeIconProps: {\n isSelected: selected\n }\n }, selected ? '✓' : null));\n }));\n};\n\nvar RefOptionList = /*#__PURE__*/React.forwardRef(OptionList);\nRefOptionList.displayName = 'OptionList';\nexport default RefOptionList;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport toNodeArray from \"rc-util/es/Children/toArray\";\nimport warning, { noteOnce } from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport { isMultiple } from \"../BaseSelect\";\nimport { toArray } from \"./commonUtil\";\nimport { convertChildrenToData } from \"./legacyUtil\";\n\nfunction warningProps(props) {\n var mode = props.mode,\n options = props.options,\n children = props.children,\n backfill = props.backfill,\n allowClear = props.allowClear,\n placeholder = props.placeholder,\n getInputElement = props.getInputElement,\n showSearch = props.showSearch,\n onSearch = props.onSearch,\n defaultOpen = props.defaultOpen,\n autoFocus = props.autoFocus,\n labelInValue = props.labelInValue,\n value = props.value,\n inputValue = props.inputValue,\n optionLabelProp = props.optionLabelProp;\n var multiple = isMultiple(mode);\n var mergedShowSearch = showSearch !== undefined ? showSearch : multiple || mode === 'combobox';\n var mergedOptions = options || convertChildrenToData(children); // `tags` should not set option as disabled\n\n warning(mode !== 'tags' || mergedOptions.every(function (opt) {\n return !opt.disabled;\n }), 'Please avoid setting option to disabled in tags mode since user can always type text as tag.'); // `combobox` & `tags` should option be `string` type\n\n if (mode === 'tags' || mode === 'combobox') {\n var hasNumberValue = mergedOptions.some(function (item) {\n if (item.options) {\n return item.options.some(function (opt) {\n return typeof ('value' in opt ? opt.value : opt.key) === 'number';\n });\n }\n\n return typeof ('value' in item ? item.value : item.key) === 'number';\n });\n warning(!hasNumberValue, '`value` of Option should not use number type when `mode` is `tags` or `combobox`.');\n } // `combobox` should not use `optionLabelProp`\n\n\n warning(mode !== 'combobox' || !optionLabelProp, '`combobox` mode not support `optionLabelProp`. Please set `value` on Option directly.'); // Only `combobox` support `backfill`\n\n warning(mode === 'combobox' || !backfill, '`backfill` only works with `combobox` mode.'); // Only `combobox` support `getInputElement`\n\n warning(mode === 'combobox' || !getInputElement, '`getInputElement` only work with `combobox` mode.'); // Customize `getInputElement` should not use `allowClear` & `placeholder`\n\n noteOnce(mode !== 'combobox' || !getInputElement || !allowClear || !placeholder, 'Customize `getInputElement` should customize clear and placeholder logic instead of configuring `allowClear` and `placeholder`.'); // `onSearch` should use in `combobox` or `showSearch`\n\n if (onSearch && !mergedShowSearch && mode !== 'combobox' && mode !== 'tags') {\n warning(false, '`onSearch` should work with `showSearch` instead of use alone.');\n }\n\n noteOnce(!defaultOpen || autoFocus, '`defaultOpen` makes Select open without focus which means it will not close by click outside. You can set `autoFocus` if needed.');\n\n if (value !== undefined && value !== null) {\n var values = toArray(value);\n warning(!labelInValue || values.every(function (val) {\n return _typeof(val) === 'object' && ('key' in val || 'value' in val);\n }), '`value` should in shape of `{ value: string | number, label?: ReactNode }` when you set `labelInValue` to `true`');\n warning(!multiple || Array.isArray(value), '`value` should be array when `mode` is `multiple` or `tags`');\n } // Syntactic sugar should use correct children type\n\n\n if (children) {\n var invalidateChildType = null;\n toNodeArray(children).some(function (node) {\n if (! /*#__PURE__*/React.isValidElement(node) || !node.type) {\n return false;\n }\n\n var _ref = node,\n type = _ref.type;\n\n if (type.isSelectOption) {\n return false;\n }\n\n if (type.isSelectOptGroup) {\n var allChildrenValid = toNodeArray(node.props.children).every(function (subNode) {\n if (! /*#__PURE__*/React.isValidElement(subNode) || !node.type || subNode.type.isSelectOption) {\n return true;\n }\n\n invalidateChildType = subNode.type;\n return false;\n });\n\n if (allChildrenValid) {\n return false;\n }\n\n return true;\n }\n\n invalidateChildType = type;\n return true;\n });\n\n if (invalidateChildType) {\n warning(false, \"`children` should be `Select.Option` or `Select.OptGroup` instead of `\".concat(invalidateChildType.displayName || invalidateChildType.name || invalidateChildType, \"`.\"));\n }\n\n warning(inputValue === undefined, '`inputValue` is deprecated, please use `searchValue` instead.');\n }\n} // value in Select option should not be null\n// note: OptGroup has options too\n\n\nexport function warningNullOptions(options, fieldNames) {\n if (options) {\n var recursiveOptions = function recursiveOptions(optionsList) {\n var inGroup = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n for (var i = 0; i < optionsList.length; i++) {\n var option = optionsList[i];\n\n if (option[fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.value] === null) {\n warning(false, '`value` in Select options should not be `null`.');\n return true;\n }\n\n if (!inGroup && Array.isArray(option[fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.options]) && recursiveOptions(option[fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.options], true)) {\n break;\n }\n }\n };\n\n recursiveOptions(options);\n }\n}\nexport default warningProps;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar _excluded = [\"id\", \"mode\", \"prefixCls\", \"backfill\", \"fieldNames\", \"inputValue\", \"searchValue\", \"onSearch\", \"autoClearSearchValue\", \"onSelect\", \"onDeselect\", \"dropdownMatchSelectWidth\", \"filterOption\", \"filterSort\", \"optionFilterProp\", \"optionLabelProp\", \"options\", \"children\", \"defaultActiveFirstOption\", \"menuItemSelectedIcon\", \"virtual\", \"listHeight\", \"listItemHeight\", \"value\", \"defaultValue\", \"labelInValue\", \"onChange\"];\n\n/**\n * To match accessibility requirement, we always provide an input in the component.\n * Other element will not set `tabIndex` to avoid `onBlur` sequence problem.\n * For focused select, we set `aria-live=\"polite\"` to update the accessibility content.\n *\n * ref:\n * - keyboard: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/listbox_role#Keyboard_interactions\n *\n * New api:\n * - listHeight\n * - listItemHeight\n * - component\n *\n * Remove deprecated api:\n * - multiple\n * - tags\n * - combobox\n * - firstActiveValue\n * - dropdownMenuStyle\n * - openClassName (Not list in api)\n *\n * Update:\n * - `backfill` only support `combobox` mode\n * - `combobox` mode not support `labelInValue` since it's meaningless\n * - `getInputElement` only support `combobox` mode\n * - `onChange` return OptionData instead of ReactNode\n * - `filterOption` `onChange` `onSelect` accept OptionData instead of ReactNode\n * - `combobox` mode trigger `onChange` will get `undefined` if no `value` match in Option\n * - `combobox` mode not support `optionLabelProp`\n */\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport BaseSelect, { isMultiple } from \"./BaseSelect\";\nimport useCache from \"./hooks/useCache\";\nimport useFilterOptions from \"./hooks/useFilterOptions\";\nimport useId from \"./hooks/useId\";\nimport useOptions from \"./hooks/useOptions\";\nimport useRefFunc from \"./hooks/useRefFunc\";\nimport OptGroup from \"./OptGroup\";\nimport Option from \"./Option\";\nimport OptionList from \"./OptionList\";\nimport SelectContext from \"./SelectContext\";\nimport { hasValue, toArray } from \"./utils/commonUtil\";\nimport { fillFieldNames, flattenOptions, injectPropsWithOption } from \"./utils/valueUtil\";\nimport warningProps, { warningNullOptions } from \"./utils/warningPropsUtil\";\nvar OMIT_DOM_PROPS = ['inputValue'];\n\nfunction isRawValue(value) {\n return !value || _typeof(value) !== 'object';\n}\n\nvar Select = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var id = props.id,\n mode = props.mode,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-select' : _props$prefixCls,\n backfill = props.backfill,\n fieldNames = props.fieldNames,\n inputValue = props.inputValue,\n searchValue = props.searchValue,\n onSearch = props.onSearch,\n _props$autoClearSearc = props.autoClearSearchValue,\n autoClearSearchValue = _props$autoClearSearc === void 0 ? true : _props$autoClearSearc,\n onSelect = props.onSelect,\n onDeselect = props.onDeselect,\n _props$dropdownMatchS = props.dropdownMatchSelectWidth,\n dropdownMatchSelectWidth = _props$dropdownMatchS === void 0 ? true : _props$dropdownMatchS,\n filterOption = props.filterOption,\n filterSort = props.filterSort,\n optionFilterProp = props.optionFilterProp,\n optionLabelProp = props.optionLabelProp,\n options = props.options,\n children = props.children,\n defaultActiveFirstOption = props.defaultActiveFirstOption,\n menuItemSelectedIcon = props.menuItemSelectedIcon,\n virtual = props.virtual,\n _props$listHeight = props.listHeight,\n listHeight = _props$listHeight === void 0 ? 200 : _props$listHeight,\n _props$listItemHeight = props.listItemHeight,\n listItemHeight = _props$listItemHeight === void 0 ? 20 : _props$listItemHeight,\n value = props.value,\n defaultValue = props.defaultValue,\n labelInValue = props.labelInValue,\n onChange = props.onChange,\n restProps = _objectWithoutProperties(props, _excluded);\n\n var mergedId = useId(id);\n var multiple = isMultiple(mode);\n var childrenAsData = !!(!options && children);\n var mergedFilterOption = React.useMemo(function () {\n if (filterOption === undefined && mode === 'combobox') {\n return false;\n }\n\n return filterOption;\n }, [filterOption, mode]); // ========================= FieldNames =========================\n\n var mergedFieldNames = React.useMemo(function () {\n return fillFieldNames(fieldNames, childrenAsData);\n },\n /* eslint-disable react-hooks/exhaustive-deps */\n [// We stringify fieldNames to avoid unnecessary re-renders.\n JSON.stringify(fieldNames), childrenAsData]\n /* eslint-enable react-hooks/exhaustive-deps */\n ); // =========================== Search ===========================\n\n var _useMergedState = useMergedState('', {\n value: searchValue !== undefined ? searchValue : inputValue,\n postState: function postState(search) {\n return search || '';\n }\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedSearchValue = _useMergedState2[0],\n setSearchValue = _useMergedState2[1]; // =========================== Option ===========================\n\n\n var parsedOptions = useOptions(options, children, mergedFieldNames, optionFilterProp, optionLabelProp);\n var valueOptions = parsedOptions.valueOptions,\n labelOptions = parsedOptions.labelOptions,\n mergedOptions = parsedOptions.options; // ========================= Wrap Value =========================\n\n var convert2LabelValues = React.useCallback(function (draftValues) {\n // Convert to array\n var valueList = toArray(draftValues); // Convert to labelInValue type\n\n return valueList.map(function (val) {\n var rawValue;\n var rawLabel;\n var rawKey;\n var rawDisabled;\n var rawTitle; // Fill label & value\n\n if (isRawValue(val)) {\n rawValue = val;\n } else {\n var _val$value;\n\n rawKey = val.key;\n rawLabel = val.label;\n rawValue = (_val$value = val.value) !== null && _val$value !== void 0 ? _val$value : rawKey;\n }\n\n var option = valueOptions.get(rawValue);\n\n if (option) {\n var _option$key;\n\n // Fill missing props\n if (rawLabel === undefined) rawLabel = option === null || option === void 0 ? void 0 : option[optionLabelProp || mergedFieldNames.label];\n if (rawKey === undefined) rawKey = (_option$key = option === null || option === void 0 ? void 0 : option.key) !== null && _option$key !== void 0 ? _option$key : rawValue;\n rawDisabled = option === null || option === void 0 ? void 0 : option.disabled;\n rawTitle = option === null || option === void 0 ? void 0 : option.title; // Warning if label not same as provided\n\n if (process.env.NODE_ENV !== 'production' && !optionLabelProp) {\n var optionLabel = option === null || option === void 0 ? void 0 : option[mergedFieldNames.label];\n\n if (optionLabel !== undefined && optionLabel !== rawLabel) {\n warning(false, '`label` of `value` is not same as `label` in Select options.');\n }\n }\n }\n\n return {\n label: rawLabel,\n value: rawValue,\n key: rawKey,\n disabled: rawDisabled,\n title: rawTitle\n };\n });\n }, [mergedFieldNames, optionLabelProp, valueOptions]); // =========================== Values ===========================\n\n var _useMergedState3 = useMergedState(defaultValue, {\n value: value\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n internalValue = _useMergedState4[0],\n setInternalValue = _useMergedState4[1]; // Merged value with LabelValueType\n\n\n var rawLabeledValues = React.useMemo(function () {\n var _values$;\n\n var values = convert2LabelValues(internalValue); // combobox no need save value when it's no value\n\n if (mode === 'combobox' && !((_values$ = values[0]) !== null && _values$ !== void 0 && _values$.value)) {\n return [];\n }\n\n return values;\n }, [internalValue, convert2LabelValues, mode]); // Fill label with cache to avoid option remove\n\n var _useCache = useCache(rawLabeledValues, valueOptions),\n _useCache2 = _slicedToArray(_useCache, 2),\n mergedValues = _useCache2[0],\n getMixedOption = _useCache2[1];\n\n var displayValues = React.useMemo(function () {\n // `null` need show as placeholder instead\n // https://github.com/ant-design/ant-design/issues/25057\n if (!mode && mergedValues.length === 1) {\n var firstValue = mergedValues[0];\n\n if (firstValue.value === null && (firstValue.label === null || firstValue.label === undefined)) {\n return [];\n }\n }\n\n return mergedValues.map(function (item) {\n var _item$label;\n\n return _objectSpread(_objectSpread({}, item), {}, {\n label: (_item$label = item.label) !== null && _item$label !== void 0 ? _item$label : item.value\n });\n });\n }, [mode, mergedValues]);\n /** Convert `displayValues` to raw value type set */\n\n var rawValues = React.useMemo(function () {\n return new Set(mergedValues.map(function (val) {\n return val.value;\n }));\n }, [mergedValues]);\n React.useEffect(function () {\n if (mode === 'combobox') {\n var _mergedValues$;\n\n var strValue = (_mergedValues$ = mergedValues[0]) === null || _mergedValues$ === void 0 ? void 0 : _mergedValues$.value;\n setSearchValue(hasValue(strValue) ? String(strValue) : '');\n }\n }, [mergedValues]); // ======================= Display Option =======================\n // Create a placeholder item if not exist in `options`\n\n var createTagOption = useRefFunc(function (val, label) {\n var _ref;\n\n var mergedLabel = label !== null && label !== void 0 ? label : val;\n return _ref = {}, _defineProperty(_ref, mergedFieldNames.value, val), _defineProperty(_ref, mergedFieldNames.label, mergedLabel), _ref;\n }); // Fill tag as option if mode is `tags`\n\n var filledTagOptions = React.useMemo(function () {\n if (mode !== 'tags') {\n return mergedOptions;\n } // >>> Tag mode\n\n\n var cloneOptions = _toConsumableArray(mergedOptions); // Check if value exist in options (include new patch item)\n\n\n var existOptions = function existOptions(val) {\n return valueOptions.has(val);\n }; // Fill current value as option\n\n\n _toConsumableArray(mergedValues).sort(function (a, b) {\n return a.value < b.value ? -1 : 1;\n }).forEach(function (item) {\n var val = item.value;\n\n if (!existOptions(val)) {\n cloneOptions.push(createTagOption(val, item.label));\n }\n });\n\n return cloneOptions;\n }, [createTagOption, mergedOptions, valueOptions, mergedValues, mode]);\n var filteredOptions = useFilterOptions(filledTagOptions, mergedFieldNames, mergedSearchValue, mergedFilterOption, optionFilterProp); // Fill options with search value if needed\n\n var filledSearchOptions = React.useMemo(function () {\n if (mode !== 'tags' || !mergedSearchValue || filteredOptions.some(function (item) {\n return item[optionFilterProp || 'value'] === mergedSearchValue;\n })) {\n return filteredOptions;\n } // Fill search value as option\n\n\n return [createTagOption(mergedSearchValue)].concat(_toConsumableArray(filteredOptions));\n }, [createTagOption, optionFilterProp, mode, filteredOptions, mergedSearchValue]);\n var orderedFilteredOptions = React.useMemo(function () {\n if (!filterSort) {\n return filledSearchOptions;\n }\n\n return _toConsumableArray(filledSearchOptions).sort(function (a, b) {\n return filterSort(a, b);\n });\n }, [filledSearchOptions, filterSort]);\n var displayOptions = React.useMemo(function () {\n return flattenOptions(orderedFilteredOptions, {\n fieldNames: mergedFieldNames,\n childrenAsData: childrenAsData\n });\n }, [orderedFilteredOptions, mergedFieldNames, childrenAsData]); // =========================== Change ===========================\n\n var triggerChange = function triggerChange(values) {\n var labeledValues = convert2LabelValues(values);\n setInternalValue(labeledValues);\n\n if (onChange && ( // Trigger event only when value changed\n labeledValues.length !== mergedValues.length || labeledValues.some(function (newVal, index) {\n var _mergedValues$index;\n\n return ((_mergedValues$index = mergedValues[index]) === null || _mergedValues$index === void 0 ? void 0 : _mergedValues$index.value) !== (newVal === null || newVal === void 0 ? void 0 : newVal.value);\n }))) {\n var returnValues = labelInValue ? labeledValues : labeledValues.map(function (v) {\n return v.value;\n });\n var returnOptions = labeledValues.map(function (v) {\n return injectPropsWithOption(getMixedOption(v.value));\n });\n onChange( // Value\n multiple ? returnValues : returnValues[0], // Option\n multiple ? returnOptions : returnOptions[0]);\n }\n }; // ======================= Accessibility ========================\n\n\n var _React$useState = React.useState(null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n activeValue = _React$useState2[0],\n setActiveValue = _React$useState2[1];\n\n var _React$useState3 = React.useState(0),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n accessibilityIndex = _React$useState4[0],\n setAccessibilityIndex = _React$useState4[1];\n\n var mergedDefaultActiveFirstOption = defaultActiveFirstOption !== undefined ? defaultActiveFirstOption : mode !== 'combobox';\n var onActiveValue = React.useCallback(function (active, index) {\n var _ref2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n _ref2$source = _ref2.source,\n source = _ref2$source === void 0 ? 'keyboard' : _ref2$source;\n\n setAccessibilityIndex(index);\n\n if (backfill && mode === 'combobox' && active !== null && source === 'keyboard') {\n setActiveValue(String(active));\n }\n }, [backfill, mode]); // ========================= OptionList =========================\n\n var triggerSelect = function triggerSelect(val, selected, type) {\n var getSelectEnt = function getSelectEnt() {\n var _option$key2;\n\n var option = getMixedOption(val);\n return [labelInValue ? {\n label: option === null || option === void 0 ? void 0 : option[mergedFieldNames.label],\n value: val,\n key: (_option$key2 = option === null || option === void 0 ? void 0 : option.key) !== null && _option$key2 !== void 0 ? _option$key2 : val\n } : val, injectPropsWithOption(option)];\n };\n\n if (selected && onSelect) {\n var _getSelectEnt = getSelectEnt(),\n _getSelectEnt2 = _slicedToArray(_getSelectEnt, 2),\n wrappedValue = _getSelectEnt2[0],\n _option = _getSelectEnt2[1];\n\n onSelect(wrappedValue, _option);\n } else if (!selected && onDeselect && type !== 'clear') {\n var _getSelectEnt3 = getSelectEnt(),\n _getSelectEnt4 = _slicedToArray(_getSelectEnt3, 2),\n _wrappedValue = _getSelectEnt4[0],\n _option2 = _getSelectEnt4[1];\n\n onDeselect(_wrappedValue, _option2);\n }\n }; // Used for OptionList selection\n\n\n var onInternalSelect = useRefFunc(function (val, info) {\n var cloneValues; // Single mode always trigger select only with option list\n\n var mergedSelect = multiple ? info.selected : true;\n\n if (mergedSelect) {\n cloneValues = multiple ? [].concat(_toConsumableArray(mergedValues), [val]) : [val];\n } else {\n cloneValues = mergedValues.filter(function (v) {\n return v.value !== val;\n });\n }\n\n triggerChange(cloneValues);\n triggerSelect(val, mergedSelect); // Clean search value if single or configured\n\n if (mode === 'combobox') {\n // setSearchValue(String(val));\n setActiveValue('');\n } else if (!isMultiple || autoClearSearchValue) {\n setSearchValue('');\n setActiveValue('');\n }\n }); // ======================= Display Change =======================\n // BaseSelect display values change\n\n var onDisplayValuesChange = function onDisplayValuesChange(nextValues, info) {\n triggerChange(nextValues);\n var type = info.type,\n values = info.values;\n\n if (type === 'remove' || type === 'clear') {\n values.forEach(function (item) {\n triggerSelect(item.value, false, type);\n });\n }\n }; // =========================== Search ===========================\n\n\n var onInternalSearch = function onInternalSearch(searchText, info) {\n setSearchValue(searchText);\n setActiveValue(null); // [Submit] Tag mode should flush input\n\n if (info.source === 'submit') {\n var formatted = (searchText || '').trim(); // prevent empty tags from appearing when you click the Enter button\n\n if (formatted) {\n var newRawValues = Array.from(new Set([].concat(_toConsumableArray(rawValues), [formatted])));\n triggerChange(newRawValues);\n triggerSelect(formatted, true);\n setSearchValue('');\n }\n\n return;\n }\n\n if (info.source !== 'blur') {\n if (mode === 'combobox') {\n triggerChange(searchText);\n }\n\n onSearch === null || onSearch === void 0 ? void 0 : onSearch(searchText);\n }\n };\n\n var onInternalSearchSplit = function onInternalSearchSplit(words) {\n var patchValues = words;\n\n if (mode !== 'tags') {\n patchValues = words.map(function (word) {\n var opt = labelOptions.get(word);\n return opt === null || opt === void 0 ? void 0 : opt.value;\n }).filter(function (val) {\n return val !== undefined;\n });\n }\n\n var newRawValues = Array.from(new Set([].concat(_toConsumableArray(rawValues), _toConsumableArray(patchValues))));\n triggerChange(newRawValues);\n newRawValues.forEach(function (newRawValue) {\n triggerSelect(newRawValue, true);\n });\n }; // ========================== Context ===========================\n\n\n var selectContext = React.useMemo(function () {\n var realVirtual = virtual !== false && dropdownMatchSelectWidth !== false;\n return _objectSpread(_objectSpread({}, parsedOptions), {}, {\n flattenOptions: displayOptions,\n onActiveValue: onActiveValue,\n defaultActiveFirstOption: mergedDefaultActiveFirstOption,\n onSelect: onInternalSelect,\n menuItemSelectedIcon: menuItemSelectedIcon,\n rawValues: rawValues,\n fieldNames: mergedFieldNames,\n virtual: realVirtual,\n listHeight: listHeight,\n listItemHeight: listItemHeight,\n childrenAsData: childrenAsData\n });\n }, [parsedOptions, displayOptions, onActiveValue, mergedDefaultActiveFirstOption, onInternalSelect, menuItemSelectedIcon, rawValues, mergedFieldNames, virtual, dropdownMatchSelectWidth, listHeight, listItemHeight, childrenAsData]); // ========================== Warning ===========================\n\n if (process.env.NODE_ENV !== 'production') {\n warningProps(props);\n warningNullOptions(mergedOptions, mergedFieldNames);\n } // ==============================================================\n // == Render ==\n // ==============================================================\n\n\n return /*#__PURE__*/React.createElement(SelectContext.Provider, {\n value: selectContext\n }, /*#__PURE__*/React.createElement(BaseSelect, _extends({}, restProps, {\n // >>> MISC\n id: mergedId,\n prefixCls: prefixCls,\n ref: ref,\n omitDomProps: OMIT_DOM_PROPS,\n mode: mode // >>> Values\n ,\n displayValues: displayValues,\n onDisplayValuesChange: onDisplayValuesChange // >>> Search\n ,\n searchValue: mergedSearchValue,\n onSearch: onInternalSearch,\n autoClearSearchValue: autoClearSearchValue,\n onSearchSplit: onInternalSearchSplit,\n dropdownMatchSelectWidth: dropdownMatchSelectWidth // >>> OptionList\n ,\n OptionList: OptionList,\n emptyOptions: !displayOptions.length // >>> Accessibility\n ,\n activeValue: activeValue,\n activeDescendantId: \"\".concat(mergedId, \"_list_\").concat(accessibilityIndex)\n })));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Select.displayName = 'Select';\n}\n\nvar TypedSelect = Select;\nTypedSelect.Option = Option;\nTypedSelect.OptGroup = OptGroup;\nexport default TypedSelect;","import Select from \"./Select\";\nimport Option from \"./Option\";\nimport OptGroup from \"./OptGroup\";\nimport BaseSelect from \"./BaseSelect\";\nimport useBaseProps from \"./hooks/useBaseProps\";\nexport { Option, OptGroup, BaseSelect, useBaseProps };\nexport default Select;","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n"],"sourceRoot":""}