{"version":3,"file":"js/8090-7e00e922fa63e2714b52.js","mappings":"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KAAQ,CACJ,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEJ,KAAQ,CACJ,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAEJ,SAAY,CACR,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEJ,KAAQ,CACJ,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAEJ,KAAQ,CACJ,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAEJ,KAAQ,CACJ,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEJ,KAAQ,CACJ,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEJ,QAAW,CACP,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEJ,KAAQ,CACJ,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAEJ,KAAQ,CACJ,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAEJ,KAAQ,CACJ,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEJ,KAAQ,CACJ,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEJ,KAAQ,CACJ,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEJ,KAAQ,CACJ,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEJ,KAAQ,CACJ,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEJ,SAAY,CACR,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEJ,KAAQ,CACJ,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEJ,KAAQ,CACJ,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEJ,KAAQ,CACJ,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEJ,SAAY,CACR,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAEJ,QAAW,CACP,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAEJ,SAAY,CACR,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAEJ,SAAY,CACR,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAEJ,SAAY,CACR,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAEJ,KAAQ,CACJ,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEJ,KAAQ,CACJ,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAEJ,KAAQ,CACJ,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEJ,KAAQ,CACJ,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAEJ,KAAQ,CACJ,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEJ,KAAQ,CACJ,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEJ,SAAY,CACR,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEJ,SAAY,CACR,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEJ,KAAQ,CACJ,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAEJ,KAAQ,CACJ,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEJ,KAAQ,CACJ,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEJ,KAAQ,CACJ,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEJ,KAAQ,CACJ,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAEJ,KAAQ,CACJ,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAEJ,KAAQ,CACJ,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEJ,QAAW,CACP,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAEJ,KAAQ,CACJ,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAEJ,KAAQ,CACJ,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAEJ,KAAQ,CACJ,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEJ,KAAQ,CACJ,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAEJ,KAAQ,CACJ,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEJ,KAAQ,CACJ,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAEJ,KAAQ,CACJ,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEJ,QAAW,CACP,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEJ,KAAQ,CACJ,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEJ,KAAQ,CACJ,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEJ,KAAQ,CACJ,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEJ,KAAQ,CACJ,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAEJ,KAAQ,CACJ,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEJ,KAAQ,CACJ,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAEJ,KAAQ,CACJ,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,iBCrwBJC,GAAwB,IAAIC,OAAO,IAAInK,OAAOgK,GAAgBI,SAE9DC,GAAyB,IAAIF,OAAO,GAAGnK,OAAOgK,GAAgBI,OAAQ,MACtEE,GAAsB,uBACX,SAASC,GAAcC,EAAcC,EAAMxG,EAAIzE,GAC1D,IAUIkL,EAqBAC,EA/BAC,EAAOJ,EAAaI,KAAMlC,EAAW8B,EAAa9B,SAAU7C,EAAY2E,EAAa3E,UACrFE,EAAWvG,EAAQuG,SAAUI,EAAQ3G,EAAQ2G,MAAOF,EAAkBzG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I,CACAlB,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIW,GAAI,CACAlB,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIW,GAAI,CACAlB,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIW,GAAI,CACAlB,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIW,GAAI,CACAlB,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIW,GAAI,CACAlB,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIW,GAAI,CACAlB,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIW,GAAI,CACAlB,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIW,GAAI,CACAlB,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIW,GAAI,CACAlB,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIW,GAAI,CACAlB,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIW,GAAI,CACAlB,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIW,GAAI,CACAlB,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIW,GAAI,CACAlB,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIW,GAAI,CACAlB,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIW,GAAI,CACAlB,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIW,GAAI,CACAlB,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIW,GAAI,CACAlB,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIW,GAAI,CACAlB,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIW,GAAI,CACAlB,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIW,GAAI,CACAlB,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIW,GAAI,CACAlB,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIW,GAAI,CACAlB,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIW,GAAI,CACAlB,SAAU,MACVC,UAAW,KA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CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI8B,GAAI,CACArC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI+B,GAAI,CACAtC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI+B,GAAI,CACAtC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI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C,UAAW,MAGnB,CACI,iBAAkB,CACdD,SAAU,iBACVC,UAAW,MAGnB,CACI,SAAU,CACND,SAAU,SACVC,UAAW,MAGnB,CACI,aAAc,CACVD,SAAU,aACVC,UAAW,MAGnB,CACI,UAAW,CACPD,SAAU,cACVC,UAAW,MAGnB,CACI,cAAe,CACXD,SAAU,cACVC,UAAW,MAGnB,CACI,SAAU,CACND,SAAU,SACVC,UAAW,MAGnB,CACI,iBAAkB,CACdD,SAAU,iBACVC,UAAW,MAGnB,CACI,kBAAmB,CACfD,SAAU,kBACVC,UAAW,MAGnB,CACI,SAAU,CACND,SAAU,SACVC,UAAW,MAGnB,CACI,iBAAkB,CACdD,SAAU,iBACVC,UAAW,MAGnB,CACI,kBAAmB,CACfD,SAAU,kBACVC,UAAW,MAGnB,CACI,SAAU,CACND,SAAU,SACVC,UAAW,MAGnB,CACI,iBAAkB,CACdD,SAAU,iBACVC,UAAW,MAGnB,CACI,kBAAmB,CACfD,SAAU,kBACVC,UAAW,MAGnB,CACI,YAAa,CACTD,SAAU,YACVC,UAAW,MAGnB,CACI,QAAS,CACLD,SAAU,QACVC,UAAW,UCpjFxB8C,GAAU,CACjB,MAAO,CACH,MACA,sBACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,sBACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,MACA,MACA,MACA,sBACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,IAAO,CACH,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,IAAO,CACH,MACA,KACA,KACA,KACA,KACA,MAEJ,IAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,IAAO,CACH,MACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,IAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,IAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,IAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,IAAO,CACH,MACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,IAAO,CACH,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,GAAM,CACF,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,GAAM,CACF,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,GAAM,CACF,KACA,KACA,KACA,KACA,KACA,MAEJ,GAAM,CACF,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,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","sources":["webpack://app/./node_modules/@formatjs/intl-numberformat/index.js","webpack://app/./node_modules/@formatjs/intl-numberformat/locale-data/en.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/CanonicalizeLocaleList.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/CanonicalizeTimeZoneName.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/262.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/CoerceOptionsToObject.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/DefaultNumberOption.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/GetNumberOption.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/GetOption.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/GetOptionsObject.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/GetStringOrBooleanOption.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/IsSanctionedSimpleUnitIdentifier.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/IsValidTimeZoneName.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/IsWellFormedCurrencyCode.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/IsWellFormedUnitIdentifier.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/ApplyUnsignedRoundingMode.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/CollapseNumberRange.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/utils.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/ComputeExponentForMagnitude.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/ToRawPrecision.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/ToRawFixed.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/FormatNumericToString.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/ComputeExponent.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/CurrencyDigits.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/FormatApproximately.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/regex.generated.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/digit-mapping.generated.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/format_to_parts.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/PartitionNumberPattern.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/PartitionNumberRangePattern.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/FormatNumericRange.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/FormatNumericRangeToParts.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/FormatNumericToParts.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/GetUnsignedRoundingMode.js","webpack://app/./node_modules/@formatjs/intl-localematcher/lib/abstract/languageMatching.js","webpack://app/./node_modules/@formatjs/intl-localematcher/lib/abstract/regions.generated.js","webpack://app/./node_modules/@formatjs/intl-localematcher/lib/abstract/utils.js","webpack://app/./node_modules/@formatjs/intl-localematcher/lib/abstract/BestFitMatcher.js","webpack://app/./node_modules/@formatjs/intl-localematcher/lib/abstract/BestAvailableLocale.js","webpack://app/./node_modules/@formatjs/intl-localematcher/lib/abstract/UnicodeExtensionValue.js","webpack://app/./node_modules/@formatjs/intl-localematcher/lib/abstract/ResolveLocale.js","webpack://app/./node_modules/@formatjs/intl-localematcher/lib/abstract/LookupMatcher.js","webpack://app/./node_modules/@formatjs/intl-localematcher/lib/abstract/LookupSupportedLocales.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/SetNumberFormatDigitOptions.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/SetNumberFormatUnitOptions.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/InitializeNumberFormat.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/PartitionPattern.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/SupportedLocales.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/data.js","webpack://app/./node_modules/@formatjs/intl-numberformat/node_modules/@formatjs/ecma402-abstract/lib/types/date-time.js","webpack://app/./node_modules/@formatjs/intl-numberformat/src/core.js","webpack://app/./node_modules/@formatjs/intl-numberformat/src/currency-digits.generated.js","webpack://app/./node_modules/@formatjs/intl-numberformat/src/get_internal_slots.js","webpack://app/./node_modules/@formatjs/intl-numberformat/src/numbering-systems.generated.js","webpack://app/./node_modules/@mui/material/Grid/GridContext.js","webpack://app/./node_modules/@mui/material/Grid/Grid.js","webpack://app/./node_modules/@mui/material/Grid/gridClasses.js","webpack://app/./node_modules/@visx/group/esm/Group.js","webpack://app/./node_modules/d3-path/src/path.js","webpack://app/./node_modules/d3-shape/src/constant.js","webpack://app/./node_modules/d3-shape/src/curve/linear.js","webpack://app/./node_modules/d3-shape/src/point.js","webpack://app/./node_modules/d3-shape/src/line.js","webpack://app/./node_modules/@visx/shape/esm/util/setNumberOrNumberAccessor.js","webpack://app/./node_modules/@visx/shape/esm/util/D3ShapeFactories.js","webpack://app/./node_modules/d3-shape/src/area.js","webpack://app/./node_modules/@visx/shape/esm/shapes/LinePath.js","webpack://app/./node_modules/@visx/shape/esm/shapes/AreaClosed.js","webpack://app/./node_modules/@visx/shape/esm/shapes/Bar.js","webpack://app/./node_modules/d3-scale/src/init.js","webpack://app/./node_modules/d3-scale/src/ordinal.js","webpack://app/./node_modules/d3-color/src/define.js","webpack://app/./node_modules/d3-color/src/color.js","webpack://app/./node_modules/d3-color/src/math.js","webpack://app/./node_modules/d3-color/src/lab.js","webpack://app/./node_modules/d3-interpolate/src/constant.js","webpack://app/./node_modules/d3-interpolate/src/color.js","webpack://app/./node_modules/d3-interpolate/src/hcl.js","webpack://app/./node_modules/d3-interpolate/src/hsl.js","webpack://app/./node_modules/d3-color/src/cubehelix.js","webpack://app/./node_modules/d3-interpolate/src/cubehelix.js","webpack://app/./node_modules/d3-interpolate/src/basis.js","webpack://app/./node_modules/d3-interpolate/src/rgb.js","webpack://app/./node_modules/d3-interpolate/src/basisClosed.js","webpack://app/./node_modules/@visx/scale/esm/utils/createColorInterpolator.js","webpack://app/./node_modules/d3-interpolate/src/lab.js","webpack://app/./node_modules/d3-time/src/interval.js","webpack://app/./node_modules/d3-time/src/duration.js","webpack://app/./node_modules/d3-time/src/day.js","webpack://app/./node_modules/d3-time/src/hour.js","webpack://app/./node_modules/d3-time/src/minute.js","webpack://app/./node_modules/d3-time/src/month.js","webpack://app/./node_modules/d3-time/src/second.js","webpack://app/./node_modules/d3-time/src/week.js","webpack://app/./node_modules/d3-time/src/year.js","webpack://app/./node_modules/d3-time/src/utcDay.js","webpack://app/./node_modules/d3-time/src/utcHour.js","webpack://app/./node_modules/d3-time/src/utcMinute.js","webpack://app/./node_modules/d3-time/src/utcMonth.js","webpack://app/./node_modules/d3-time/src/utcWeek.js","webpack://app/./node_modules/d3-time/src/utcYear.js","webpack://app/./node_modules/@visx/scale/esm/utils/isUtcScale.js","webpack://app/./node_modules/@visx/scale/esm/operators/nice.js","webpack://app/./node_modules/d3-interpolate/src/round.js","webpack://app/./node_modules/@visx/scale/esm/operators/scaleOperator.js","webpack://app/./node_modules/@visx/scale/esm/operators/domain.js","webpack://app/./node_modules/@visx/scale/esm/operators/zero.js","webpack://app/./node_modules/@visx/scale/esm/operators/interpolate.js","webpack://app/./node_modules/@visx/scale/esm/operators/round.js","webpack://app/./node_modules/@visx/scale/esm/operators/align.js","webpack://app/./node_modules/@visx/scale/esm/operators/base.js","webpack://app/./node_modules/@visx/scale/esm/operators/clamp.js","webpack://app/./node_modules/@visx/scale/esm/operators/constant.js","webpack://app/./node_modules/@visx/scale/esm/operators/exponent.js","webpack://app/./node_modules/@visx/scale/esm/operators/padding.js","webpack://app/./node_modules/@visx/scale/esm/operators/range.js","webpack://app/./node_modules/@visx/scale/esm/operators/reverse.js","webpack://app/./node_modules/@visx/scale/esm/operators/unknown.js","webpack://app/./node_modules/@visx/scale/esm/scales/ordinal.js","webpack://app/./node_modules/d3-array/src/ascending.js","webpack://app/./node_modules/d3-array/src/bisector.js","webpack://app/./node_modules/d3-array/src/ticks.js","webpack://app/./node_modules/d3-time/src/millisecond.js","webpack://app/./node_modules/d3-time/src/ticks.js","webpack://app/./node_modules/d3-time-format/src/locale.js","webpack://app/./node_modules/d3-time-format/src/defaultLocale.js","webpack://app/./node_modules/d3-array/src/bisect.js","webpack://app/./node_modules/d3-array/src/number.js","webpack://app/./node_modules/d3-scale/node_modules/d3-color/src/define.js","webpack://app/./node_modules/d3-scale/node_modules/d3-color/src/color.js","webpack://app/./node_modules/d3-scale/node_modules/d3-interpolate/src/basis.js","webpack://app/./node_modules/d3-scale/node_modules/d3-interpolate/src/constant.js","webpack://app/./node_modules/d3-scale/node_modules/d3-interpolate/src/color.js","webpack://app/./node_modules/d3-scale/node_modules/d3-interpolate/src/rgb.js","webpack://app/./node_modules/d3-scale/node_modules/d3-interpolate/src/basisClosed.js","webpack://app/./node_modules/d3-scale/node_modules/d3-interpolate/src/array.js","webpack://app/./node_modules/d3-scale/node_modules/d3-interpolate/src/date.js","webpack://app/./node_modules/d3-scale/node_modules/d3-interpolate/src/number.js","webpack://app/./node_modules/d3-scale/node_modules/d3-interpolate/src/object.js","webpack://app/./node_modules/d3-scale/node_modules/d3-interpolate/src/string.js","webpack://app/./node_modules/d3-scale/node_modules/d3-interpolate/src/numberArray.js","webpack://app/./node_modules/d3-scale/node_modules/d3-interpolate/src/value.js","webpack://app/./node_modules/d3-scale/node_modules/d3-interpolate/src/round.js","webpack://app/./node_modules/d3-scale/src/number.js","webpack://app/./node_modules/d3-scale/src/continuous.js","webpack://app/./node_modules/d3-scale/src/constant.js","webpack://app/./node_modules/d3-scale/src/time.js","webpack://app/./node_modules/d3-scale/src/nice.js","webpack://app/./node_modules/@visx/scale/esm/scales/time.js","webpack://app/./node_modules/d3-array/src/extent.js","webpack://app/./node_modules/@platform-ui/design-system/dist/esm/Chart/chartColors.js","webpack://app/./node_modules/@visx/shape/esm/shapes/Line.js","webpack://app/./node_modules/@visx/text/esm/util/getStringWidth.js","webpack://app/./node_modules/@visx/text/esm/hooks/useText.js","webpack://app/./node_modules/@visx/text/esm/Text.js","webpack://app/./node_modules/@visx/axis/esm/constants/orientation.js","webpack://app/./node_modules/@visx/axis/esm/axis/Ticks.js","webpack://app/./node_modules/@visx/axis/esm/axis/AxisRenderer.js","webpack://app/./node_modules/@visx/axis/esm/utils/getLabelTransform.js","webpack://app/./node_modules/@visx/scale/esm/utils/toString.js","webpack://app/./node_modules/@visx/point/esm/Point.js","webpack://app/./node_modules/@visx/axis/esm/utils/createPoint.js","webpack://app/./node_modules/@visx/axis/esm/utils/getAxisRangePaddingConfig.js","webpack://app/./node_modules/@visx/axis/esm/axis/Axis.js","webpack://app/./node_modules/@visx/axis/esm/utils/getTickFormatter.js","webpack://app/./node_modules/@visx/axis/esm/utils/getTickPosition.js","webpack://app/./node_modules/@visx/scale/esm/utils/getTicks.js","webpack://app/./node_modules/@visx/scale/esm/utils/coerceNumber.js","webpack://app/./node_modules/@visx/axis/esm/axis/AxisLeft.js","webpack://app/./node_modules/@visx/axis/esm/axis/AxisBottom.js","webpack://app/./node_modules/@visx/tooltip/esm/hooks/useTooltip.js","webpack://app/./node_modules/@visx/bounds/esm/enhancers/withBoundingRects.js","webpack://app/./node_modules/@visx/tooltip/esm/tooltips/Tooltip.js","webpack://app/./node_modules/@visx/tooltip/esm/context/TooltipPositionContext.js","webpack://app/./node_modules/@visx/tooltip/esm/tooltips/TooltipWithBounds.js","webpack://app/./node_modules/react-use-measure/dist/web.js","webpack://app/./node_modules/@juggle/resize-observer/lib/utils/resizeObservers.js","webpack://app/./node_modules/@juggle/resize-observer/lib/ResizeObserverBoxOptions.js","webpack://app/./node_modules/@juggle/resize-observer/lib/algorithms/deliverResizeLoopError.js","webpack://app/./node_modules/@juggle/resize-observer/lib/utils/freeze.js","webpack://app/./node_modules/@juggle/resize-observer/lib/utils/queueMicroTask.js","webpack://app/./node_modules/@juggle/resize-observer/lib/ResizeObserverSize.js","webpack://app/./node_modules/@juggle/resize-observer/lib/DOMRectReadOnly.js","webpack://app/./node_modules/@juggle/resize-observer/lib/utils/element.js","webpack://app/./node_modules/@juggle/resize-observer/lib/utils/global.js","webpack://app/./node_modules/@juggle/resize-observer/lib/algorithms/calculateBoxSize.js","webpack://app/./node_modules/@juggle/resize-observer/lib/ResizeObserverEntry.js","webpack://app/./node_modules/@juggle/resize-observer/lib/algorithms/calculateDepthForNode.js","webpack://app/./node_modules/@juggle/resize-observer/lib/algorithms/broadcastActiveObservations.js","webpack://app/./node_modules/@juggle/resize-observer/lib/algorithms/gatherActiveObservationsAtDepth.js","webpack://app/./node_modules/@juggle/resize-observer/lib/utils/process.js","webpack://app/./node_modules/@juggle/resize-observer/lib/algorithms/hasActiveObservations.js","webpack://app/./node_modules/@juggle/resize-observer/lib/algorithms/hasSkippedObservations.js","webpack://app/./node_modules/@juggle/resize-observer/lib/utils/scheduler.js","webpack://app/./node_modules/@juggle/resize-observer/lib/utils/queueResizeObserver.js","webpack://app/./node_modules/@juggle/resize-observer/lib/ResizeObservation.js","webpack://app/./node_modules/@juggle/resize-observer/lib/ResizeObserverDetail.js","webpack://app/./node_modules/@juggle/resize-observer/lib/ResizeObserverController.js","webpack://app/./node_modules/@juggle/resize-observer/lib/ResizeObserver.js","webpack://app/./node_modules/d3-shape/src/curve/monotone.js","webpack://app/./node_modules/@platform-ui/design-system/dist/esm/Chart/styles.js","webpack://app/./node_modules/@platform-ui/design-system/dist/esm/Chart/dateUtils.js","webpack://app/./node_modules/@platform-ui/design-system/node_modules/@mui/material/Pagination/paginationClasses.js","webpack://app/./node_modules/@platform-ui/design-system/node_modules/@mui/material/usePagination/usePagination.js","webpack://app/./node_modules/@platform-ui/design-system/node_modules/@mui/material/PaginationItem/paginationItemClasses.js","webpack://app/./node_modules/@platform-ui/design-system/node_modules/@mui/material/internal/svg-icons/NavigateBefore.js","webpack://app/./node_modules/@platform-ui/design-system/node_modules/@mui/material/internal/svg-icons/NavigateNext.js","webpack://app/./node_modules/@platform-ui/design-system/node_modules/@mui/material/PaginationItem/PaginationItem.js","webpack://app/./node_modules/@platform-ui/design-system/node_modules/@mui/material/Pagination/Pagination.js","webpack://app/./node_modules/@platform-ui/design-system/dist/esm/Chart/components/ToggleSeries.js","webpack://app/./node_modules/@visx/event/esm/getXAndYFromEvent.js","webpack://app/./node_modules/@visx/event/esm/localPointGeneric.js","webpack://app/./node_modules/@visx/event/esm/typeGuards.js","webpack://app/./node_modules/@visx/event/esm/localPoint.js","webpack://app/./node_modules/d3-format/src/formatSpecifier.js","webpack://app/./node_modules/d3-format/src/formatPrefixAuto.js","webpack://app/./node_modules/d3-format/src/formatDecimal.js","webpack://app/./node_modules/d3-format/src/exponent.js","webpack://app/./node_modules/d3-format/src/formatRounded.js","webpack://app/./node_modules/d3-format/src/formatTypes.js","webpack://app/./node_modules/d3-format/src/identity.js","webpack://app/./node_modules/d3-format/src/locale.js","webpack://app/./node_modules/d3-format/src/defaultLocale.js","webpack://app/./node_modules/d3-format/src/formatGroup.js","webpack://app/./node_modules/d3-format/src/formatNumerals.js","webpack://app/./node_modules/d3-format/src/formatTrim.js","webpack://app/./node_modules/d3-scale/src/tickFormat.js","webpack://app/./node_modules/d3-format/src/precisionPrefix.js","webpack://app/./node_modules/d3-format/src/precisionRound.js","webpack://app/./node_modules/d3-format/src/precisionFixed.js","webpack://app/./node_modules/d3-scale/src/linear.js","webpack://app/./node_modules/@visx/scale/esm/scales/linear.js","webpack://app/./node_modules/d3-scale/src/band.js","webpack://app/./node_modules/d3-array/src/range.js","webpack://app/./node_modules/@visx/scale/esm/scales/band.js","webpack://app/./node_modules/@platform-ui/design-system/dist/esm/Chart/hooks.js","webpack://app/./node_modules/@visx/shape/esm/util/getBandwidth.js","webpack://app/./node_modules/@visx/shape/esm/shapes/BarGroupHorizontal.js","webpack://app/./node_modules/@platform-ui/design-system/dist/esm/Chart/components/HorizontalBars.js","webpack://app/./node_modules/@visx/shape/esm/shapes/BarGroup.js","webpack://app/./node_modules/@platform-ui/design-system/dist/esm/Chart/components/VerticalBars.js","webpack://app/./node_modules/d3-shape/src/array.js","webpack://app/./node_modules/d3-shape/src/offset/none.js","webpack://app/./node_modules/d3-shape/src/order/none.js","webpack://app/./node_modules/d3-shape/src/stack.js","webpack://app/./node_modules/@visx/shape/esm/util/accessors.js","webpack://app/./node_modules/d3-shape/src/order/ascending.js","webpack://app/./node_modules/d3-shape/src/order/appearance.js","webpack://app/./node_modules/@visx/shape/esm/util/stackOrder.js","webpack://app/./node_modules/d3-shape/src/order/descending.js","webpack://app/./node_modules/d3-shape/src/order/insideOut.js","webpack://app/./node_modules/d3-shape/src/order/reverse.js","webpack://app/./node_modules/@visx/shape/esm/util/stackOffset.js","webpack://app/./node_modules/d3-shape/src/offset/expand.js","webpack://app/./node_modules/d3-shape/src/offset/diverging.js","webpack://app/./node_modules/d3-shape/src/offset/silhouette.js","webpack://app/./node_modules/d3-shape/src/offset/wiggle.js","webpack://app/./node_modules/@visx/shape/esm/shapes/BarStackHorizontal.js","webpack://app/./node_modules/@platform-ui/design-system/dist/esm/Chart/components/HorizontalStacked.js","webpack://app/./node_modules/@visx/shape/esm/shapes/BarStack.js","webpack://app/./node_modules/@platform-ui/design-system/dist/esm/Chart/components/VerticalStacked.js","webpack://app/./node_modules/@platform-ui/design-system/dist/esm/Chart/index.js","webpack://app/./node_modules/@platform-ui/design-system/dist/esm/Chart/components/Baseline.js","webpack://app/./node_modules/balanced-match/index.js","webpack://app/./node_modules/debounce/index.js","webpack://app/./node_modules/lodash/memoize.js","webpack://app/./node_modules/math-expression-evaluator/src/formula_evaluator.js","webpack://app/./node_modules/math-expression-evaluator/src/lexer.js","webpack://app/./node_modules/math-expression-evaluator/src/math_function.js","webpack://app/./node_modules/math-expression-evaluator/src/postfix.js","webpack://app/./node_modules/math-expression-evaluator/src/postfix_evaluator.js","webpack://app/./node_modules/reduce-css-calc/index.js","webpack://app/./node_modules/reduce-css-calc/node_modules/balanced-match/index.js","webpack://app/./node_modules/reduce-function-call/index.js","webpack://app/./node_modules/tslib/tslib.es6.mjs"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./src/core\"), exports);\n","/* @generated */\n// prettier-ignore\nif (Intl.NumberFormat && typeof Intl.NumberFormat.__addLocaleData === 'function') {\n Intl.NumberFormat.__addLocaleData({\n \"data\": {\n \"currencies\": {\n \"ADP\": {\n \"displayName\": {\n \"one\": \"Andorran peseta\",\n \"other\": \"Andorran pesetas\"\n },\n \"narrow\": \"ADP\",\n \"symbol\": \"ADP\"\n },\n \"AED\": {\n \"displayName\": {\n \"one\": \"UAE dirham\",\n \"other\": \"UAE dirhams\"\n },\n \"narrow\": \"AED\",\n \"symbol\": \"AED\"\n },\n \"AFA\": {\n \"displayName\": {\n \"one\": \"Afghan afghani (1927–2002)\",\n \"other\": \"Afghan afghanis (1927–2002)\"\n },\n \"narrow\": \"AFA\",\n \"symbol\": \"AFA\"\n },\n \"AFN\": {\n \"displayName\": {\n \"one\": \"Afghan Afghani\",\n \"other\": \"Afghan Afghanis\"\n },\n \"narrow\": \"؋\",\n \"symbol\": \"AFN\"\n },\n \"ALK\": {\n \"displayName\": {\n \"one\": \"Albanian lek (1946–1965)\",\n \"other\": \"Albanian lekë (1946–1965)\"\n },\n \"narrow\": \"ALK\",\n \"symbol\": \"ALK\"\n },\n \"ALL\": {\n \"displayName\": {\n \"one\": \"Albanian lek\",\n \"other\": \"Albanian lekë\"\n },\n \"narrow\": \"ALL\",\n \"symbol\": \"ALL\"\n },\n \"AMD\": {\n \"displayName\": {\n \"one\": \"Armenian dram\",\n \"other\": \"Armenian drams\"\n },\n \"narrow\": \"֏\",\n \"symbol\": \"AMD\"\n },\n \"ANG\": {\n \"displayName\": {\n \"one\": \"Netherlands Antillean guilder\",\n \"other\": \"Netherlands Antillean guilders\"\n },\n \"narrow\": \"ANG\",\n \"symbol\": \"ANG\"\n },\n \"AOA\": {\n \"displayName\": {\n \"one\": \"Angolan kwanza\",\n \"other\": \"Angolan kwanzas\"\n },\n \"narrow\": \"Kz\",\n \"symbol\": \"AOA\"\n },\n \"AOK\": {\n \"displayName\": {\n \"one\": \"Angolan kwanza (1977–1991)\",\n \"other\": \"Angolan kwanzas (1977–1991)\"\n },\n \"narrow\": \"AOK\",\n \"symbol\": \"AOK\"\n },\n \"AON\": {\n \"displayName\": {\n \"one\": \"Angolan new kwanza (1990–2000)\",\n \"other\": \"Angolan new kwanzas (1990–2000)\"\n },\n \"narrow\": \"AON\",\n \"symbol\": \"AON\"\n },\n \"AOR\": {\n \"displayName\": {\n \"one\": \"Angolan readjusted kwanza (1995–1999)\",\n \"other\": \"Angolan readjusted kwanzas (1995–1999)\"\n },\n \"narrow\": \"AOR\",\n \"symbol\": \"AOR\"\n },\n \"ARA\": {\n \"displayName\": {\n \"one\": \"Argentine austral\",\n \"other\": \"Argentine australs\"\n },\n \"narrow\": \"ARA\",\n \"symbol\": \"ARA\"\n },\n \"ARL\": {\n \"displayName\": {\n \"one\": \"Argentine peso ley (1970–1983)\",\n \"other\": \"Argentine pesos ley (1970–1983)\"\n },\n \"narrow\": \"ARL\",\n \"symbol\": \"ARL\"\n },\n \"ARM\": {\n \"displayName\": {\n \"one\": \"Argentine peso (1881–1970)\",\n \"other\": \"Argentine pesos (1881–1970)\"\n },\n \"narrow\": \"ARM\",\n \"symbol\": \"ARM\"\n },\n \"ARP\": {\n \"displayName\": {\n \"one\": \"Argentine peso (1983–1985)\",\n \"other\": \"Argentine pesos (1983–1985)\"\n },\n \"narrow\": \"ARP\",\n \"symbol\": \"ARP\"\n },\n \"ARS\": {\n \"displayName\": {\n \"one\": \"Argentine peso\",\n \"other\": \"Argentine pesos\"\n },\n \"narrow\": \"$\",\n \"symbol\": \"ARS\"\n },\n \"ATS\": {\n \"displayName\": {\n \"one\": \"Austrian schilling\",\n \"other\": \"Austrian schillings\"\n },\n \"narrow\": \"ATS\",\n \"symbol\": \"ATS\"\n },\n \"AUD\": {\n \"displayName\": {\n \"one\": \"Australian dollar\",\n \"other\": \"Australian dollars\"\n },\n \"narrow\": \"$\",\n \"symbol\": \"A$\"\n },\n \"AWG\": {\n \"displayName\": {\n \"other\": \"Aruban florin\"\n },\n \"narrow\": \"AWG\",\n \"symbol\": \"AWG\"\n },\n \"AZM\": {\n \"displayName\": {\n \"one\": \"Azerbaijani manat (1993–2006)\",\n \"other\": \"Azerbaijani manats (1993–2006)\"\n },\n \"narrow\": \"AZM\",\n \"symbol\": \"AZM\"\n },\n \"AZN\": {\n \"displayName\": {\n \"one\": \"Azerbaijani manat\",\n \"other\": \"Azerbaijani manats\"\n },\n \"narrow\": \"₼\",\n \"symbol\": \"AZN\"\n },\n \"BAD\": {\n \"displayName\": {\n \"one\": \"Bosnia-Herzegovina dinar (1992–1994)\",\n \"other\": \"Bosnia-Herzegovina dinars (1992–1994)\"\n },\n \"narrow\": \"BAD\",\n \"symbol\": \"BAD\"\n },\n \"BAM\": {\n \"displayName\": {\n \"one\": \"Bosnia-Herzegovina convertible mark\",\n \"other\": \"Bosnia-Herzegovina convertible marks\"\n },\n \"narrow\": \"KM\",\n \"symbol\": \"BAM\"\n },\n \"BAN\": {\n \"displayName\": {\n \"one\": \"Bosnia-Herzegovina new dinar (1994–1997)\",\n \"other\": \"Bosnia-Herzegovina new dinars (1994–1997)\"\n },\n \"narrow\": \"BAN\",\n \"symbol\": \"BAN\"\n },\n \"BBD\": {\n \"displayName\": {\n \"one\": \"Barbadian dollar\",\n \"other\": \"Barbadian dollars\"\n },\n \"narrow\": \"$\",\n \"symbol\": \"BBD\"\n },\n \"BDT\": {\n \"displayName\": {\n \"one\": \"Bangladeshi taka\",\n \"other\": \"Bangladeshi takas\"\n },\n \"narrow\": \"৳\",\n \"symbol\": \"BDT\"\n },\n \"BEC\": {\n \"displayName\": {\n \"one\": \"Belgian franc (convertible)\",\n \"other\": \"Belgian francs (convertible)\"\n },\n \"narrow\": \"BEC\",\n \"symbol\": \"BEC\"\n },\n \"BEF\": {\n \"displayName\": {\n \"one\": \"Belgian franc\",\n \"other\": \"Belgian francs\"\n },\n \"narrow\": \"BEF\",\n \"symbol\": \"BEF\"\n },\n \"BEL\": {\n \"displayName\": {\n \"one\": \"Belgian franc (financial)\",\n \"other\": \"Belgian francs (financial)\"\n },\n \"narrow\": \"BEL\",\n \"symbol\": \"BEL\"\n },\n \"BGL\": {\n \"displayName\": {\n \"one\": \"Bulgarian hard lev\",\n \"other\": \"Bulgarian hard leva\"\n },\n \"narrow\": \"BGL\",\n \"symbol\": \"BGL\"\n },\n \"BGM\": {\n \"displayName\": {\n \"one\": \"Bulgarian socialist lev\",\n \"other\": \"Bulgarian socialist leva\"\n },\n \"narrow\": \"BGM\",\n \"symbol\": \"BGM\"\n },\n \"BGN\": {\n \"displayName\": {\n \"one\": \"Bulgarian lev\",\n \"other\": \"Bulgarian leva\"\n },\n \"narrow\": \"BGN\",\n \"symbol\": \"BGN\"\n },\n \"BGO\": {\n \"displayName\": {\n \"one\": \"Bulgarian lev (1879–1952)\",\n \"other\": \"Bulgarian leva (1879–1952)\"\n },\n \"narrow\": \"BGO\",\n \"symbol\": \"BGO\"\n },\n \"BHD\": {\n \"displayName\": {\n \"one\": \"Bahraini dinar\",\n \"other\": \"Bahraini dinars\"\n },\n \"narrow\": \"BHD\",\n \"symbol\": \"BHD\"\n },\n \"BIF\": {\n \"displayName\": {\n \"one\": \"Burundian franc\",\n \"other\": \"Burundian francs\"\n },\n \"narrow\": \"BIF\",\n \"symbol\": \"BIF\"\n },\n \"BMD\": {\n \"displayName\": {\n \"one\": \"Bermudan dollar\",\n \"other\": \"Bermudan dollars\"\n },\n \"narrow\": \"$\",\n \"symbol\": \"BMD\"\n },\n \"BND\": {\n \"displayName\": {\n \"one\": \"Brunei dollar\",\n \"other\": \"Brunei dollars\"\n },\n \"narrow\": \"$\",\n \"symbol\": \"BND\"\n },\n \"BOB\": {\n \"displayName\": {\n \"one\": \"Bolivian boliviano\",\n \"other\": \"Bolivian bolivianos\"\n },\n \"narrow\": \"Bs\",\n \"symbol\": \"BOB\"\n },\n \"BOL\": {\n \"displayName\": {\n \"one\": \"Bolivian boliviano (1863–1963)\",\n \"other\": \"Bolivian bolivianos (1863–1963)\"\n },\n \"narrow\": \"BOL\",\n \"symbol\": \"BOL\"\n },\n \"BOP\": {\n \"displayName\": {\n \"one\": \"Bolivian peso\",\n \"other\": \"Bolivian pesos\"\n },\n \"narrow\": \"BOP\",\n \"symbol\": \"BOP\"\n },\n \"BOV\": {\n \"displayName\": {\n \"one\": \"Bolivian mvdol\",\n \"other\": \"Bolivian mvdols\"\n },\n \"narrow\": \"BOV\",\n \"symbol\": \"BOV\"\n },\n \"BRB\": {\n \"displayName\": {\n \"one\": \"Brazilian new cruzeiro (1967–1986)\",\n \"other\": \"Brazilian new cruzeiros (1967–1986)\"\n },\n \"narrow\": \"BRB\",\n \"symbol\": \"BRB\"\n },\n \"BRC\": {\n \"displayName\": {\n \"one\": \"Brazilian cruzado (1986–1989)\",\n \"other\": \"Brazilian cruzados (1986–1989)\"\n },\n \"narrow\": \"BRC\",\n \"symbol\": \"BRC\"\n },\n \"BRE\": {\n \"displayName\": {\n \"one\": \"Brazilian cruzeiro (1990–1993)\",\n \"other\": \"Brazilian cruzeiros (1990–1993)\"\n },\n \"narrow\": \"BRE\",\n \"symbol\": \"BRE\"\n },\n \"BRL\": {\n \"displayName\": {\n \"one\": \"Brazilian real\",\n \"other\": \"Brazilian reals\"\n },\n \"narrow\": \"R$\",\n \"symbol\": \"R$\"\n },\n \"BRN\": {\n \"displayName\": {\n \"one\": \"Brazilian new cruzado (1989–1990)\",\n \"other\": \"Brazilian new cruzados (1989–1990)\"\n },\n \"narrow\": \"BRN\",\n \"symbol\": \"BRN\"\n },\n \"BRR\": {\n \"displayName\": {\n \"one\": \"Brazilian cruzeiro (1993–1994)\",\n \"other\": \"Brazilian cruzeiros (1993–1994)\"\n },\n \"narrow\": \"BRR\",\n \"symbol\": \"BRR\"\n },\n \"BRZ\": {\n \"displayName\": {\n \"one\": \"Brazilian cruzeiro (1942–1967)\",\n \"other\": \"Brazilian cruzeiros (1942–1967)\"\n },\n \"narrow\": \"BRZ\",\n \"symbol\": \"BRZ\"\n },\n \"BSD\": {\n \"displayName\": {\n \"one\": \"Bahamian dollar\",\n \"other\": \"Bahamian dollars\"\n },\n \"narrow\": \"$\",\n \"symbol\": \"BSD\"\n },\n \"BTN\": {\n \"displayName\": {\n \"one\": \"Bhutanese ngultrum\",\n \"other\": \"Bhutanese ngultrums\"\n },\n \"narrow\": \"BTN\",\n \"symbol\": \"BTN\"\n },\n \"BUK\": {\n \"displayName\": {\n \"one\": \"Burmese kyat\",\n \"other\": \"Burmese kyats\"\n },\n \"narrow\": \"BUK\",\n \"symbol\": \"BUK\"\n },\n \"BWP\": {\n \"displayName\": {\n \"one\": \"Botswanan pula\",\n \"other\": \"Botswanan pulas\"\n },\n \"narrow\": \"P\",\n \"symbol\": \"BWP\"\n },\n \"BYB\": {\n \"displayName\": {\n \"one\": \"Belarusian ruble (1994–1999)\",\n \"other\": \"Belarusian rubles (1994–1999)\"\n },\n \"narrow\": \"BYB\",\n \"symbol\": \"BYB\"\n },\n \"BYN\": {\n \"displayName\": {\n \"one\": \"Belarusian ruble\",\n \"other\": \"Belarusian rubles\"\n },\n \"narrow\": \"BYN\",\n \"symbol\": \"BYN\"\n },\n \"BYR\": {\n \"displayName\": {\n \"one\": \"Belarusian ruble (2000–2016)\",\n \"other\": \"Belarusian rubles (2000–2016)\"\n },\n \"narrow\": \"BYR\",\n \"symbol\": \"BYR\"\n },\n \"BZD\": {\n \"displayName\": {\n \"one\": \"Belize dollar\",\n \"other\": \"Belize dollars\"\n },\n \"narrow\": \"$\",\n \"symbol\": \"BZD\"\n },\n \"CAD\": {\n \"displayName\": {\n \"one\": \"Canadian dollar\",\n \"other\": \"Canadian dollars\"\n },\n \"narrow\": \"$\",\n \"symbol\": \"CA$\"\n },\n \"CDF\": {\n \"displayName\": {\n \"one\": \"Congolese franc\",\n \"other\": \"Congolese francs\"\n },\n \"narrow\": \"CDF\",\n \"symbol\": \"CDF\"\n },\n \"CHE\": {\n \"displayName\": {\n \"one\": \"WIR euro\",\n \"other\": \"WIR euros\"\n },\n \"narrow\": \"CHE\",\n \"symbol\": \"CHE\"\n },\n \"CHF\": {\n \"displayName\": {\n \"one\": \"Swiss franc\",\n \"other\": \"Swiss francs\"\n },\n \"narrow\": \"CHF\",\n \"symbol\": \"CHF\"\n },\n \"CHW\": {\n \"displayName\": {\n \"one\": \"WIR franc\",\n \"other\": \"WIR francs\"\n },\n \"narrow\": \"CHW\",\n \"symbol\": \"CHW\"\n },\n \"CLE\": {\n \"displayName\": {\n \"one\": \"Chilean escudo\",\n \"other\": \"Chilean escudos\"\n },\n \"narrow\": \"CLE\",\n \"symbol\": \"CLE\"\n },\n \"CLF\": {\n \"displayName\": {\n \"one\": \"Chilean unit of account (UF)\",\n \"other\": \"Chilean units of account (UF)\"\n },\n \"narrow\": \"CLF\",\n \"symbol\": \"CLF\"\n },\n \"CLP\": {\n \"displayName\": {\n \"one\": \"Chilean peso\",\n \"other\": \"Chilean pesos\"\n },\n \"narrow\": \"$\",\n \"symbol\": \"CLP\"\n },\n \"CNH\": {\n \"displayName\": {\n \"other\": \"Chinese yuan (offshore)\"\n },\n \"narrow\": \"CNH\",\n \"symbol\": \"CNH\"\n },\n \"CNX\": {\n \"displayName\": {\n \"one\": \"Chinese People’s Bank dollar\",\n \"other\": \"Chinese People’s Bank dollars\"\n },\n \"narrow\": \"CNX\",\n \"symbol\": \"CNX\"\n },\n \"CNY\": {\n \"displayName\": {\n \"other\": \"Chinese yuan\"\n },\n \"narrow\": \"¥\",\n \"symbol\": \"CN¥\"\n },\n \"COP\": {\n \"displayName\": {\n \"one\": \"Colombian peso\",\n \"other\": \"Colombian pesos\"\n },\n \"narrow\": \"$\",\n \"symbol\": \"COP\"\n },\n \"COU\": {\n \"displayName\": {\n \"one\": \"Colombian real value unit\",\n \"other\": \"Colombian real value units\"\n },\n \"narrow\": \"COU\",\n \"symbol\": \"COU\"\n },\n \"CRC\": {\n \"displayName\": {\n \"one\": \"Costa Rican colón\",\n \"other\": \"Costa Rican colóns\"\n },\n \"narrow\": \"₡\",\n \"symbol\": \"CRC\"\n },\n \"CSD\": {\n \"displayName\": {\n \"one\": \"Serbian dinar (2002–2006)\",\n \"other\": \"Serbian dinars (2002–2006)\"\n },\n \"narrow\": \"CSD\",\n \"symbol\": \"CSD\"\n },\n \"CSK\": {\n \"displayName\": {\n \"one\": \"Czechoslovak hard koruna\",\n \"other\": \"Czechoslovak hard korunas\"\n },\n \"narrow\": \"CSK\",\n \"symbol\": \"CSK\"\n },\n \"CUC\": {\n \"displayName\": {\n \"one\": \"Cuban convertible peso\",\n \"other\": \"Cuban convertible pesos\"\n },\n \"narrow\": \"$\",\n \"symbol\": \"CUC\"\n },\n \"CUP\": {\n \"displayName\": {\n \"one\": \"Cuban peso\",\n \"other\": \"Cuban pesos\"\n },\n \"narrow\": \"$\",\n \"symbol\": \"CUP\"\n },\n \"CVE\": {\n \"displayName\": {\n \"one\": \"Cape Verdean escudo\",\n \"other\": \"Cape Verdean escudos\"\n },\n \"narrow\": \"CVE\",\n \"symbol\": \"CVE\"\n },\n \"CYP\": {\n \"displayName\": {\n \"one\": \"Cypriot pound\",\n \"other\": \"Cypriot pounds\"\n },\n \"narrow\": \"CYP\",\n \"symbol\": \"CYP\"\n },\n \"CZK\": {\n \"displayName\": {\n \"one\": \"Czech koruna\",\n \"other\": \"Czech korunas\"\n },\n \"narrow\": \"Kč\",\n \"symbol\": \"CZK\"\n },\n \"DDM\": {\n \"displayName\": {\n \"one\": \"East German mark\",\n \"other\": \"East German marks\"\n },\n \"narrow\": \"DDM\",\n \"symbol\": \"DDM\"\n },\n \"DEM\": {\n \"displayName\": {\n \"one\": \"German mark\",\n \"other\": \"German marks\"\n },\n \"narrow\": \"DEM\",\n \"symbol\": \"DEM\"\n },\n \"DJF\": {\n \"displayName\": {\n \"one\": \"Djiboutian franc\",\n \"other\": \"Djiboutian francs\"\n },\n \"narrow\": \"DJF\",\n \"symbol\": \"DJF\"\n },\n \"DKK\": {\n \"displayName\": {\n \"one\": \"Danish krone\",\n \"other\": \"Danish kroner\"\n },\n \"narrow\": \"kr\",\n \"symbol\": \"DKK\"\n },\n \"DOP\": {\n \"displayName\": {\n \"one\": \"Dominican peso\",\n \"other\": \"Dominican pesos\"\n },\n \"narrow\": \"$\",\n \"symbol\": \"DOP\"\n },\n \"DZD\": {\n \"displayName\": {\n \"one\": \"Algerian dinar\",\n \"other\": \"Algerian dinars\"\n },\n \"narrow\": \"DZD\",\n \"symbol\": \"DZD\"\n },\n \"ECS\": {\n \"displayName\": {\n \"one\": \"Ecuadorian sucre\",\n \"other\": \"Ecuadorian sucres\"\n },\n \"narrow\": \"ECS\",\n \"symbol\": \"ECS\"\n },\n \"ECV\": {\n \"displayName\": {\n \"one\": \"Ecuadorian unit of constant value\",\n \"other\": \"Ecuadorian units of constant value\"\n },\n \"narrow\": \"ECV\",\n \"symbol\": \"ECV\"\n },\n \"EEK\": {\n \"displayName\": {\n \"one\": \"Estonian kroon\",\n \"other\": \"Estonian kroons\"\n },\n \"narrow\": \"EEK\",\n \"symbol\": \"EEK\"\n },\n \"EGP\": {\n \"displayName\": {\n \"one\": \"Egyptian pound\",\n \"other\": \"Egyptian pounds\"\n },\n \"narrow\": \"E£\",\n \"symbol\": \"EGP\"\n },\n \"ERN\": {\n \"displayName\": {\n \"one\": \"Eritrean nakfa\",\n \"other\": \"Eritrean nakfas\"\n },\n \"narrow\": \"ERN\",\n \"symbol\": \"ERN\"\n },\n \"ESA\": {\n \"displayName\": {\n \"one\": \"Spanish peseta (A account)\",\n \"other\": \"Spanish pesetas (A account)\"\n },\n \"narrow\": \"ESA\",\n \"symbol\": \"ESA\"\n },\n \"ESB\": {\n \"displayName\": {\n \"one\": \"Spanish peseta (convertible account)\",\n \"other\": \"Spanish pesetas (convertible account)\"\n },\n \"narrow\": \"ESB\",\n \"symbol\": \"ESB\"\n },\n \"ESP\": {\n \"displayName\": {\n \"one\": \"Spanish peseta\",\n \"other\": \"Spanish pesetas\"\n },\n \"narrow\": \"₧\",\n \"symbol\": \"ESP\"\n },\n \"ETB\": {\n \"displayName\": {\n \"one\": \"Ethiopian birr\",\n \"other\": \"Ethiopian birrs\"\n },\n \"narrow\": \"ETB\",\n \"symbol\": \"ETB\"\n },\n \"EUR\": {\n \"displayName\": {\n \"one\": \"euro\",\n \"other\": \"euros\"\n },\n \"narrow\": \"€\",\n \"symbol\": \"€\"\n },\n \"FIM\": {\n \"displayName\": {\n \"one\": \"Finnish markka\",\n \"other\": \"Finnish markkas\"\n },\n \"narrow\": \"FIM\",\n \"symbol\": \"FIM\"\n },\n \"FJD\": {\n \"displayName\": {\n \"one\": \"Fijian dollar\",\n \"other\": \"Fijian dollars\"\n },\n \"narrow\": \"$\",\n \"symbol\": \"FJD\"\n },\n \"FKP\": {\n \"displayName\": {\n \"one\": \"Falkland Islands pound\",\n \"other\": \"Falkland Islands pounds\"\n },\n \"narrow\": \"£\",\n \"symbol\": \"FKP\"\n },\n \"FRF\": {\n \"displayName\": {\n \"one\": \"French franc\",\n \"other\": \"French francs\"\n },\n \"narrow\": \"FRF\",\n \"symbol\": \"FRF\"\n },\n \"GBP\": {\n \"displayName\": {\n \"one\": \"British pound\",\n \"other\": \"British pounds\"\n },\n \"narrow\": \"£\",\n \"symbol\": \"£\"\n },\n \"GEK\": {\n \"displayName\": {\n \"one\": \"Georgian kupon larit\",\n \"other\": \"Georgian kupon larits\"\n },\n \"narrow\": \"GEK\",\n \"symbol\": \"GEK\"\n },\n \"GEL\": {\n \"displayName\": {\n \"one\": \"Georgian lari\",\n \"other\": \"Georgian laris\"\n },\n \"narrow\": \"₾\",\n \"symbol\": \"GEL\"\n },\n \"GHC\": {\n \"displayName\": {\n \"one\": \"Ghanaian cedi (1979–2007)\",\n \"other\": \"Ghanaian cedis (1979–2007)\"\n },\n \"narrow\": \"GHC\",\n \"symbol\": \"GHC\"\n },\n \"GHS\": {\n \"displayName\": {\n \"one\": \"Ghanaian cedi\",\n \"other\": \"Ghanaian cedis\"\n },\n \"narrow\": \"GH₵\",\n \"symbol\": \"GHS\"\n },\n \"GIP\": {\n \"displayName\": {\n \"one\": \"Gibraltar pound\",\n \"other\": \"Gibraltar pounds\"\n },\n \"narrow\": \"£\",\n \"symbol\": \"GIP\"\n },\n \"GMD\": {\n \"displayName\": {\n \"one\": \"Gambian dalasi\",\n \"other\": \"Gambian dalasis\"\n },\n \"narrow\": \"GMD\",\n \"symbol\": \"GMD\"\n },\n \"GNF\": {\n \"displayName\": {\n \"one\": \"Guinean franc\",\n \"other\": \"Guinean francs\"\n },\n \"narrow\": \"FG\",\n \"symbol\": \"GNF\"\n },\n \"GNS\": {\n \"displayName\": {\n \"one\": \"Guinean syli\",\n \"other\": \"Guinean sylis\"\n },\n \"narrow\": \"GNS\",\n \"symbol\": \"GNS\"\n },\n \"GQE\": {\n \"displayName\": {\n \"other\": \"Equatorial Guinean ekwele\"\n },\n \"narrow\": \"GQE\",\n \"symbol\": \"GQE\"\n },\n \"GRD\": {\n \"displayName\": {\n \"one\": \"Greek drachma\",\n \"other\": \"Greek drachmas\"\n },\n \"narrow\": \"GRD\",\n \"symbol\": \"GRD\"\n },\n \"GTQ\": {\n \"displayName\": {\n \"one\": \"Guatemalan quetzal\",\n \"other\": \"Guatemalan quetzals\"\n },\n \"narrow\": \"Q\",\n \"symbol\": \"GTQ\"\n },\n \"GWE\": {\n \"displayName\": {\n \"one\": \"Portuguese Guinea escudo\",\n \"other\": \"Portuguese Guinea escudos\"\n },\n \"narrow\": \"GWE\",\n \"symbol\": \"GWE\"\n },\n \"GWP\": {\n \"displayName\": {\n \"one\": \"Guinea-Bissau peso\",\n \"other\": \"Guinea-Bissau pesos\"\n },\n \"narrow\": \"GWP\",\n \"symbol\": \"GWP\"\n },\n \"GYD\": {\n \"displayName\": {\n \"one\": \"Guyanaese dollar\",\n \"other\": \"Guyanaese dollars\"\n },\n \"narrow\": \"$\",\n \"symbol\": \"GYD\"\n },\n \"HKD\": {\n \"displayName\": {\n \"one\": \"Hong Kong dollar\",\n \"other\": \"Hong Kong dollars\"\n },\n \"narrow\": \"$\",\n \"symbol\": \"HK$\"\n },\n \"HNL\": {\n \"displayName\": {\n \"one\": \"Honduran lempira\",\n \"other\": \"Honduran lempiras\"\n },\n \"narrow\": \"L\",\n \"symbol\": \"HNL\"\n },\n \"HRD\": {\n \"displayName\": {\n \"one\": \"Croatian dinar\",\n \"other\": \"Croatian dinars\"\n },\n \"narrow\": \"HRD\",\n \"symbol\": \"HRD\"\n },\n \"HRK\": {\n \"displayName\": {\n \"one\": \"Croatian kuna\",\n \"other\": \"Croatian kunas\"\n },\n \"narrow\": \"kn\",\n \"symbol\": \"HRK\"\n },\n \"HTG\": {\n \"displayName\": {\n \"one\": \"Haitian gourde\",\n \"other\": \"Haitian gourdes\"\n },\n \"narrow\": \"HTG\",\n \"symbol\": \"HTG\"\n },\n \"HUF\": {\n \"displayName\": {\n \"one\": \"Hungarian forint\",\n \"other\": \"Hungarian forints\"\n },\n \"narrow\": \"Ft\",\n \"symbol\": \"HUF\"\n },\n \"IDR\": {\n \"displayName\": {\n \"one\": \"Indonesian rupiah\",\n \"other\": \"Indonesian rupiahs\"\n },\n \"narrow\": \"Rp\",\n \"symbol\": \"IDR\"\n },\n \"IEP\": {\n \"displayName\": {\n \"one\": \"Irish pound\",\n \"other\": \"Irish pounds\"\n },\n \"narrow\": \"IEP\",\n \"symbol\": \"IEP\"\n },\n \"ILP\": {\n \"displayName\": {\n \"one\": \"Israeli pound\",\n \"other\": \"Israeli pounds\"\n },\n \"narrow\": \"ILP\",\n \"symbol\": \"ILP\"\n },\n \"ILR\": {\n \"displayName\": {\n \"one\": \"Israeli shekel (1980–1985)\",\n \"other\": \"Israeli shekels (1980–1985)\"\n },\n \"narrow\": \"ILR\",\n \"symbol\": \"ILR\"\n },\n \"ILS\": {\n \"displayName\": {\n \"one\": \"Israeli new shekel\",\n \"other\": \"Israeli new shekels\"\n },\n \"narrow\": \"₪\",\n \"symbol\": \"₪\"\n },\n \"INR\": {\n \"displayName\": {\n \"one\": \"Indian rupee\",\n \"other\": \"Indian rupees\"\n },\n \"narrow\": \"₹\",\n \"symbol\": \"₹\"\n },\n \"IQD\": {\n \"displayName\": {\n \"one\": \"Iraqi dinar\",\n \"other\": \"Iraqi dinars\"\n },\n \"narrow\": \"IQD\",\n \"symbol\": \"IQD\"\n },\n \"IRR\": {\n \"displayName\": {\n \"one\": \"Iranian rial\",\n \"other\": \"Iranian rials\"\n },\n \"narrow\": \"IRR\",\n \"symbol\": \"IRR\"\n },\n \"ISJ\": {\n \"displayName\": {\n \"one\": \"Icelandic króna (1918–1981)\",\n \"other\": \"Icelandic krónur (1918–1981)\"\n },\n \"narrow\": \"ISJ\",\n \"symbol\": \"ISJ\"\n },\n \"ISK\": {\n \"displayName\": {\n \"one\": \"Icelandic króna\",\n \"other\": \"Icelandic krónur\"\n },\n \"narrow\": \"kr\",\n \"symbol\": \"ISK\"\n },\n \"ITL\": {\n \"displayName\": {\n \"one\": \"Italian lira\",\n \"other\": \"Italian liras\"\n },\n \"narrow\": \"ITL\",\n \"symbol\": \"ITL\"\n },\n \"JMD\": {\n \"displayName\": {\n \"one\": \"Jamaican dollar\",\n \"other\": \"Jamaican dollars\"\n },\n \"narrow\": \"$\",\n \"symbol\": \"JMD\"\n },\n \"JOD\": {\n \"displayName\": {\n \"one\": \"Jordanian dinar\",\n \"other\": \"Jordanian dinars\"\n },\n \"narrow\": \"JOD\",\n \"symbol\": \"JOD\"\n },\n \"JPY\": {\n \"displayName\": {\n \"other\": \"Japanese yen\"\n },\n \"narrow\": \"¥\",\n \"symbol\": \"¥\"\n },\n \"KES\": {\n \"displayName\": {\n \"one\": \"Kenyan shilling\",\n \"other\": \"Kenyan shillings\"\n },\n \"narrow\": \"KES\",\n \"symbol\": \"KES\"\n },\n \"KGS\": {\n \"displayName\": {\n \"one\": \"Kyrgystani som\",\n \"other\": \"Kyrgystani soms\"\n },\n \"narrow\": \"KGS\",\n \"symbol\": \"KGS\"\n },\n \"KHR\": {\n \"displayName\": {\n \"one\": \"Cambodian riel\",\n \"other\": \"Cambodian riels\"\n },\n \"narrow\": \"៛\",\n \"symbol\": \"KHR\"\n },\n \"KMF\": {\n \"displayName\": {\n \"one\": \"Comorian franc\",\n \"other\": \"Comorian francs\"\n },\n \"narrow\": \"CF\",\n \"symbol\": \"KMF\"\n },\n \"KPW\": {\n \"displayName\": {\n \"other\": \"North Korean won\"\n },\n \"narrow\": \"₩\",\n \"symbol\": \"KPW\"\n },\n \"KRH\": {\n \"displayName\": {\n \"other\": \"South Korean hwan (1953–1962)\"\n },\n \"narrow\": \"KRH\",\n \"symbol\": \"KRH\"\n },\n \"KRO\": {\n \"displayName\": {\n \"other\": \"South Korean won (1945–1953)\"\n },\n \"narrow\": \"KRO\",\n \"symbol\": \"KRO\"\n },\n \"KRW\": {\n \"displayName\": {\n \"other\": \"South Korean won\"\n },\n \"narrow\": \"₩\",\n \"symbol\": \"₩\"\n },\n \"KWD\": {\n \"displayName\": {\n \"one\": \"Kuwaiti dinar\",\n \"other\": \"Kuwaiti dinars\"\n },\n \"narrow\": \"KWD\",\n \"symbol\": \"KWD\"\n },\n \"KYD\": {\n \"displayName\": {\n \"one\": \"Cayman Islands dollar\",\n \"other\": \"Cayman Islands dollars\"\n },\n \"narrow\": \"$\",\n \"symbol\": \"KYD\"\n },\n \"KZT\": {\n \"displayName\": {\n \"one\": \"Kazakhstani tenge\",\n \"other\": \"Kazakhstani tenges\"\n },\n \"narrow\": \"₸\",\n \"symbol\": \"KZT\"\n },\n \"LAK\": {\n \"displayName\": {\n \"one\": \"Laotian kip\",\n \"other\": \"Laotian kips\"\n },\n \"narrow\": \"₭\",\n \"symbol\": \"LAK\"\n },\n \"LBP\": {\n \"displayName\": {\n \"one\": \"Lebanese pound\",\n \"other\": \"Lebanese pounds\"\n },\n \"narrow\": \"L£\",\n \"symbol\": \"LBP\"\n },\n \"LKR\": {\n \"displayName\": {\n \"one\": \"Sri Lankan rupee\",\n \"other\": \"Sri Lankan rupees\"\n },\n \"narrow\": \"Rs\",\n \"symbol\": \"LKR\"\n },\n \"LRD\": {\n \"displayName\": {\n \"one\": \"Liberian dollar\",\n \"other\": \"Liberian dollars\"\n },\n \"narrow\": \"$\",\n \"symbol\": \"LRD\"\n },\n \"LSL\": {\n \"displayName\": {\n \"one\": \"Lesotho loti\",\n \"other\": \"Lesotho lotis\"\n },\n \"narrow\": \"LSL\",\n \"symbol\": \"LSL\"\n },\n \"LTL\": {\n \"displayName\": {\n \"one\": \"Lithuanian litas\",\n \"other\": \"Lithuanian litai\"\n },\n \"narrow\": \"Lt\",\n \"symbol\": \"LTL\"\n },\n \"LTT\": {\n \"displayName\": {\n \"one\": \"Lithuanian talonas\",\n \"other\": \"Lithuanian talonases\"\n },\n \"narrow\": \"LTT\",\n \"symbol\": \"LTT\"\n },\n \"LUC\": {\n \"displayName\": {\n \"one\": \"Luxembourgian convertible franc\",\n \"other\": \"Luxembourgian convertible francs\"\n },\n \"narrow\": \"LUC\",\n \"symbol\": \"LUC\"\n },\n \"LUF\": {\n \"displayName\": {\n \"one\": \"Luxembourgian franc\",\n \"other\": \"Luxembourgian francs\"\n },\n \"narrow\": \"LUF\",\n \"symbol\": \"LUF\"\n },\n \"LUL\": {\n \"displayName\": {\n \"one\": \"Luxembourg financial franc\",\n \"other\": \"Luxembourg financial francs\"\n },\n \"narrow\": \"LUL\",\n \"symbol\": \"LUL\"\n },\n \"LVL\": {\n \"displayName\": {\n \"one\": \"Latvian lats\",\n \"other\": \"Latvian lati\"\n },\n \"narrow\": \"Ls\",\n \"symbol\": \"LVL\"\n },\n \"LVR\": {\n \"displayName\": {\n \"one\": \"Latvian ruble\",\n \"other\": \"Latvian rubles\"\n },\n \"narrow\": \"LVR\",\n \"symbol\": \"LVR\"\n },\n \"LYD\": {\n \"displayName\": {\n \"one\": \"Libyan dinar\",\n \"other\": \"Libyan dinars\"\n },\n \"narrow\": \"LYD\",\n \"symbol\": \"LYD\"\n },\n \"MAD\": {\n \"displayName\": {\n \"one\": \"Moroccan dirham\",\n \"other\": \"Moroccan dirhams\"\n },\n \"narrow\": \"MAD\",\n \"symbol\": \"MAD\"\n },\n \"MAF\": {\n \"displayName\": {\n \"one\": \"Moroccan franc\",\n \"other\": \"Moroccan francs\"\n },\n \"narrow\": \"MAF\",\n \"symbol\": \"MAF\"\n },\n \"MCF\": {\n \"displayName\": {\n \"one\": \"Monegasque franc\",\n \"other\": \"Monegasque francs\"\n },\n \"narrow\": \"MCF\",\n \"symbol\": \"MCF\"\n },\n \"MDC\": {\n \"displayName\": {\n \"other\": \"Moldovan cupon\"\n },\n \"narrow\": \"MDC\",\n \"symbol\": \"MDC\"\n },\n \"MDL\": {\n \"displayName\": {\n \"one\": \"Moldovan leu\",\n \"other\": \"Moldovan lei\"\n },\n \"narrow\": \"MDL\",\n \"symbol\": \"MDL\"\n },\n \"MGA\": {\n \"displayName\": {\n \"one\": \"Malagasy ariary\",\n \"other\": \"Malagasy ariaries\"\n },\n \"narrow\": \"Ar\",\n \"symbol\": \"MGA\"\n },\n \"MGF\": {\n \"displayName\": {\n \"one\": \"Malagasy franc\",\n \"other\": \"Malagasy francs\"\n },\n \"narrow\": \"MGF\",\n \"symbol\": \"MGF\"\n },\n \"MKD\": {\n \"displayName\": {\n \"one\": \"Macedonian denar\",\n \"other\": \"Macedonian denari\"\n },\n \"narrow\": \"MKD\",\n \"symbol\": \"MKD\"\n },\n \"MKN\": {\n \"displayName\": {\n \"one\": \"Macedonian denar (1992–1993)\",\n \"other\": \"Macedonian denari (1992–1993)\"\n },\n \"narrow\": \"MKN\",\n \"symbol\": \"MKN\"\n },\n \"MLF\": {\n \"displayName\": {\n \"one\": \"Malian franc\",\n \"other\": \"Malian francs\"\n },\n \"narrow\": \"MLF\",\n \"symbol\": \"MLF\"\n },\n \"MMK\": {\n \"displayName\": {\n \"one\": \"Myanmar kyat\",\n \"other\": \"Myanmar kyats\"\n },\n \"narrow\": \"K\",\n \"symbol\": \"MMK\"\n },\n \"MNT\": {\n \"displayName\": {\n \"one\": \"Mongolian tugrik\",\n \"other\": \"Mongolian tugriks\"\n },\n \"narrow\": \"₮\",\n \"symbol\": \"MNT\"\n },\n \"MOP\": {\n \"displayName\": {\n \"one\": \"Macanese pataca\",\n \"other\": \"Macanese patacas\"\n },\n \"narrow\": \"MOP\",\n \"symbol\": \"MOP\"\n },\n \"MRO\": {\n \"displayName\": {\n \"one\": \"Mauritanian ouguiya (1973–2017)\",\n \"other\": \"Mauritanian ouguiyas (1973–2017)\"\n },\n \"narrow\": \"MRO\",\n \"symbol\": \"MRO\"\n },\n \"MRU\": {\n \"displayName\": {\n \"one\": \"Mauritanian ouguiya\",\n \"other\": \"Mauritanian ouguiyas\"\n },\n \"narrow\": \"MRU\",\n \"symbol\": \"MRU\"\n },\n \"MTL\": {\n \"displayName\": {\n \"other\": \"Maltese lira\"\n },\n \"narrow\": \"MTL\",\n \"symbol\": \"MTL\"\n },\n \"MTP\": {\n \"displayName\": {\n \"one\": \"Maltese pound\",\n \"other\": \"Maltese pounds\"\n },\n \"narrow\": \"MTP\",\n \"symbol\": \"MTP\"\n },\n \"MUR\": {\n \"displayName\": {\n \"one\": \"Mauritian rupee\",\n \"other\": \"Mauritian rupees\"\n },\n \"narrow\": \"Rs\",\n \"symbol\": \"MUR\"\n },\n \"MVP\": {\n \"displayName\": {\n \"one\": \"Maldivian rupee (1947–1981)\",\n \"other\": \"Maldivian rupees (1947–1981)\"\n },\n \"narrow\": \"MVP\",\n \"symbol\": \"MVP\"\n },\n \"MVR\": {\n \"displayName\": {\n \"one\": \"Maldivian rufiyaa\",\n \"other\": \"Maldivian rufiyaas\"\n },\n \"narrow\": \"MVR\",\n \"symbol\": \"MVR\"\n },\n \"MWK\": {\n \"displayName\": {\n \"one\": \"Malawian kwacha\",\n \"other\": \"Malawian kwachas\"\n },\n \"narrow\": \"MWK\",\n \"symbol\": \"MWK\"\n },\n \"MXN\": {\n \"displayName\": {\n \"one\": \"Mexican peso\",\n \"other\": \"Mexican pesos\"\n },\n \"narrow\": \"$\",\n \"symbol\": \"MX$\"\n },\n \"MXP\": {\n \"displayName\": {\n \"one\": \"Mexican silver peso (1861–1992)\",\n \"other\": \"Mexican silver pesos (1861–1992)\"\n },\n \"narrow\": \"MXP\",\n \"symbol\": \"MXP\"\n },\n \"MXV\": {\n \"displayName\": {\n \"one\": \"Mexican investment unit\",\n \"other\": \"Mexican investment units\"\n },\n \"narrow\": \"MXV\",\n \"symbol\": \"MXV\"\n },\n \"MYR\": {\n \"displayName\": {\n \"one\": \"Malaysian ringgit\",\n \"other\": \"Malaysian ringgits\"\n },\n \"narrow\": \"RM\",\n \"symbol\": \"MYR\"\n },\n \"MZE\": {\n \"displayName\": {\n \"one\": \"Mozambican escudo\",\n \"other\": \"Mozambican escudos\"\n },\n \"narrow\": \"MZE\",\n \"symbol\": \"MZE\"\n },\n \"MZM\": {\n \"displayName\": {\n \"one\": \"Mozambican metical (1980–2006)\",\n \"other\": \"Mozambican meticals (1980–2006)\"\n },\n \"narrow\": \"MZM\",\n \"symbol\": \"MZM\"\n },\n \"MZN\": {\n \"displayName\": {\n \"one\": \"Mozambican metical\",\n \"other\": \"Mozambican meticals\"\n },\n \"narrow\": \"MZN\",\n \"symbol\": \"MZN\"\n },\n \"NAD\": {\n \"displayName\": {\n \"one\": \"Namibian dollar\",\n \"other\": \"Namibian dollars\"\n },\n \"narrow\": \"$\",\n \"symbol\": \"NAD\"\n },\n \"NGN\": {\n \"displayName\": {\n \"one\": \"Nigerian naira\",\n \"other\": \"Nigerian nairas\"\n },\n \"narrow\": \"₦\",\n \"symbol\": \"NGN\"\n },\n \"NIC\": {\n \"displayName\": {\n \"one\": \"Nicaraguan córdoba (1988–1991)\",\n \"other\": \"Nicaraguan córdobas (1988–1991)\"\n },\n \"narrow\": \"NIC\",\n \"symbol\": \"NIC\"\n },\n \"NIO\": {\n \"displayName\": {\n \"one\": \"Nicaraguan córdoba\",\n \"other\": \"Nicaraguan córdobas\"\n },\n \"narrow\": \"C$\",\n \"symbol\": \"NIO\"\n },\n \"NLG\": {\n \"displayName\": {\n \"one\": \"Dutch guilder\",\n \"other\": \"Dutch guilders\"\n },\n \"narrow\": \"NLG\",\n \"symbol\": \"NLG\"\n },\n \"NOK\": {\n \"displayName\": {\n \"one\": \"Norwegian krone\",\n \"other\": \"Norwegian kroner\"\n },\n \"narrow\": \"kr\",\n \"symbol\": \"NOK\"\n },\n \"NPR\": {\n \"displayName\": {\n \"one\": \"Nepalese rupee\",\n \"other\": \"Nepalese rupees\"\n },\n \"narrow\": \"Rs\",\n \"symbol\": \"NPR\"\n },\n \"NZD\": {\n \"displayName\": {\n \"one\": \"New Zealand dollar\",\n \"other\": \"New Zealand dollars\"\n },\n \"narrow\": \"$\",\n \"symbol\": \"NZ$\"\n },\n \"OMR\": {\n \"displayName\": {\n \"one\": \"Omani rial\",\n \"other\": \"Omani rials\"\n },\n \"narrow\": \"OMR\",\n \"symbol\": \"OMR\"\n },\n \"PAB\": {\n \"displayName\": {\n \"one\": \"Panamanian balboa\",\n \"other\": \"Panamanian balboas\"\n },\n \"narrow\": \"PAB\",\n \"symbol\": \"PAB\"\n },\n \"PEI\": {\n \"displayName\": {\n \"one\": \"Peruvian inti\",\n \"other\": \"Peruvian intis\"\n },\n \"narrow\": \"PEI\",\n \"symbol\": \"PEI\"\n },\n \"PEN\": {\n \"displayName\": {\n \"one\": \"Peruvian sol\",\n \"other\": \"Peruvian soles\"\n },\n \"narrow\": \"PEN\",\n \"symbol\": \"PEN\"\n },\n \"PES\": {\n \"displayName\": {\n \"one\": \"Peruvian sol (1863–1965)\",\n \"other\": \"Peruvian soles (1863–1965)\"\n },\n \"narrow\": \"PES\",\n \"symbol\": \"PES\"\n },\n \"PGK\": {\n \"displayName\": {\n \"other\": \"Papua New Guinean kina\"\n },\n \"narrow\": \"PGK\",\n \"symbol\": \"PGK\"\n },\n \"PHP\": {\n \"displayName\": {\n \"one\": \"Philippine peso\",\n \"other\": \"Philippine pesos\"\n },\n \"narrow\": \"₱\",\n \"symbol\": \"₱\"\n },\n \"PKR\": {\n \"displayName\": {\n \"one\": \"Pakistani rupee\",\n \"other\": \"Pakistani rupees\"\n },\n \"narrow\": \"Rs\",\n \"symbol\": \"PKR\"\n },\n \"PLN\": {\n \"displayName\": {\n \"one\": \"Polish zloty\",\n \"other\": \"Polish zlotys\"\n },\n \"narrow\": \"zł\",\n \"symbol\": \"PLN\"\n },\n \"PLZ\": {\n \"displayName\": {\n \"one\": \"Polish zloty (PLZ)\",\n \"other\": \"Polish zlotys (PLZ)\"\n },\n \"narrow\": \"PLZ\",\n \"symbol\": \"PLZ\"\n },\n \"PTE\": {\n \"displayName\": {\n \"one\": \"Portuguese escudo\",\n \"other\": \"Portuguese escudos\"\n },\n \"narrow\": \"PTE\",\n \"symbol\": \"PTE\"\n },\n \"PYG\": {\n \"displayName\": {\n \"one\": \"Paraguayan guarani\",\n \"other\": \"Paraguayan guaranis\"\n },\n \"narrow\": \"₲\",\n \"symbol\": \"PYG\"\n },\n \"QAR\": {\n \"displayName\": {\n \"one\": \"Qatari riyal\",\n \"other\": \"Qatari riyals\"\n },\n \"narrow\": \"QAR\",\n \"symbol\": \"QAR\"\n },\n \"RHD\": {\n \"displayName\": {\n \"one\": \"Rhodesian dollar\",\n \"other\": \"Rhodesian dollars\"\n },\n \"narrow\": \"RHD\",\n \"symbol\": \"RHD\"\n },\n \"ROL\": {\n \"displayName\": {\n \"one\": \"Romanian leu (1952–2006)\",\n \"other\": \"Romanian Lei (1952–2006)\"\n },\n \"narrow\": \"ROL\",\n \"symbol\": \"ROL\"\n },\n \"RON\": {\n \"displayName\": {\n \"one\": \"Romanian leu\",\n \"other\": \"Romanian lei\"\n },\n \"narrow\": \"lei\",\n \"symbol\": \"RON\"\n },\n \"RSD\": {\n \"displayName\": {\n \"one\": \"Serbian dinar\",\n \"other\": \"Serbian dinars\"\n },\n \"narrow\": \"RSD\",\n \"symbol\": \"RSD\"\n },\n \"RUB\": {\n \"displayName\": {\n \"one\": \"Russian ruble\",\n \"other\": \"Russian rubles\"\n },\n \"narrow\": \"₽\",\n \"symbol\": \"RUB\"\n },\n \"RUR\": {\n \"displayName\": {\n \"one\": \"Russian ruble (1991–1998)\",\n \"other\": \"Russian rubles (1991–1998)\"\n },\n \"narrow\": \"RUR\",\n \"symbol\": \"RUR\"\n },\n \"RWF\": {\n \"displayName\": {\n \"one\": \"Rwandan franc\",\n \"other\": \"Rwandan francs\"\n },\n \"narrow\": \"RF\",\n \"symbol\": \"RWF\"\n },\n \"SAR\": {\n \"displayName\": {\n \"one\": \"Saudi riyal\",\n \"other\": \"Saudi riyals\"\n },\n \"narrow\": \"SAR\",\n \"symbol\": \"SAR\"\n },\n \"SBD\": {\n \"displayName\": {\n \"one\": \"Solomon Islands dollar\",\n \"other\": \"Solomon Islands dollars\"\n },\n \"narrow\": \"$\",\n \"symbol\": \"SBD\"\n },\n \"SCR\": {\n \"displayName\": {\n \"one\": \"Seychellois rupee\",\n \"other\": \"Seychellois rupees\"\n },\n \"narrow\": \"SCR\",\n \"symbol\": \"SCR\"\n },\n \"SDD\": {\n \"displayName\": {\n \"one\": \"Sudanese dinar (1992–2007)\",\n \"other\": \"Sudanese dinars (1992–2007)\"\n },\n \"narrow\": \"SDD\",\n \"symbol\": \"SDD\"\n },\n \"SDG\": {\n \"displayName\": {\n \"one\": \"Sudanese pound\",\n \"other\": \"Sudanese pounds\"\n },\n \"narrow\": \"SDG\",\n \"symbol\": \"SDG\"\n },\n \"SDP\": {\n \"displayName\": {\n \"one\": \"Sudanese pound (1957–1998)\",\n \"other\": \"Sudanese pounds (1957–1998)\"\n },\n \"narrow\": \"SDP\",\n \"symbol\": \"SDP\"\n },\n \"SEK\": {\n \"displayName\": {\n \"one\": \"Swedish krona\",\n \"other\": \"Swedish kronor\"\n },\n \"narrow\": \"kr\",\n \"symbol\": \"SEK\"\n },\n \"SGD\": {\n \"displayName\": {\n \"one\": \"Singapore dollar\",\n \"other\": \"Singapore dollars\"\n },\n \"narrow\": \"$\",\n \"symbol\": \"SGD\"\n },\n \"SHP\": {\n \"displayName\": {\n \"one\": \"St. Helena pound\",\n \"other\": \"St. Helena pounds\"\n },\n \"narrow\": \"£\",\n \"symbol\": \"SHP\"\n },\n \"SIT\": {\n \"displayName\": {\n \"one\": \"Slovenian tolar\",\n \"other\": \"Slovenian tolars\"\n },\n \"narrow\": \"SIT\",\n \"symbol\": \"SIT\"\n },\n \"SKK\": {\n \"displayName\": {\n \"one\": \"Slovak koruna\",\n \"other\": \"Slovak korunas\"\n },\n \"narrow\": \"SKK\",\n \"symbol\": \"SKK\"\n },\n \"SLE\": {\n \"displayName\": {\n \"one\": \"Sierra Leonean leone\",\n \"other\": \"Sierra Leonean leones\"\n },\n \"narrow\": \"SLE\",\n \"symbol\": \"SLE\"\n },\n \"SLL\": {\n \"displayName\": {\n \"one\": \"Sierra Leonean leone (1964—2022)\",\n \"other\": \"Sierra Leonean leones (1964—2022)\"\n },\n \"narrow\": \"SLL\",\n \"symbol\": \"SLL\"\n },\n \"SOS\": {\n \"displayName\": {\n \"one\": \"Somali shilling\",\n \"other\": \"Somali shillings\"\n },\n \"narrow\": \"SOS\",\n \"symbol\": \"SOS\"\n },\n \"SRD\": {\n \"displayName\": {\n \"one\": \"Surinamese dollar\",\n \"other\": \"Surinamese dollars\"\n },\n \"narrow\": \"$\",\n \"symbol\": \"SRD\"\n },\n \"SRG\": {\n \"displayName\": {\n \"one\": \"Surinamese guilder\",\n \"other\": \"Surinamese guilders\"\n },\n \"narrow\": \"SRG\",\n \"symbol\": \"SRG\"\n },\n \"SSP\": {\n \"displayName\": {\n \"one\": \"South Sudanese pound\",\n \"other\": \"South Sudanese pounds\"\n },\n \"narrow\": \"£\",\n \"symbol\": \"SSP\"\n },\n \"STD\": {\n \"displayName\": {\n \"one\": \"São Tomé & Príncipe dobra (1977–2017)\",\n \"other\": \"São Tomé & Príncipe dobras (1977–2017)\"\n },\n \"narrow\": \"STD\",\n \"symbol\": \"STD\"\n },\n \"STN\": {\n \"displayName\": {\n \"one\": \"São Tomé & Príncipe dobra\",\n \"other\": \"São Tomé & Príncipe dobras\"\n },\n \"narrow\": \"Db\",\n \"symbol\": \"STN\"\n },\n \"SUR\": {\n \"displayName\": {\n \"one\": \"Soviet rouble\",\n \"other\": \"Soviet roubles\"\n },\n \"narrow\": \"SUR\",\n \"symbol\": \"SUR\"\n },\n \"SVC\": {\n \"displayName\": {\n \"one\": \"Salvadoran colón\",\n \"other\": \"Salvadoran colones\"\n },\n \"narrow\": \"SVC\",\n \"symbol\": \"SVC\"\n },\n \"SYP\": {\n \"displayName\": {\n \"one\": \"Syrian pound\",\n \"other\": \"Syrian pounds\"\n },\n \"narrow\": \"£\",\n \"symbol\": \"SYP\"\n },\n \"SZL\": {\n \"displayName\": {\n \"one\": \"Swazi lilangeni\",\n \"other\": \"Swazi emalangeni\"\n },\n \"narrow\": \"SZL\",\n \"symbol\": \"SZL\"\n },\n \"THB\": {\n \"displayName\": {\n \"other\": \"Thai baht\"\n },\n \"narrow\": \"฿\",\n \"symbol\": \"THB\"\n },\n \"TJR\": {\n \"displayName\": {\n \"one\": \"Tajikistani ruble\",\n \"other\": \"Tajikistani rubles\"\n },\n \"narrow\": \"TJR\",\n \"symbol\": \"TJR\"\n },\n \"TJS\": {\n \"displayName\": {\n \"one\": \"Tajikistani somoni\",\n \"other\": \"Tajikistani somonis\"\n },\n \"narrow\": \"TJS\",\n \"symbol\": \"TJS\"\n },\n \"TMM\": {\n \"displayName\": {\n \"other\": \"Turkmenistani manat (1993–2009)\"\n },\n \"narrow\": \"TMM\",\n \"symbol\": \"TMM\"\n },\n \"TMT\": {\n \"displayName\": {\n \"other\": \"Turkmenistani manat\"\n },\n \"narrow\": \"TMT\",\n \"symbol\": \"TMT\"\n },\n \"TND\": {\n \"displayName\": {\n \"one\": \"Tunisian dinar\",\n \"other\": \"Tunisian dinars\"\n },\n \"narrow\": \"TND\",\n \"symbol\": \"TND\"\n },\n \"TOP\": {\n \"displayName\": {\n \"other\": \"Tongan paʻanga\"\n },\n \"narrow\": \"T$\",\n \"symbol\": \"TOP\"\n },\n \"TPE\": {\n \"displayName\": {\n \"one\": \"Timorese escudo\",\n \"other\": \"Timorese escudos\"\n },\n \"narrow\": \"TPE\",\n \"symbol\": \"TPE\"\n },\n \"TRL\": {\n \"displayName\": {\n \"one\": \"Turkish lira (1922–2005)\",\n \"other\": \"Turkish Lira (1922–2005)\"\n },\n \"narrow\": \"TRL\",\n \"symbol\": \"TRL\"\n },\n \"TRY\": {\n \"displayName\": {\n \"one\": \"Turkish lira\",\n \"other\": \"Turkish Lira\"\n },\n \"narrow\": \"₺\",\n \"symbol\": \"TRY\"\n },\n \"TTD\": {\n \"displayName\": {\n \"one\": \"Trinidad & Tobago dollar\",\n \"other\": \"Trinidad & Tobago dollars\"\n },\n \"narrow\": \"$\",\n \"symbol\": \"TTD\"\n },\n \"TWD\": {\n \"displayName\": {\n \"one\": \"New Taiwan dollar\",\n \"other\": \"New Taiwan dollars\"\n },\n \"narrow\": \"$\",\n \"symbol\": \"NT$\"\n },\n \"TZS\": {\n \"displayName\": {\n \"one\": \"Tanzanian shilling\",\n \"other\": \"Tanzanian shillings\"\n },\n \"narrow\": \"TZS\",\n \"symbol\": \"TZS\"\n },\n \"UAH\": {\n \"displayName\": {\n \"one\": \"Ukrainian hryvnia\",\n \"other\": \"Ukrainian hryvnias\"\n },\n \"narrow\": \"₴\",\n \"symbol\": \"UAH\"\n },\n \"UAK\": {\n \"displayName\": {\n \"one\": \"Ukrainian karbovanets\",\n \"other\": \"Ukrainian karbovantsiv\"\n },\n \"narrow\": \"UAK\",\n \"symbol\": \"UAK\"\n },\n \"UGS\": {\n \"displayName\": {\n \"one\": \"Ugandan shilling (1966–1987)\",\n \"other\": \"Ugandan shillings (1966–1987)\"\n },\n \"narrow\": \"UGS\",\n \"symbol\": \"UGS\"\n },\n \"UGX\": {\n \"displayName\": {\n \"one\": \"Ugandan shilling\",\n \"other\": \"Ugandan shillings\"\n },\n \"narrow\": \"UGX\",\n \"symbol\": \"UGX\"\n },\n \"USD\": {\n \"displayName\": {\n \"one\": \"US dollar\",\n \"other\": \"US dollars\"\n },\n \"narrow\": \"$\",\n \"symbol\": \"$\"\n },\n \"USN\": {\n \"displayName\": {\n \"one\": \"US dollar (next day)\",\n \"other\": \"US dollars (next day)\"\n },\n \"narrow\": \"USN\",\n \"symbol\": \"USN\"\n },\n \"USS\": {\n \"displayName\": {\n \"one\": \"US dollar (same day)\",\n \"other\": \"US dollars (same day)\"\n },\n \"narrow\": \"USS\",\n \"symbol\": \"USS\"\n },\n \"UYI\": {\n \"displayName\": {\n \"one\": \"Uruguayan peso (indexed units)\",\n \"other\": \"Uruguayan pesos (indexed units)\"\n },\n \"narrow\": \"UYI\",\n \"symbol\": \"UYI\"\n },\n \"UYP\": {\n \"displayName\": {\n \"one\": \"Uruguayan peso (1975–1993)\",\n \"other\": \"Uruguayan pesos (1975–1993)\"\n },\n \"narrow\": \"UYP\",\n \"symbol\": \"UYP\"\n },\n \"UYU\": {\n \"displayName\": {\n \"one\": \"Uruguayan peso\",\n \"other\": \"Uruguayan pesos\"\n },\n \"narrow\": \"$\",\n \"symbol\": \"UYU\"\n },\n \"UYW\": {\n \"displayName\": {\n \"one\": \"Uruguayan nominal wage index unit\",\n \"other\": \"Uruguayan nominal wage index units\"\n },\n \"narrow\": \"UYW\",\n \"symbol\": \"UYW\"\n },\n \"UZS\": {\n \"displayName\": {\n \"other\": \"Uzbekistani som\"\n },\n \"narrow\": \"UZS\",\n \"symbol\": \"UZS\"\n },\n \"VEB\": {\n \"displayName\": {\n \"one\": \"Venezuelan bolívar (1871–2008)\",\n \"other\": \"Venezuelan bolívars (1871–2008)\"\n },\n \"narrow\": \"VEB\",\n \"symbol\": \"VEB\"\n },\n \"VED\": {\n \"displayName\": {\n \"one\": \"Bolívar Soberano\",\n \"other\": \"Bolívar Soberanos\"\n },\n \"narrow\": \"VED\",\n \"symbol\": \"VED\"\n },\n \"VEF\": {\n \"displayName\": {\n \"one\": \"Venezuelan bolívar (2008–2018)\",\n \"other\": \"Venezuelan bolívars (2008–2018)\"\n },\n \"narrow\": \"Bs\",\n \"symbol\": \"VEF\"\n },\n \"VES\": {\n \"displayName\": {\n \"one\": \"Venezuelan bolívar\",\n \"other\": \"Venezuelan bolívars\"\n },\n \"narrow\": \"VES\",\n \"symbol\": \"VES\"\n },\n \"VND\": {\n \"displayName\": {\n \"other\": \"Vietnamese dong\"\n },\n \"narrow\": \"₫\",\n \"symbol\": \"₫\"\n },\n \"VNN\": {\n \"displayName\": {\n \"other\": \"Vietnamese dong (1978–1985)\"\n },\n \"narrow\": \"VNN\",\n \"symbol\": \"VNN\"\n },\n \"VUV\": {\n \"displayName\": {\n \"one\": \"Vanuatu vatu\",\n \"other\": \"Vanuatu vatus\"\n },\n \"narrow\": \"VUV\",\n \"symbol\": \"VUV\"\n },\n \"WST\": {\n \"displayName\": {\n \"other\": \"Samoan tala\"\n },\n \"narrow\": \"WST\",\n \"symbol\": \"WST\"\n },\n \"XAF\": {\n \"displayName\": {\n \"one\": \"Central African CFA franc\",\n \"other\": \"Central African CFA francs\"\n },\n \"narrow\": \"FCFA\",\n \"symbol\": \"FCFA\"\n },\n \"XAG\": {\n \"displayName\": {\n \"one\": \"troy ounce of silver\",\n \"other\": \"troy ounces of silver\"\n },\n \"narrow\": \"XAG\",\n \"symbol\": \"XAG\"\n },\n \"XAU\": {\n \"displayName\": {\n \"one\": \"troy ounce of gold\",\n \"other\": \"troy ounces of gold\"\n },\n \"narrow\": \"XAU\",\n \"symbol\": \"XAU\"\n },\n \"XBA\": {\n \"displayName\": {\n \"one\": \"European composite unit\",\n \"other\": \"European composite units\"\n },\n \"narrow\": \"XBA\",\n \"symbol\": \"XBA\"\n },\n \"XBB\": {\n \"displayName\": {\n \"one\": \"European monetary unit\",\n \"other\": \"European monetary units\"\n },\n \"narrow\": \"XBB\",\n \"symbol\": \"XBB\"\n },\n \"XBC\": {\n \"displayName\": {\n \"one\": \"European unit of account (XBC)\",\n \"other\": \"European units of account (XBC)\"\n },\n \"narrow\": \"XBC\",\n \"symbol\": \"XBC\"\n },\n \"XBD\": {\n \"displayName\": {\n \"one\": \"European unit of account (XBD)\",\n \"other\": \"European units of account (XBD)\"\n },\n \"narrow\": \"XBD\",\n \"symbol\": \"XBD\"\n },\n \"XCD\": {\n \"displayName\": {\n \"one\": \"East Caribbean dollar\",\n \"other\": \"East Caribbean dollars\"\n },\n \"narrow\": \"$\",\n \"symbol\": \"EC$\"\n },\n \"XDR\": {\n \"displayName\": {\n \"other\": \"special drawing rights\"\n },\n \"narrow\": \"XDR\",\n \"symbol\": \"XDR\"\n },\n \"XEU\": {\n \"displayName\": {\n \"one\": \"European currency unit\",\n \"other\": \"European currency units\"\n },\n \"narrow\": \"XEU\",\n \"symbol\": \"XEU\"\n },\n \"XFO\": {\n \"displayName\": {\n \"one\": \"French gold franc\",\n \"other\": \"French gold francs\"\n },\n \"narrow\": \"XFO\",\n \"symbol\": \"XFO\"\n },\n \"XFU\": {\n \"displayName\": {\n \"one\": \"French UIC-franc\",\n \"other\": \"French UIC-francs\"\n },\n \"narrow\": \"XFU\",\n \"symbol\": \"XFU\"\n },\n \"XOF\": {\n \"displayName\": {\n \"one\": \"West African CFA franc\",\n \"other\": \"West African CFA francs\"\n },\n \"narrow\": \"F CFA\",\n \"symbol\": \"F CFA\"\n },\n \"XPD\": {\n \"displayName\": {\n \"one\": \"troy ounce of palladium\",\n \"other\": \"troy ounces of palladium\"\n },\n \"narrow\": \"XPD\",\n \"symbol\": \"XPD\"\n },\n \"XPF\": {\n \"displayName\": {\n \"one\": \"CFP franc\",\n \"other\": \"CFP francs\"\n },\n \"narrow\": \"CFPF\",\n \"symbol\": \"CFPF\"\n },\n \"XPT\": {\n \"displayName\": {\n \"one\": \"troy ounce of platinum\",\n \"other\": \"troy ounces of platinum\"\n },\n \"narrow\": \"XPT\",\n \"symbol\": \"XPT\"\n },\n \"XRE\": {\n \"displayName\": {\n \"one\": \"RINET Funds unit\",\n \"other\": \"RINET Funds units\"\n },\n \"narrow\": \"XRE\",\n \"symbol\": \"XRE\"\n },\n \"XSU\": {\n \"displayName\": {\n \"one\": \"Sucre\",\n \"other\": \"Sucres\"\n },\n \"narrow\": \"XSU\",\n \"symbol\": \"XSU\"\n },\n \"XTS\": {\n \"displayName\": {\n \"one\": \"Testing Currency unit\",\n \"other\": \"Testing Currency units\"\n },\n \"narrow\": \"XTS\",\n \"symbol\": \"XTS\"\n },\n \"XUA\": {\n \"displayName\": {\n \"one\": \"ADB unit of account\",\n \"other\": \"ADB units of account\"\n },\n \"narrow\": \"XUA\",\n \"symbol\": \"XUA\"\n },\n \"XXX\": {\n \"displayName\": {\n \"one\": \"(unknown unit of currency)\",\n \"other\": \"(unknown currency)\"\n },\n \"narrow\": \"¤\",\n \"symbol\": \"¤\"\n },\n \"YDD\": {\n \"displayName\": {\n \"one\": \"Yemeni dinar\",\n \"other\": \"Yemeni dinars\"\n },\n \"narrow\": \"YDD\",\n \"symbol\": \"YDD\"\n },\n \"YER\": {\n \"displayName\": {\n \"one\": \"Yemeni rial\",\n \"other\": \"Yemeni rials\"\n },\n \"narrow\": \"YER\",\n \"symbol\": \"YER\"\n },\n \"YUD\": {\n \"displayName\": {\n \"one\": \"Yugoslavian hard dinar (1966–1990)\",\n \"other\": \"Yugoslavian hard dinars (1966–1990)\"\n },\n \"narrow\": \"YUD\",\n \"symbol\": \"YUD\"\n },\n \"YUM\": {\n \"displayName\": {\n \"one\": \"Yugoslavian new dinar (1994–2002)\",\n \"other\": \"Yugoslavian new dinars (1994–2002)\"\n },\n \"narrow\": \"YUM\",\n \"symbol\": \"YUM\"\n },\n \"YUN\": {\n \"displayName\": {\n \"one\": \"Yugoslavian convertible dinar (1990–1992)\",\n \"other\": \"Yugoslavian convertible dinars (1990–1992)\"\n },\n \"narrow\": \"YUN\",\n \"symbol\": \"YUN\"\n },\n \"YUR\": {\n \"displayName\": {\n \"one\": \"Yugoslavian reformed dinar (1992–1993)\",\n \"other\": \"Yugoslavian reformed dinars (1992–1993)\"\n },\n \"narrow\": \"YUR\",\n \"symbol\": \"YUR\"\n },\n \"ZAL\": {\n \"displayName\": {\n \"one\": \"South African rand (financial)\",\n \"other\": \"South African rands (financial)\"\n },\n \"narrow\": \"ZAL\",\n \"symbol\": \"ZAL\"\n },\n \"ZAR\": {\n \"displayName\": {\n \"other\": \"South African rand\"\n },\n \"narrow\": \"R\",\n \"symbol\": \"ZAR\"\n },\n \"ZMK\": {\n \"displayName\": {\n \"one\": \"Zambian kwacha (1968–2012)\",\n \"other\": \"Zambian kwachas (1968–2012)\"\n },\n \"narrow\": \"ZMK\",\n \"symbol\": \"ZMK\"\n },\n \"ZMW\": {\n \"displayName\": {\n \"one\": \"Zambian kwacha\",\n \"other\": \"Zambian kwachas\"\n },\n \"narrow\": \"ZK\",\n \"symbol\": \"ZMW\"\n },\n \"ZRN\": {\n \"displayName\": {\n \"one\": \"Zairean new zaire (1993–1998)\",\n \"other\": \"Zairean new zaires (1993–1998)\"\n },\n \"narrow\": \"ZRN\",\n \"symbol\": \"ZRN\"\n },\n \"ZRZ\": {\n \"displayName\": {\n \"one\": \"Zairean zaire (1971–1993)\",\n \"other\": \"Zairean zaires (1971–1993)\"\n },\n \"narrow\": \"ZRZ\",\n \"symbol\": \"ZRZ\"\n },\n \"ZWD\": {\n \"displayName\": {\n \"one\": \"Zimbabwean dollar (1980–2008)\",\n \"other\": \"Zimbabwean dollars (1980–2008)\"\n },\n \"narrow\": \"ZWD\",\n \"symbol\": \"ZWD\"\n },\n \"ZWL\": {\n \"displayName\": {\n \"one\": \"Zimbabwean dollar (2009)\",\n \"other\": \"Zimbabwean dollars (2009)\"\n },\n \"narrow\": \"ZWL\",\n \"symbol\": \"ZWL\"\n },\n \"ZWR\": {\n \"displayName\": {\n \"one\": \"Zimbabwean dollar (2008)\",\n \"other\": \"Zimbabwean dollars (2008)\"\n },\n \"narrow\": \"ZWR\",\n \"symbol\": \"ZWR\"\n }\n },\n \"nu\": [\n \"latn\"\n ],\n \"numbers\": {\n \"currency\": {\n \"latn\": {\n \"accounting\": \"¤#,##0.00;(¤#,##0.00)\",\n \"currencySpacing\": {\n \"afterInsertBetween\": \" \",\n \"beforeInsertBetween\": \" \"\n },\n \"short\": {\n \"1000\": {\n \"other\": \"¤0K\"\n },\n \"10000\": {\n \"other\": \"¤00K\"\n },\n \"100000\": {\n \"other\": \"¤000K\"\n },\n \"1000000\": {\n \"other\": \"¤0M\"\n },\n \"10000000\": {\n \"other\": \"¤00M\"\n },\n \"100000000\": {\n \"other\": \"¤000M\"\n },\n \"1000000000\": {\n \"other\": \"¤0B\"\n },\n \"10000000000\": {\n \"other\": \"¤00B\"\n },\n \"100000000000\": {\n \"other\": \"¤000B\"\n },\n \"1000000000000\": {\n \"other\": \"¤0T\"\n },\n \"10000000000000\": {\n \"other\": \"¤00T\"\n },\n \"100000000000000\": {\n \"other\": \"¤000T\"\n }\n },\n \"standard\": \"¤#,##0.00\",\n \"unitPattern\": \"{0} {1}\"\n }\n },\n \"decimal\": {\n \"latn\": {\n \"long\": {\n \"1000\": {\n \"other\": \"0 thousand\"\n },\n \"10000\": {\n \"other\": \"00 thousand\"\n },\n \"100000\": {\n \"other\": \"000 thousand\"\n },\n \"1000000\": {\n \"other\": \"0 million\"\n },\n \"10000000\": {\n \"other\": \"00 million\"\n },\n \"100000000\": {\n \"other\": \"000 million\"\n },\n \"1000000000\": {\n \"other\": \"0 billion\"\n },\n \"10000000000\": {\n \"other\": \"00 billion\"\n },\n \"100000000000\": {\n \"other\": \"000 billion\"\n },\n \"1000000000000\": {\n \"other\": \"0 trillion\"\n },\n \"10000000000000\": {\n \"other\": \"00 trillion\"\n },\n \"100000000000000\": {\n \"other\": \"000 trillion\"\n }\n },\n \"short\": {\n \"1000\": {\n \"other\": \"0K\"\n },\n \"10000\": {\n \"other\": \"00K\"\n },\n \"100000\": {\n \"other\": \"000K\"\n },\n \"1000000\": {\n \"other\": \"0M\"\n },\n \"10000000\": {\n \"other\": \"00M\"\n },\n \"100000000\": {\n \"other\": \"000M\"\n },\n \"1000000000\": {\n \"other\": \"0B\"\n },\n \"10000000000\": {\n \"other\": \"00B\"\n },\n \"100000000000\": {\n \"other\": \"000B\"\n },\n \"1000000000000\": {\n \"other\": \"0T\"\n },\n \"10000000000000\": {\n \"other\": \"00T\"\n },\n \"100000000000000\": {\n \"other\": \"000T\"\n }\n },\n \"standard\": \"#,##0.###\"\n }\n },\n \"nu\": [\n \"latn\"\n ],\n \"percent\": {\n \"latn\": \"#,##0%\"\n },\n \"symbols\": {\n \"latn\": {\n \"approximatelySign\": \"~\",\n \"decimal\": \".\",\n \"exponential\": \"E\",\n \"group\": \",\",\n \"infinity\": \"∞\",\n \"list\": \";\",\n \"minusSign\": \"-\",\n \"nan\": \"NaN\",\n \"perMille\": \"‰\",\n \"percentSign\": \"%\",\n \"plusSign\": \"+\",\n \"rangeSign\": \"–\",\n \"superscriptingExponent\": \"×\",\n \"timeSeparator\": \":\"\n }\n }\n },\n \"units\": {\n \"compound\": {\n \"per\": {\n \"long\": \"{0} per {1}\",\n \"narrow\": \"{0}/{1}\",\n \"short\": \"{0}/{1}\"\n }\n },\n \"simple\": {\n \"acre\": {\n \"long\": {\n \"one\": \"{0} acre\",\n \"other\": \"{0} acres\"\n },\n \"narrow\": {\n \"other\": \"{0}ac\"\n },\n \"perUnit\": {\n },\n \"short\": {\n \"other\": \"{0} ac\"\n }\n },\n \"bit\": {\n \"long\": {\n \"one\": \"{0} bit\",\n \"other\": \"{0} bits\"\n },\n \"narrow\": {\n \"other\": \"{0}bit\"\n },\n \"perUnit\": {\n },\n \"short\": {\n \"other\": \"{0} bit\"\n }\n },\n \"byte\": {\n \"long\": {\n \"one\": \"{0} byte\",\n \"other\": \"{0} bytes\"\n },\n \"narrow\": {\n \"other\": \"{0}B\"\n },\n \"perUnit\": {\n },\n \"short\": {\n \"other\": \"{0} byte\"\n }\n },\n \"celsius\": {\n \"long\": {\n \"one\": \"{0} degree Celsius\",\n \"other\": \"{0} degrees Celsius\"\n },\n \"narrow\": {\n \"other\": \"{0}°C\"\n },\n \"perUnit\": {\n },\n \"short\": {\n \"other\": \"{0}°C\"\n }\n },\n \"centimeter\": {\n \"long\": {\n \"one\": \"{0} centimeter\",\n \"other\": \"{0} centimeters\"\n },\n \"narrow\": {\n \"other\": \"{0}cm\"\n },\n \"perUnit\": {\n \"long\": \"{0} per centimeter\",\n \"narrow\": \"{0}/cm\",\n \"short\": \"{0}/cm\"\n },\n \"short\": {\n \"other\": \"{0} cm\"\n }\n },\n \"day\": {\n \"long\": {\n \"one\": \"{0} day\",\n \"other\": \"{0} days\"\n },\n \"narrow\": {\n \"other\": \"{0}d\"\n },\n \"perUnit\": {\n \"long\": \"{0} per day\",\n \"narrow\": \"{0}/d\",\n \"short\": \"{0}/d\"\n },\n \"short\": {\n \"one\": \"{0} day\",\n \"other\": \"{0} days\"\n }\n },\n \"degree\": {\n \"long\": {\n \"one\": \"{0} degree\",\n \"other\": \"{0} degrees\"\n },\n \"narrow\": {\n \"other\": \"{0}°\"\n },\n \"perUnit\": {\n },\n \"short\": {\n \"other\": \"{0} deg\"\n }\n },\n \"fahrenheit\": {\n \"long\": {\n \"one\": \"{0} degree Fahrenheit\",\n \"other\": \"{0} degrees Fahrenheit\"\n },\n \"narrow\": {\n \"other\": \"{0}°\"\n },\n \"perUnit\": {\n },\n \"short\": {\n \"other\": \"{0}°F\"\n }\n },\n \"fluid-ounce\": {\n \"long\": {\n \"one\": \"{0} fluid ounce\",\n \"other\": \"{0} fluid ounces\"\n },\n \"narrow\": {\n \"other\": \"{0}fl oz\"\n },\n \"perUnit\": {\n },\n \"short\": {\n \"other\": \"{0} fl oz\"\n }\n },\n \"foot\": {\n \"long\": {\n \"one\": \"{0} foot\",\n \"other\": \"{0} feet\"\n },\n \"narrow\": {\n \"other\": \"{0}′\"\n },\n \"perUnit\": {\n \"long\": \"{0} per foot\",\n \"narrow\": \"{0}/ft\",\n \"short\": \"{0}/ft\"\n },\n \"short\": {\n \"other\": \"{0} ft\"\n }\n },\n \"gallon\": {\n \"long\": {\n \"one\": \"{0} gallon\",\n \"other\": \"{0} gallons\"\n },\n \"narrow\": {\n \"other\": \"{0}gal\"\n },\n \"perUnit\": {\n \"long\": \"{0} per gallon\",\n \"narrow\": \"{0}/gal\",\n \"short\": \"{0}/gal US\"\n },\n \"short\": {\n \"other\": \"{0} gal\"\n }\n },\n \"gigabit\": {\n \"long\": {\n \"one\": \"{0} gigabit\",\n \"other\": \"{0} gigabits\"\n },\n \"narrow\": {\n \"other\": \"{0}Gb\"\n },\n \"perUnit\": {\n },\n \"short\": {\n \"other\": \"{0} Gb\"\n }\n },\n \"gigabyte\": {\n \"long\": {\n \"one\": \"{0} gigabyte\",\n \"other\": \"{0} gigabytes\"\n },\n \"narrow\": {\n \"other\": \"{0}GB\"\n },\n \"perUnit\": {\n },\n \"short\": {\n \"other\": \"{0} GB\"\n }\n },\n \"gram\": {\n \"long\": {\n \"one\": \"{0} gram\",\n \"other\": \"{0} grams\"\n },\n \"narrow\": {\n \"other\": \"{0}g\"\n },\n \"perUnit\": {\n \"long\": \"{0} per gram\",\n \"narrow\": \"{0}/g\",\n \"short\": \"{0}/g\"\n },\n \"short\": {\n \"other\": \"{0} g\"\n }\n },\n \"hectare\": {\n \"long\": {\n \"one\": \"{0} hectare\",\n \"other\": \"{0} hectares\"\n },\n \"narrow\": {\n \"other\": \"{0}ha\"\n },\n \"perUnit\": {\n },\n \"short\": {\n \"other\": \"{0} ha\"\n }\n },\n \"hour\": {\n \"long\": {\n \"one\": \"{0} hour\",\n \"other\": \"{0} hours\"\n },\n \"narrow\": {\n \"other\": \"{0}h\"\n },\n \"perUnit\": {\n \"long\": \"{0} per hour\",\n \"narrow\": \"{0}/h\",\n \"short\": \"{0}/h\"\n },\n \"short\": {\n \"other\": \"{0} hr\"\n }\n },\n \"inch\": {\n \"long\": {\n \"one\": \"{0} inch\",\n \"other\": \"{0} inches\"\n },\n \"narrow\": {\n \"other\": \"{0}″\"\n },\n \"perUnit\": {\n \"long\": \"{0} per inch\",\n \"narrow\": \"{0}/in\",\n \"short\": \"{0}/in\"\n },\n \"short\": {\n \"other\": \"{0} in\"\n }\n },\n \"kilobit\": {\n \"long\": {\n \"one\": \"{0} kilobit\",\n \"other\": \"{0} kilobits\"\n },\n \"narrow\": {\n \"other\": \"{0}kb\"\n },\n \"perUnit\": {\n },\n \"short\": {\n \"other\": \"{0} kb\"\n }\n },\n \"kilobyte\": {\n \"long\": {\n \"one\": \"{0} kilobyte\",\n \"other\": \"{0} kilobytes\"\n },\n \"narrow\": {\n \"other\": \"{0}kB\"\n },\n \"perUnit\": {\n },\n \"short\": {\n \"other\": \"{0} kB\"\n }\n },\n \"kilogram\": {\n \"long\": {\n \"one\": \"{0} kilogram\",\n \"other\": \"{0} kilograms\"\n },\n \"narrow\": {\n \"other\": \"{0}kg\"\n },\n \"perUnit\": {\n \"long\": \"{0} per kilogram\",\n \"narrow\": \"{0}/kg\",\n \"short\": \"{0}/kg\"\n },\n \"short\": {\n \"other\": \"{0} kg\"\n }\n },\n \"kilometer\": {\n \"long\": {\n \"one\": \"{0} kilometer\",\n \"other\": \"{0} kilometers\"\n },\n \"narrow\": {\n \"other\": \"{0}km\"\n },\n \"perUnit\": {\n \"long\": \"{0} per kilometer\",\n \"narrow\": \"{0}/km\",\n \"short\": \"{0}/km\"\n },\n \"short\": {\n \"other\": \"{0} km\"\n }\n },\n \"kilometer-per-hour\": {\n \"long\": {\n \"one\": \"{0} kilometer per hour\",\n \"other\": \"{0} kilometers per hour\"\n },\n \"narrow\": {\n \"other\": \"{0}km/h\"\n },\n \"perUnit\": {\n },\n \"short\": {\n \"other\": \"{0} km/h\"\n }\n },\n \"liter\": {\n \"long\": {\n \"one\": \"{0} liter\",\n \"other\": \"{0} liters\"\n },\n \"narrow\": {\n \"other\": \"{0}L\"\n },\n \"perUnit\": {\n \"long\": \"{0} per liter\",\n \"narrow\": \"{0}/L\",\n \"short\": \"{0}/L\"\n },\n \"short\": {\n \"other\": \"{0} L\"\n }\n },\n \"liter-per-kilometer\": {\n \"long\": {\n \"one\": \"{0} liter per kilometer\",\n \"other\": \"{0} liters per kilometer\"\n },\n \"narrow\": {\n \"other\": \"{0}L/km\"\n },\n \"perUnit\": {\n },\n \"short\": {\n \"other\": \"{0} L/km\"\n }\n },\n \"megabit\": {\n \"long\": {\n \"one\": \"{0} megabit\",\n \"other\": \"{0} megabits\"\n },\n \"narrow\": {\n \"other\": \"{0}Mb\"\n },\n \"perUnit\": {\n },\n \"short\": {\n \"other\": \"{0} Mb\"\n }\n },\n \"megabyte\": {\n \"long\": {\n \"one\": \"{0} megabyte\",\n \"other\": \"{0} megabytes\"\n },\n \"narrow\": {\n \"other\": \"{0}MB\"\n },\n \"perUnit\": {\n },\n \"short\": {\n \"other\": \"{0} MB\"\n }\n },\n \"meter\": {\n \"long\": {\n \"one\": \"{0} meter\",\n \"other\": \"{0} meters\"\n },\n \"narrow\": {\n \"other\": \"{0}m\"\n },\n \"perUnit\": {\n \"long\": \"{0} per meter\",\n \"narrow\": \"{0}/m\",\n \"short\": \"{0}/m\"\n },\n \"short\": {\n \"other\": \"{0} m\"\n }\n },\n \"meter-per-second\": {\n \"long\": {\n \"one\": \"{0} meter per second\",\n \"other\": \"{0} meters per second\"\n },\n \"narrow\": {\n \"other\": \"{0}m/s\"\n },\n \"perUnit\": {\n },\n \"short\": {\n \"other\": \"{0} m/s\"\n }\n },\n \"mile\": {\n \"long\": {\n \"one\": \"{0} mile\",\n \"other\": \"{0} miles\"\n },\n \"narrow\": {\n \"other\": \"{0}mi\"\n },\n \"perUnit\": {\n },\n \"short\": {\n \"other\": \"{0} mi\"\n }\n },\n \"mile-per-gallon\": {\n \"long\": {\n \"one\": \"{0} mile per gallon\",\n \"other\": \"{0} miles per gallon\"\n },\n \"narrow\": {\n \"other\": \"{0}mpg\"\n },\n \"perUnit\": {\n },\n \"short\": {\n \"other\": \"{0} mpg\"\n }\n },\n \"mile-per-hour\": {\n \"long\": {\n \"one\": \"{0} mile per hour\",\n \"other\": \"{0} miles per hour\"\n },\n \"narrow\": {\n \"other\": \"{0}mph\"\n },\n \"perUnit\": {\n },\n \"short\": {\n \"other\": \"{0} mph\"\n }\n },\n \"mile-scandinavian\": {\n \"long\": {\n \"one\": \"{0} mile-scandinavian\",\n \"other\": \"{0} miles-scandinavian\"\n },\n \"narrow\": {\n \"other\": \"{0}smi\"\n },\n \"perUnit\": {\n },\n \"short\": {\n \"other\": \"{0} smi\"\n }\n },\n \"milliliter\": {\n \"long\": {\n \"one\": \"{0} milliliter\",\n \"other\": \"{0} milliliters\"\n },\n \"narrow\": {\n \"other\": \"{0}mL\"\n },\n \"perUnit\": {\n },\n \"short\": {\n \"other\": \"{0} mL\"\n }\n },\n \"millimeter\": {\n \"long\": {\n \"one\": \"{0} millimeter\",\n \"other\": \"{0} millimeters\"\n },\n \"narrow\": {\n \"other\": \"{0}mm\"\n },\n \"perUnit\": {\n },\n \"short\": {\n \"other\": \"{0} mm\"\n }\n },\n \"millisecond\": {\n \"long\": {\n \"one\": \"{0} millisecond\",\n \"other\": \"{0} milliseconds\"\n },\n \"narrow\": {\n \"other\": \"{0}ms\"\n },\n \"perUnit\": {\n },\n \"short\": {\n \"other\": \"{0} ms\"\n }\n },\n \"minute\": {\n \"long\": {\n \"one\": \"{0} minute\",\n \"other\": \"{0} minutes\"\n },\n \"narrow\": {\n \"other\": \"{0}m\"\n },\n \"perUnit\": {\n \"long\": \"{0} per minute\",\n \"narrow\": \"{0}/min\",\n \"short\": \"{0}/min\"\n },\n \"short\": {\n \"other\": \"{0} min\"\n }\n },\n \"month\": {\n \"long\": {\n \"one\": \"{0} month\",\n \"other\": \"{0} months\"\n },\n \"narrow\": {\n \"other\": \"{0}m\"\n },\n \"perUnit\": {\n \"long\": \"{0} per month\",\n \"narrow\": \"{0}/m\",\n \"short\": \"{0}/m\"\n },\n \"short\": {\n \"one\": \"{0} mth\",\n \"other\": \"{0} mths\"\n }\n },\n \"ounce\": {\n \"long\": {\n \"one\": \"{0} ounce\",\n \"other\": \"{0} ounces\"\n },\n \"narrow\": {\n \"other\": \"{0}oz\"\n },\n \"perUnit\": {\n \"long\": \"{0} per ounce\",\n \"narrow\": \"{0}/oz\",\n \"short\": \"{0}/oz\"\n },\n \"short\": {\n \"other\": \"{0} oz\"\n }\n },\n \"percent\": {\n \"long\": {\n \"other\": \"{0} percent\"\n },\n \"narrow\": {\n \"other\": \"{0}%\"\n },\n \"perUnit\": {\n },\n \"short\": {\n \"other\": \"{0}%\"\n }\n },\n \"petabyte\": {\n \"long\": {\n \"one\": \"{0} petabyte\",\n \"other\": \"{0} petabytes\"\n },\n \"narrow\": {\n \"other\": \"{0}PB\"\n },\n \"perUnit\": {\n },\n \"short\": {\n \"other\": \"{0} PB\"\n }\n },\n \"pound\": {\n \"long\": {\n \"one\": \"{0} pound\",\n \"other\": \"{0} pounds\"\n },\n \"narrow\": {\n \"other\": \"{0}#\"\n },\n \"perUnit\": {\n \"long\": \"{0} per pound\",\n \"narrow\": \"{0}/lb\",\n \"short\": \"{0}/lb\"\n },\n \"short\": {\n \"other\": \"{0} lb\"\n }\n },\n \"second\": {\n \"long\": {\n \"one\": \"{0} second\",\n \"other\": \"{0} seconds\"\n },\n \"narrow\": {\n \"other\": \"{0}s\"\n },\n \"perUnit\": {\n \"long\": \"{0} per second\",\n \"narrow\": \"{0}/s\",\n \"short\": \"{0}/s\"\n },\n \"short\": {\n \"other\": \"{0} sec\"\n }\n },\n \"stone\": {\n \"long\": {\n \"one\": \"{0} stone\",\n \"other\": \"{0} stones\"\n },\n \"narrow\": {\n \"other\": \"{0}st\"\n },\n \"perUnit\": {\n },\n \"short\": {\n \"other\": \"{0} st\"\n }\n },\n \"terabit\": {\n \"long\": {\n \"one\": \"{0} terabit\",\n \"other\": \"{0} terabits\"\n },\n \"narrow\": {\n \"other\": \"{0}Tb\"\n },\n \"perUnit\": {\n },\n \"short\": {\n \"other\": \"{0} Tb\"\n }\n },\n \"terabyte\": {\n \"long\": {\n \"one\": \"{0} terabyte\",\n \"other\": \"{0} terabytes\"\n },\n \"narrow\": {\n \"other\": \"{0}TB\"\n },\n \"perUnit\": {\n },\n \"short\": {\n \"other\": \"{0} TB\"\n }\n },\n \"week\": {\n \"long\": {\n \"one\": \"{0} week\",\n \"other\": \"{0} weeks\"\n },\n \"narrow\": {\n \"other\": \"{0}w\"\n },\n \"perUnit\": {\n \"long\": \"{0} per week\",\n \"narrow\": \"{0}/w\",\n \"short\": \"{0}/w\"\n },\n \"short\": {\n \"one\": \"{0} wk\",\n \"other\": \"{0} wks\"\n }\n },\n \"yard\": {\n \"long\": {\n \"one\": \"{0} yard\",\n \"other\": \"{0} yards\"\n },\n \"narrow\": {\n \"other\": \"{0}yd\"\n },\n \"perUnit\": {\n },\n \"short\": {\n \"other\": \"{0} yd\"\n }\n },\n \"year\": {\n \"long\": {\n \"one\": \"{0} year\",\n \"other\": \"{0} years\"\n },\n \"narrow\": {\n \"other\": \"{0}y\"\n },\n \"perUnit\": {\n \"long\": \"{0} per year\",\n \"narrow\": \"{0}/y\",\n \"short\": \"{0}/y\"\n },\n \"short\": {\n \"one\": \"{0} yr\",\n \"other\": \"{0} yrs\"\n }\n }\n }\n }\n },\n \"locale\": \"en\"\n})\n}","/**\n * http://ecma-international.org/ecma-402/7.0/index.html#sec-canonicalizelocalelist\n * @param locales\n */\nexport function CanonicalizeLocaleList(locales) {\n // TODO\n return Intl.getCanonicalLocales(locales);\n}\n","/**\n * https://tc39.es/ecma402/#sec-canonicalizetimezonename\n * @param tz\n */\nexport function CanonicalizeTimeZoneName(tz, _a) {\n var zoneNames = _a.zoneNames, uppercaseLinks = _a.uppercaseLinks;\n var uppercasedTz = tz.toUpperCase();\n var uppercasedZones = zoneNames.reduce(function (all, z) {\n all[z.toUpperCase()] = z;\n return all;\n }, {});\n var ianaTimeZone = uppercaseLinks[uppercasedTz] || uppercasedZones[uppercasedTz];\n if (ianaTimeZone === 'Etc/UTC' || ianaTimeZone === 'Etc/GMT') {\n return 'UTC';\n }\n return ianaTimeZone;\n}\n","/**\n * https://tc39.es/ecma262/#sec-tostring\n */\nexport function ToString(o) {\n // Only symbol is irregular...\n if (typeof o === 'symbol') {\n throw TypeError('Cannot convert a Symbol value to a string');\n }\n return String(o);\n}\n/**\n * https://tc39.es/ecma262/#sec-tonumber\n * @param val\n */\nexport function ToNumber(val) {\n if (val === undefined) {\n return NaN;\n }\n if (val === null) {\n return +0;\n }\n if (typeof val === 'boolean') {\n return val ? 1 : +0;\n }\n if (typeof val === 'number') {\n return val;\n }\n if (typeof val === 'symbol' || typeof val === 'bigint') {\n throw new TypeError('Cannot convert symbol/bigint to number');\n }\n return Number(val);\n}\n/**\n * https://tc39.es/ecma262/#sec-tointeger\n * @param n\n */\nfunction ToInteger(n) {\n var number = ToNumber(n);\n if (isNaN(number) || SameValue(number, -0)) {\n return 0;\n }\n if (isFinite(number)) {\n return number;\n }\n var integer = Math.floor(Math.abs(number));\n if (number < 0) {\n integer = -integer;\n }\n if (SameValue(integer, -0)) {\n return 0;\n }\n return integer;\n}\n/**\n * https://tc39.es/ecma262/#sec-timeclip\n * @param time\n */\nexport function TimeClip(time) {\n if (!isFinite(time)) {\n return NaN;\n }\n if (Math.abs(time) > 8.64 * 1e15) {\n return NaN;\n }\n return ToInteger(time);\n}\n/**\n * https://tc39.es/ecma262/#sec-toobject\n * @param arg\n */\nexport function ToObject(arg) {\n if (arg == null) {\n throw new TypeError('undefined/null cannot be converted to object');\n }\n return Object(arg);\n}\n/**\n * https://www.ecma-international.org/ecma-262/11.0/index.html#sec-samevalue\n * @param x\n * @param y\n */\nexport function SameValue(x, y) {\n if (Object.is) {\n return Object.is(x, y);\n }\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n }\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n}\n/**\n * https://www.ecma-international.org/ecma-262/11.0/index.html#sec-arraycreate\n * @param len\n */\nexport function ArrayCreate(len) {\n return new Array(len);\n}\n/**\n * https://www.ecma-international.org/ecma-262/11.0/index.html#sec-hasownproperty\n * @param o\n * @param prop\n */\nexport function HasOwnProperty(o, prop) {\n return Object.prototype.hasOwnProperty.call(o, prop);\n}\n/**\n * https://www.ecma-international.org/ecma-262/11.0/index.html#sec-type\n * @param x\n */\nexport function Type(x) {\n if (x === null) {\n return 'Null';\n }\n if (typeof x === 'undefined') {\n return 'Undefined';\n }\n if (typeof x === 'function' || typeof x === 'object') {\n return 'Object';\n }\n if (typeof x === 'number') {\n return 'Number';\n }\n if (typeof x === 'boolean') {\n return 'Boolean';\n }\n if (typeof x === 'string') {\n return 'String';\n }\n if (typeof x === 'symbol') {\n return 'Symbol';\n }\n if (typeof x === 'bigint') {\n return 'BigInt';\n }\n}\nvar MS_PER_DAY = 86400000;\n/**\n * https://www.ecma-international.org/ecma-262/11.0/index.html#eqn-modulo\n * @param x\n * @param y\n * @return k of the same sign as y\n */\nfunction mod(x, y) {\n return x - Math.floor(x / y) * y;\n}\n/**\n * https://tc39.es/ecma262/#eqn-Day\n * @param t\n */\nexport function Day(t) {\n return Math.floor(t / MS_PER_DAY);\n}\n/**\n * https://tc39.es/ecma262/#sec-week-day\n * @param t\n */\nexport function WeekDay(t) {\n return mod(Day(t) + 4, 7);\n}\n/**\n * https://tc39.es/ecma262/#sec-year-number\n * @param y\n */\nexport function DayFromYear(y) {\n return Date.UTC(y, 0) / MS_PER_DAY;\n}\n/**\n * https://tc39.es/ecma262/#sec-year-number\n * @param y\n */\nexport function TimeFromYear(y) {\n return Date.UTC(y, 0);\n}\n/**\n * https://tc39.es/ecma262/#sec-year-number\n * @param t\n */\nexport function YearFromTime(t) {\n return new Date(t).getUTCFullYear();\n}\nexport function DaysInYear(y) {\n if (y % 4 !== 0) {\n return 365;\n }\n if (y % 100 !== 0) {\n return 366;\n }\n if (y % 400 !== 0) {\n return 365;\n }\n return 366;\n}\nexport function DayWithinYear(t) {\n return Day(t) - DayFromYear(YearFromTime(t));\n}\nexport function InLeapYear(t) {\n return DaysInYear(YearFromTime(t)) === 365 ? 0 : 1;\n}\n/**\n * https://tc39.es/ecma262/#sec-month-number\n * @param t\n */\nexport function MonthFromTime(t) {\n var dwy = DayWithinYear(t);\n var leap = InLeapYear(t);\n if (dwy >= 0 && dwy < 31) {\n return 0;\n }\n if (dwy < 59 + leap) {\n return 1;\n }\n if (dwy < 90 + leap) {\n return 2;\n }\n if (dwy < 120 + leap) {\n return 3;\n }\n if (dwy < 151 + leap) {\n return 4;\n }\n if (dwy < 181 + leap) {\n return 5;\n }\n if (dwy < 212 + leap) {\n return 6;\n }\n if (dwy < 243 + leap) {\n return 7;\n }\n if (dwy < 273 + leap) {\n return 8;\n }\n if (dwy < 304 + leap) {\n return 9;\n }\n if (dwy < 334 + leap) {\n return 10;\n }\n if (dwy < 365 + leap) {\n return 11;\n }\n throw new Error('Invalid time');\n}\nexport function DateFromTime(t) {\n var dwy = DayWithinYear(t);\n var mft = MonthFromTime(t);\n var leap = InLeapYear(t);\n if (mft === 0) {\n return dwy + 1;\n }\n if (mft === 1) {\n return dwy - 30;\n }\n if (mft === 2) {\n return dwy - 58 - leap;\n }\n if (mft === 3) {\n return dwy - 89 - leap;\n }\n if (mft === 4) {\n return dwy - 119 - leap;\n }\n if (mft === 5) {\n return dwy - 150 - leap;\n }\n if (mft === 6) {\n return dwy - 180 - leap;\n }\n if (mft === 7) {\n return dwy - 211 - leap;\n }\n if (mft === 8) {\n return dwy - 242 - leap;\n }\n if (mft === 9) {\n return dwy - 272 - leap;\n }\n if (mft === 10) {\n return dwy - 303 - leap;\n }\n if (mft === 11) {\n return dwy - 333 - leap;\n }\n throw new Error('Invalid time');\n}\nvar HOURS_PER_DAY = 24;\nvar MINUTES_PER_HOUR = 60;\nvar SECONDS_PER_MINUTE = 60;\nvar MS_PER_SECOND = 1e3;\nvar MS_PER_MINUTE = MS_PER_SECOND * SECONDS_PER_MINUTE;\nvar MS_PER_HOUR = MS_PER_MINUTE * MINUTES_PER_HOUR;\nexport function HourFromTime(t) {\n return mod(Math.floor(t / MS_PER_HOUR), HOURS_PER_DAY);\n}\nexport function MinFromTime(t) {\n return mod(Math.floor(t / MS_PER_MINUTE), MINUTES_PER_HOUR);\n}\nexport function SecFromTime(t) {\n return mod(Math.floor(t / MS_PER_SECOND), SECONDS_PER_MINUTE);\n}\nfunction IsCallable(fn) {\n return typeof fn === 'function';\n}\n/**\n * The abstract operation OrdinaryHasInstance implements\n * the default algorithm for determining if an object O\n * inherits from the instance object inheritance path\n * provided by constructor C.\n * @param C class\n * @param O object\n * @param internalSlots internalSlots\n */\nexport function OrdinaryHasInstance(C, O, internalSlots) {\n if (!IsCallable(C)) {\n return false;\n }\n if (internalSlots === null || internalSlots === void 0 ? void 0 : internalSlots.boundTargetFunction) {\n var BC = internalSlots === null || internalSlots === void 0 ? void 0 : internalSlots.boundTargetFunction;\n return O instanceof BC;\n }\n if (typeof O !== 'object') {\n return false;\n }\n var P = C.prototype;\n if (typeof P !== 'object') {\n throw new TypeError('OrdinaryHasInstance called on an object with an invalid prototype property.');\n }\n return Object.prototype.isPrototypeOf.call(P, O);\n}\nexport function msFromTime(t) {\n return mod(t, MS_PER_SECOND);\n}\n","import { ToObject } from './262';\n/**\n * https://tc39.es/ecma402/#sec-coerceoptionstoobject\n * @param options\n * @returns\n */\nexport function CoerceOptionsToObject(options) {\n if (typeof options === 'undefined') {\n return Object.create(null);\n }\n return ToObject(options);\n}\n","/**\n * https://tc39.es/ecma402/#sec-defaultnumberoption\n * @param val\n * @param min\n * @param max\n * @param fallback\n */\nexport function DefaultNumberOption(inputVal, min, max, fallback) {\n if (inputVal === undefined) {\n // @ts-expect-error\n return fallback;\n }\n var val = Number(inputVal);\n if (isNaN(val) || val < min || val > max) {\n throw new RangeError(\"\".concat(val, \" is outside of range [\").concat(min, \", \").concat(max, \"]\"));\n }\n return Math.floor(val);\n}\n","/**\n * https://tc39.es/ecma402/#sec-getnumberoption\n * @param options\n * @param property\n * @param min\n * @param max\n * @param fallback\n */\nimport { DefaultNumberOption } from './DefaultNumberOption';\nexport function GetNumberOption(options, property, minimum, maximum, fallback) {\n var val = options[property];\n return DefaultNumberOption(val, minimum, maximum, fallback);\n}\n","import { ToString } from './262';\n/**\n * https://tc39.es/ecma402/#sec-getoption\n * @param opts\n * @param prop\n * @param type\n * @param values\n * @param fallback\n */\nexport function GetOption(opts, prop, type, values, fallback) {\n if (typeof opts !== 'object') {\n throw new TypeError('Options must be an object');\n }\n var value = opts[prop];\n if (value !== undefined) {\n if (type !== 'boolean' && type !== 'string') {\n throw new TypeError('invalid type');\n }\n if (type === 'boolean') {\n value = Boolean(value);\n }\n if (type === 'string') {\n value = ToString(value);\n }\n if (values !== undefined && !values.filter(function (val) { return val == value; }).length) {\n throw new RangeError(\"\".concat(value, \" is not within \").concat(values.join(', ')));\n }\n return value;\n }\n return fallback;\n}\n","/**\n * https://tc39.es/ecma402/#sec-getoptionsobject\n * @param options\n * @returns\n */\nexport function GetOptionsObject(options) {\n if (typeof options === 'undefined') {\n return Object.create(null);\n }\n if (typeof options === 'object') {\n return options;\n }\n throw new TypeError('Options must be an object');\n}\n","/**\n * https://tc39.es/ecma402/#sec-getstringorbooleanoption\n * @param opts\n * @param prop\n * @param values\n * @param trueValue\n * @param falsyValue\n * @param fallback\n */\nimport { ToString } from './262';\nexport function GetStringOrBooleanOption(opts, prop, values, trueValue, falsyValue, fallback) {\n var value = opts[prop];\n if (value === undefined) {\n return fallback;\n }\n if (value === true) {\n return trueValue;\n }\n var valueBoolean = Boolean(value);\n if (valueBoolean === false) {\n return falsyValue;\n }\n value = ToString(value);\n if (value === 'true' || value === 'false') {\n return fallback;\n }\n if ((values || []).indexOf(value) === -1) {\n throw new RangeError(\"Invalid value \".concat(value));\n }\n return value;\n}\n","/**\n * https://tc39.es/ecma402/#table-sanctioned-simple-unit-identifiers\n */\nexport var SANCTIONED_UNITS = [\n 'angle-degree',\n 'area-acre',\n 'area-hectare',\n 'concentr-percent',\n 'digital-bit',\n 'digital-byte',\n 'digital-gigabit',\n 'digital-gigabyte',\n 'digital-kilobit',\n 'digital-kilobyte',\n 'digital-megabit',\n 'digital-megabyte',\n 'digital-petabyte',\n 'digital-terabit',\n 'digital-terabyte',\n 'duration-day',\n 'duration-hour',\n 'duration-millisecond',\n 'duration-minute',\n 'duration-month',\n 'duration-second',\n 'duration-week',\n 'duration-year',\n 'length-centimeter',\n 'length-foot',\n 'length-inch',\n 'length-kilometer',\n 'length-meter',\n 'length-mile-scandinavian',\n 'length-mile',\n 'length-millimeter',\n 'length-yard',\n 'mass-gram',\n 'mass-kilogram',\n 'mass-ounce',\n 'mass-pound',\n 'mass-stone',\n 'temperature-celsius',\n 'temperature-fahrenheit',\n 'volume-fluid-ounce',\n 'volume-gallon',\n 'volume-liter',\n 'volume-milliliter',\n];\n// In CLDR, the unit name always follows the form `namespace-unit` pattern.\n// For example: `digital-bit` instead of `bit`. This function removes the namespace prefix.\nexport function removeUnitNamespace(unit) {\n return unit.slice(unit.indexOf('-') + 1);\n}\n/**\n * https://tc39.es/ecma402/#table-sanctioned-simple-unit-identifiers\n */\nexport var SIMPLE_UNITS = SANCTIONED_UNITS.map(removeUnitNamespace);\n/**\n * https://tc39.es/ecma402/#sec-issanctionedsimpleunitidentifier\n */\nexport function IsSanctionedSimpleUnitIdentifier(unitIdentifier) {\n return SIMPLE_UNITS.indexOf(unitIdentifier) > -1;\n}\n","/**\n * https://tc39.es/ecma402/#sec-isvalidtimezonename\n * @param tz\n * @param implDetails implementation details\n */\nexport function IsValidTimeZoneName(tz, _a) {\n var zoneNamesFromData = _a.zoneNamesFromData, uppercaseLinks = _a.uppercaseLinks;\n var uppercasedTz = tz.toUpperCase();\n var zoneNames = new Set();\n var linkNames = new Set();\n zoneNamesFromData.map(function (z) { return z.toUpperCase(); }).forEach(function (z) { return zoneNames.add(z); });\n Object.keys(uppercaseLinks).forEach(function (linkName) {\n linkNames.add(linkName.toUpperCase());\n zoneNames.add(uppercaseLinks[linkName].toUpperCase());\n });\n return zoneNames.has(uppercasedTz) || linkNames.has(uppercasedTz);\n}\n","/**\n * This follows https://tc39.es/ecma402/#sec-case-sensitivity-and-case-mapping\n * @param str string to convert\n */\nfunction toUpperCase(str) {\n return str.replace(/([a-z])/g, function (_, c) { return c.toUpperCase(); });\n}\nvar NOT_A_Z_REGEX = /[^A-Z]/;\n/**\n * https://tc39.es/ecma402/#sec-iswellformedcurrencycode\n */\nexport function IsWellFormedCurrencyCode(currency) {\n currency = toUpperCase(currency);\n if (currency.length !== 3) {\n return false;\n }\n if (NOT_A_Z_REGEX.test(currency)) {\n return false;\n }\n return true;\n}\n","import { IsSanctionedSimpleUnitIdentifier } from './IsSanctionedSimpleUnitIdentifier';\n/**\n * This follows https://tc39.es/ecma402/#sec-case-sensitivity-and-case-mapping\n * @param str string to convert\n */\nfunction toLowerCase(str) {\n return str.replace(/([A-Z])/g, function (_, c) { return c.toLowerCase(); });\n}\n/**\n * https://tc39.es/ecma402/#sec-iswellformedunitidentifier\n * @param unit\n */\nexport function IsWellFormedUnitIdentifier(unit) {\n unit = toLowerCase(unit);\n if (IsSanctionedSimpleUnitIdentifier(unit)) {\n return true;\n }\n var units = unit.split('-per-');\n if (units.length !== 2) {\n return false;\n }\n var numerator = units[0], denominator = units[1];\n if (!IsSanctionedSimpleUnitIdentifier(numerator) ||\n !IsSanctionedSimpleUnitIdentifier(denominator)) {\n return false;\n }\n return true;\n}\n","export function ApplyUnsignedRoundingMode(x, r1, r2, unsignedRoundingMode) {\n if (x === r1)\n return r1;\n if (unsignedRoundingMode === undefined) {\n throw new Error('unsignedRoundingMode is mandatory');\n }\n if (unsignedRoundingMode === 'zero') {\n return r1;\n }\n if (unsignedRoundingMode === 'infinity') {\n return r2;\n }\n var d1 = x - r1;\n var d2 = r2 - x;\n if (d1 < d2) {\n return r1;\n }\n if (d2 < d1) {\n return r2;\n }\n if (d1 !== d2) {\n throw new Error('Unexpected error');\n }\n if (unsignedRoundingMode === 'half-zero') {\n return r1;\n }\n if (unsignedRoundingMode === 'half-infinity') {\n return r2;\n }\n if (unsignedRoundingMode !== 'half-even') {\n throw new Error(\"Unexpected value for unsignedRoundingMode: \".concat(unsignedRoundingMode));\n }\n var cardinality = (r1 / (r2 - r1)) % 2;\n if (cardinality === 0) {\n return r1;\n }\n return r2;\n}\n","/**\n * https://tc39.es/ecma402/#sec-collapsenumberrange\n */\nexport function CollapseNumberRange(result) {\n return result;\n}\n","/**\n * Cannot do Math.log(x) / Math.log(10) bc if IEEE floating point issue\n * @param x number\n */\nexport function getMagnitude(x) {\n // Cannot count string length via Number.toString because it may use scientific notation\n // for very small or very large numbers.\n return Math.floor(Math.log(x) * Math.LOG10E);\n}\nexport function repeat(s, times) {\n if (typeof s.repeat === 'function') {\n return s.repeat(times);\n }\n var arr = new Array(times);\n for (var i = 0; i < arr.length; i++) {\n arr[i] = s;\n }\n return arr.join('');\n}\nexport function setInternalSlot(map, pl, field, value) {\n if (!map.get(pl)) {\n map.set(pl, Object.create(null));\n }\n var slots = map.get(pl);\n slots[field] = value;\n}\nexport function setMultiInternalSlots(map, pl, props) {\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\n var k = _a[_i];\n setInternalSlot(map, pl, k, props[k]);\n }\n}\nexport function getInternalSlot(map, pl, field) {\n return getMultiInternalSlots(map, pl, field)[field];\n}\nexport function getMultiInternalSlots(map, pl) {\n var fields = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n fields[_i - 2] = arguments[_i];\n }\n var slots = map.get(pl);\n if (!slots) {\n throw new TypeError(\"\".concat(pl, \" InternalSlot has not been initialized\"));\n }\n return fields.reduce(function (all, f) {\n all[f] = slots[f];\n return all;\n }, Object.create(null));\n}\nexport function isLiteralPart(patternPart) {\n return patternPart.type === 'literal';\n}\n/*\n 17 ECMAScript Standard Built-in Objects:\n Every built-in Function object, including constructors, that is not\n identified as an anonymous function has a name property whose value\n is a String.\n\n Unless otherwise specified, the name property of a built-in Function\n object, if it exists, has the attributes { [[Writable]]: false,\n [[Enumerable]]: false, [[Configurable]]: true }.\n*/\nexport function defineProperty(target, name, _a) {\n var value = _a.value;\n Object.defineProperty(target, name, {\n configurable: true,\n enumerable: false,\n writable: true,\n value: value,\n });\n}\n/**\n * 7.3.5 CreateDataProperty\n * @param target\n * @param name\n * @param value\n */\nexport function createDataProperty(target, name, value) {\n Object.defineProperty(target, name, {\n configurable: true,\n enumerable: true,\n writable: true,\n value: value,\n });\n}\nexport var UNICODE_EXTENSION_SEQUENCE_REGEX = /-u(?:-[0-9a-z]{2,8})+/gi;\nexport function invariant(condition, message, Err) {\n if (Err === void 0) { Err = Error; }\n if (!condition) {\n throw new Err(message);\n }\n}\n","/**\n * The abstract operation ComputeExponentForMagnitude computes an exponent by which to scale a\n * number of the given magnitude (power of ten of the most significant digit) according to the\n * locale and the desired notation (scientific, engineering, or compact).\n */\nexport function ComputeExponentForMagnitude(numberFormat, magnitude, _a) {\n var getInternalSlots = _a.getInternalSlots;\n var internalSlots = getInternalSlots(numberFormat);\n var notation = internalSlots.notation, dataLocaleData = internalSlots.dataLocaleData, numberingSystem = internalSlots.numberingSystem;\n switch (notation) {\n case 'standard':\n return 0;\n case 'scientific':\n return magnitude;\n case 'engineering':\n return Math.floor(magnitude / 3) * 3;\n default: {\n // Let exponent be an implementation- and locale-dependent (ILD) integer by which to scale a\n // number of the given magnitude in compact notation for the current locale.\n var compactDisplay = internalSlots.compactDisplay, style = internalSlots.style, currencyDisplay = internalSlots.currencyDisplay;\n var thresholdMap = void 0;\n if (style === 'currency' && currencyDisplay !== 'name') {\n var currency = dataLocaleData.numbers.currency[numberingSystem] ||\n dataLocaleData.numbers.currency[dataLocaleData.numbers.nu[0]];\n thresholdMap = currency.short;\n }\n else {\n var decimal = dataLocaleData.numbers.decimal[numberingSystem] ||\n dataLocaleData.numbers.decimal[dataLocaleData.numbers.nu[0]];\n thresholdMap = compactDisplay === 'long' ? decimal.long : decimal.short;\n }\n if (!thresholdMap) {\n return 0;\n }\n var num = String(Math.pow(10, magnitude));\n var thresholds = Object.keys(thresholdMap); // TODO: this can be pre-processed\n if (num < thresholds[0]) {\n return 0;\n }\n if (num > thresholds[thresholds.length - 1]) {\n return thresholds[thresholds.length - 1].length - 1;\n }\n var i = thresholds.indexOf(num);\n if (i === -1) {\n return 0;\n }\n // See https://unicode.org/reports/tr35/tr35-numbers.html#Compact_Number_Formats\n // Special handling if the pattern is precisely `0`.\n var magnitudeKey = thresholds[i];\n // TODO: do we need to handle plural here?\n var compactPattern = thresholdMap[magnitudeKey].other;\n if (compactPattern === '0') {\n return 0;\n }\n // Example: in zh-TW, `10000000` maps to `0000萬`. So we need to return 8 - 4 = 4 here.\n return (magnitudeKey.length -\n thresholdMap[magnitudeKey].other.match(/0+/)[0].length);\n }\n }\n}\n","import { repeat, getMagnitude } from '../utils';\nexport function ToRawPrecision(x, minPrecision, maxPrecision) {\n var p = maxPrecision;\n var m;\n var e;\n var xFinal;\n if (x === 0) {\n m = repeat('0', p);\n e = 0;\n xFinal = 0;\n }\n else {\n var xToString = x.toString();\n // If xToString is formatted as scientific notation, the number is either very small or very\n // large. If the precision of the formatted string is lower that requested max precision, we\n // should still infer them from the formatted string, otherwise the formatted result might have\n // precision loss (e.g. 1e41 will not have 0 in every trailing digits).\n var xToStringExponentIndex = xToString.indexOf('e');\n var _a = xToString.split('e'), xToStringMantissa = _a[0], xToStringExponent = _a[1];\n var xToStringMantissaWithoutDecimalPoint = xToStringMantissa.replace('.', '');\n if (xToStringExponentIndex >= 0 &&\n xToStringMantissaWithoutDecimalPoint.length <= p) {\n e = +xToStringExponent;\n m =\n xToStringMantissaWithoutDecimalPoint +\n repeat('0', p - xToStringMantissaWithoutDecimalPoint.length);\n xFinal = x;\n }\n else {\n e = getMagnitude(x);\n var decimalPlaceOffset = e - p + 1;\n // n is the integer containing the required precision digits. To derive the formatted string,\n // we will adjust its decimal place in the logic below.\n var n = Math.round(adjustDecimalPlace(x, decimalPlaceOffset));\n // The rounding caused the change of magnitude, so we should increment `e` by 1.\n if (adjustDecimalPlace(n, p - 1) >= 10) {\n e = e + 1;\n // Divide n by 10 to swallow one precision.\n n = Math.floor(n / 10);\n }\n m = n.toString();\n // Equivalent of n * 10 ** (e - p + 1)\n xFinal = adjustDecimalPlace(n, p - 1 - e);\n }\n }\n var int;\n if (e >= p - 1) {\n m = m + repeat('0', e - p + 1);\n int = e + 1;\n }\n else if (e >= 0) {\n m = \"\".concat(m.slice(0, e + 1), \".\").concat(m.slice(e + 1));\n int = e + 1;\n }\n else {\n m = \"0.\".concat(repeat('0', -e - 1)).concat(m);\n int = 1;\n }\n if (m.indexOf('.') >= 0 && maxPrecision > minPrecision) {\n var cut = maxPrecision - minPrecision;\n while (cut > 0 && m[m.length - 1] === '0') {\n m = m.slice(0, -1);\n cut--;\n }\n if (m[m.length - 1] === '.') {\n m = m.slice(0, -1);\n }\n }\n return { formattedString: m, roundedNumber: xFinal, integerDigitsCount: int };\n // x / (10 ** magnitude), but try to preserve as much floating point precision as possible.\n function adjustDecimalPlace(x, magnitude) {\n return magnitude < 0 ? x * Math.pow(10, -magnitude) : x / Math.pow(10, magnitude);\n }\n}\n","import { repeat } from '../utils';\n/**\n * TODO: dedup with intl-pluralrules and support BigInt\n * https://tc39.es/ecma402/#sec-torawfixed\n * @param x a finite non-negative Number or BigInt\n * @param minFraction and integer between 0 and 20\n * @param maxFraction and integer between 0 and 20\n */\nexport function ToRawFixed(x, minFraction, maxFraction) {\n var f = maxFraction;\n var n = Math.round(x * Math.pow(10, f));\n var xFinal = n / Math.pow(10, f);\n // n is a positive integer, but it is possible to be greater than 1e21.\n // In such case we will go the slow path.\n // See also: https://tc39.es/ecma262/#sec-numeric-types-number-tostring\n var m;\n if (n < 1e21) {\n m = n.toString();\n }\n else {\n m = n.toString();\n var _a = m.split('e'), mantissa = _a[0], exponent = _a[1];\n m = mantissa.replace('.', '');\n m = m + repeat('0', Math.max(+exponent - m.length + 1, 0));\n }\n var int;\n if (f !== 0) {\n var k = m.length;\n if (k <= f) {\n var z = repeat('0', f + 1 - k);\n m = z + m;\n k = f + 1;\n }\n var a = m.slice(0, k - f);\n var b = m.slice(k - f);\n m = \"\".concat(a, \".\").concat(b);\n int = a.length;\n }\n else {\n int = m.length;\n }\n var cut = maxFraction - minFraction;\n while (cut > 0 && m[m.length - 1] === '0') {\n m = m.slice(0, -1);\n cut--;\n }\n if (m[m.length - 1] === '.') {\n m = m.slice(0, -1);\n }\n return { formattedString: m, roundedNumber: xFinal, integerDigitsCount: int };\n}\n","import { SameValue } from '../262';\nimport { ToRawPrecision } from './ToRawPrecision';\nimport { repeat } from '../utils';\nimport { ToRawFixed } from './ToRawFixed';\n/**\n * https://tc39.es/ecma402/#sec-formatnumberstring\n */\nexport function FormatNumericToString(intlObject, x) {\n var isNegative = x < 0 || SameValue(x, -0);\n if (isNegative) {\n x = -x;\n }\n var result;\n var rourndingType = intlObject.roundingType;\n switch (rourndingType) {\n case 'significantDigits':\n result = ToRawPrecision(x, intlObject.minimumSignificantDigits, intlObject.maximumSignificantDigits);\n break;\n case 'fractionDigits':\n result = ToRawFixed(x, intlObject.minimumFractionDigits, intlObject.maximumFractionDigits);\n break;\n default:\n result = ToRawPrecision(x, 1, 2);\n if (result.integerDigitsCount > 1) {\n result = ToRawFixed(x, 0, 0);\n }\n break;\n }\n x = result.roundedNumber;\n var string = result.formattedString;\n var int = result.integerDigitsCount;\n var minInteger = intlObject.minimumIntegerDigits;\n if (int < minInteger) {\n var forwardZeros = repeat('0', minInteger - int);\n string = forwardZeros + string;\n }\n if (isNegative) {\n x = -x;\n }\n return { roundedNumber: x, formattedString: string };\n}\n","import { getMagnitude } from '../utils';\nimport { ComputeExponentForMagnitude } from './ComputeExponentForMagnitude';\nimport { FormatNumericToString } from './FormatNumericToString';\n/**\n * The abstract operation ComputeExponent computes an exponent (power of ten) by which to scale x\n * according to the number formatting settings. It handles cases such as 999 rounding up to 1000,\n * requiring a different exponent.\n *\n * NOT IN SPEC: it returns [exponent, magnitude].\n */\nexport function ComputeExponent(numberFormat, x, _a) {\n var getInternalSlots = _a.getInternalSlots;\n if (x === 0) {\n return [0, 0];\n }\n if (x < 0) {\n x = -x;\n }\n var magnitude = getMagnitude(x);\n var exponent = ComputeExponentForMagnitude(numberFormat, magnitude, {\n getInternalSlots: getInternalSlots,\n });\n // Preserve more precision by doing multiplication when exponent is negative.\n x = exponent < 0 ? x * Math.pow(10, -exponent) : x / Math.pow(10, exponent);\n var formatNumberResult = FormatNumericToString(getInternalSlots(numberFormat), x);\n if (formatNumberResult.roundedNumber === 0) {\n return [exponent, magnitude];\n }\n var newMagnitude = getMagnitude(formatNumberResult.roundedNumber);\n if (newMagnitude === magnitude - exponent) {\n return [exponent, magnitude];\n }\n return [\n ComputeExponentForMagnitude(numberFormat, magnitude + 1, {\n getInternalSlots: getInternalSlots,\n }),\n magnitude + 1,\n ];\n}\n","import { HasOwnProperty } from '../262';\n/**\n * https://tc39.es/ecma402/#sec-currencydigits\n */\nexport function CurrencyDigits(c, _a) {\n var currencyDigitsData = _a.currencyDigitsData;\n return HasOwnProperty(currencyDigitsData, c)\n ? currencyDigitsData[c]\n : 2;\n}\n","/**\n * https://tc39.es/ecma402/#sec-formatapproximately\n */\nexport function FormatApproximately(numberFormat, result, _a) {\n var getInternalSlots = _a.getInternalSlots;\n var internalSlots = getInternalSlots(numberFormat);\n var symbols = internalSlots.dataLocaleData.numbers.symbols[internalSlots.numberingSystem];\n var approximatelySign = symbols.approximatelySign;\n result.push({ type: 'approximatelySign', value: approximatelySign });\n return result;\n}\n","// @generated from regex-gen.ts\nexport var S_UNICODE_REGEX = /[\\$\\+<->\\^`\\|~\\xA2-\\xA6\\xA8\\xA9\\xAC\\xAE-\\xB1\\xB4\\xB8\\xD7\\xF7\\u02C2-\\u02C5\\u02D2-\\u02DF\\u02E5-\\u02EB\\u02ED\\u02EF-\\u02FF\\u0375\\u0384\\u0385\\u03F6\\u0482\\u058D-\\u058F\\u0606-\\u0608\\u060B\\u060E\\u060F\\u06DE\\u06E9\\u06FD\\u06FE\\u07F6\\u07FE\\u07FF\\u09F2\\u09F3\\u09FA\\u09FB\\u0AF1\\u0B70\\u0BF3-\\u0BFA\\u0C7F\\u0D4F\\u0D79\\u0E3F\\u0F01-\\u0F03\\u0F13\\u0F15-\\u0F17\\u0F1A-\\u0F1F\\u0F34\\u0F36\\u0F38\\u0FBE-\\u0FC5\\u0FC7-\\u0FCC\\u0FCE\\u0FCF\\u0FD5-\\u0FD8\\u109E\\u109F\\u1390-\\u1399\\u166D\\u17DB\\u1940\\u19DE-\\u19FF\\u1B61-\\u1B6A\\u1B74-\\u1B7C\\u1FBD\\u1FBF-\\u1FC1\\u1FCD-\\u1FCF\\u1FDD-\\u1FDF\\u1FED-\\u1FEF\\u1FFD\\u1FFE\\u2044\\u2052\\u207A-\\u207C\\u208A-\\u208C\\u20A0-\\u20BF\\u2100\\u2101\\u2103-\\u2106\\u2108\\u2109\\u2114\\u2116-\\u2118\\u211E-\\u2123\\u2125\\u2127\\u2129\\u212E\\u213A\\u213B\\u2140-\\u2144\\u214A-\\u214D\\u214F\\u218A\\u218B\\u2190-\\u2307\\u230C-\\u2328\\u232B-\\u2426\\u2440-\\u244A\\u249C-\\u24E9\\u2500-\\u2767\\u2794-\\u27C4\\u27C7-\\u27E5\\u27F0-\\u2982\\u2999-\\u29D7\\u29DC-\\u29FB\\u29FE-\\u2B73\\u2B76-\\u2B95\\u2B97-\\u2BFF\\u2CE5-\\u2CEA\\u2E50\\u2E51\\u2E80-\\u2E99\\u2E9B-\\u2EF3\\u2F00-\\u2FD5\\u2FF0-\\u2FFB\\u3004\\u3012\\u3013\\u3020\\u3036\\u3037\\u303E\\u303F\\u309B\\u309C\\u3190\\u3191\\u3196-\\u319F\\u31C0-\\u31E3\\u3200-\\u321E\\u322A-\\u3247\\u3250\\u3260-\\u327F\\u328A-\\u32B0\\u32C0-\\u33FF\\u4DC0-\\u4DFF\\uA490-\\uA4C6\\uA700-\\uA716\\uA720\\uA721\\uA789\\uA78A\\uA828-\\uA82B\\uA836-\\uA839\\uAA77-\\uAA79\\uAB5B\\uAB6A\\uAB6B\\uFB29\\uFBB2-\\uFBC1\\uFDFC\\uFDFD\\uFE62\\uFE64-\\uFE66\\uFE69\\uFF04\\uFF0B\\uFF1C-\\uFF1E\\uFF3E\\uFF40\\uFF5C\\uFF5E\\uFFE0-\\uFFE6\\uFFE8-\\uFFEE\\uFFFC\\uFFFD]|\\uD800[\\uDD37-\\uDD3F\\uDD79-\\uDD89\\uDD8C-\\uDD8E\\uDD90-\\uDD9C\\uDDA0\\uDDD0-\\uDDFC]|\\uD802[\\uDC77\\uDC78\\uDEC8]|\\uD805\\uDF3F|\\uD807[\\uDFD5-\\uDFF1]|\\uD81A[\\uDF3C-\\uDF3F\\uDF45]|\\uD82F\\uDC9C|\\uD834[\\uDC00-\\uDCF5\\uDD00-\\uDD26\\uDD29-\\uDD64\\uDD6A-\\uDD6C\\uDD83\\uDD84\\uDD8C-\\uDDA9\\uDDAE-\\uDDE8\\uDE00-\\uDE41\\uDE45\\uDF00-\\uDF56]|\\uD835[\\uDEC1\\uDEDB\\uDEFB\\uDF15\\uDF35\\uDF4F\\uDF6F\\uDF89\\uDFA9\\uDFC3]|\\uD836[\\uDC00-\\uDDFF\\uDE37-\\uDE3A\\uDE6D-\\uDE74\\uDE76-\\uDE83\\uDE85\\uDE86]|\\uD838[\\uDD4F\\uDEFF]|\\uD83B[\\uDCAC\\uDCB0\\uDD2E\\uDEF0\\uDEF1]|\\uD83C[\\uDC00-\\uDC2B\\uDC30-\\uDC93\\uDCA0-\\uDCAE\\uDCB1-\\uDCBF\\uDCC1-\\uDCCF\\uDCD1-\\uDCF5\\uDD0D-\\uDDAD\\uDDE6-\\uDE02\\uDE10-\\uDE3B\\uDE40-\\uDE48\\uDE50\\uDE51\\uDE60-\\uDE65\\uDF00-\\uDFFF]|\\uD83D[\\uDC00-\\uDED7\\uDEE0-\\uDEEC\\uDEF0-\\uDEFC\\uDF00-\\uDF73\\uDF80-\\uDFD8\\uDFE0-\\uDFEB]|\\uD83E[\\uDC00-\\uDC0B\\uDC10-\\uDC47\\uDC50-\\uDC59\\uDC60-\\uDC87\\uDC90-\\uDCAD\\uDCB0\\uDCB1\\uDD00-\\uDD78\\uDD7A-\\uDDCB\\uDDCD-\\uDE53\\uDE60-\\uDE6D\\uDE70-\\uDE74\\uDE78-\\uDE7A\\uDE80-\\uDE86\\uDE90-\\uDEA8\\uDEB0-\\uDEB6\\uDEC0-\\uDEC2\\uDED0-\\uDED6\\uDF00-\\uDF92\\uDF94-\\uDFCA]/;\n","export var digitMapping = {\n \"adlm\": [\n \"𞥐\",\n \"𞥑\",\n \"𞥒\",\n \"𞥓\",\n \"𞥔\",\n \"𞥕\",\n \"𞥖\",\n \"𞥗\",\n \"𞥘\",\n \"𞥙\"\n ],\n \"ahom\": [\n \"𑜰\",\n \"𑜱\",\n \"𑜲\",\n \"𑜳\",\n \"𑜴\",\n \"𑜵\",\n \"𑜶\",\n \"𑜷\",\n \"𑜸\",\n \"𑜹\"\n ],\n \"arab\": [\n \"٠\",\n \"١\",\n \"٢\",\n \"٣\",\n \"٤\",\n \"٥\",\n \"٦\",\n \"٧\",\n \"٨\",\n \"٩\"\n ],\n \"arabext\": [\n \"۰\",\n \"۱\",\n \"۲\",\n \"۳\",\n \"۴\",\n \"۵\",\n \"۶\",\n \"۷\",\n \"۸\",\n \"۹\"\n ],\n \"bali\": [\n \"᭐\",\n \"᭑\",\n \"᭒\",\n \"᭓\",\n \"᭔\",\n \"᭕\",\n \"᭖\",\n \"᭗\",\n \"᭘\",\n \"᭙\"\n ],\n \"beng\": [\n \"০\",\n \"১\",\n \"২\",\n \"৩\",\n \"৪\",\n \"৫\",\n \"৬\",\n \"৭\",\n \"৮\",\n \"৯\"\n ],\n \"bhks\": [\n \"𑱐\",\n \"𑱑\",\n \"𑱒\",\n \"𑱓\",\n \"𑱔\",\n \"𑱕\",\n \"𑱖\",\n \"𑱗\",\n \"𑱘\",\n \"𑱙\"\n ],\n \"brah\": [\n \"𑁦\",\n \"𑁧\",\n \"𑁨\",\n \"𑁩\",\n \"𑁪\",\n \"𑁫\",\n \"𑁬\",\n \"𑁭\",\n \"𑁮\",\n \"𑁯\"\n ],\n \"cakm\": [\n \"𑄶\",\n \"𑄷\",\n \"𑄸\",\n \"𑄹\",\n \"𑄺\",\n \"𑄻\",\n \"𑄼\",\n \"𑄽\",\n \"𑄾\",\n \"𑄿\"\n ],\n \"cham\": [\n \"꩐\",\n \"꩑\",\n \"꩒\",\n \"꩓\",\n \"꩔\",\n \"꩕\",\n \"꩖\",\n \"꩗\",\n \"꩘\",\n \"꩙\"\n ],\n \"deva\": [\n \"०\",\n \"१\",\n \"२\",\n \"३\",\n \"४\",\n \"५\",\n \"६\",\n \"७\",\n \"८\",\n \"९\"\n ],\n \"diak\": [\n \"𑥐\",\n \"𑥑\",\n \"𑥒\",\n \"𑥓\",\n \"𑥔\",\n \"𑥕\",\n \"𑥖\",\n \"𑥗\",\n \"𑥘\",\n \"𑥙\"\n ],\n \"fullwide\": [\n \"0\",\n \"1\",\n \"2\",\n \"3\",\n \"4\",\n \"5\",\n \"6\",\n \"7\",\n \"8\",\n \"9\"\n ],\n \"gong\": [\n \"𑶠\",\n \"𑶡\",\n \"𑶢\",\n \"𑶣\",\n \"𑶤\",\n \"𑶥\",\n \"𑶦\",\n \"𑶧\",\n \"𑶨\",\n \"𑶩\"\n ],\n \"gonm\": [\n \"𑵐\",\n \"𑵑\",\n \"𑵒\",\n \"𑵓\",\n \"𑵔\",\n \"𑵕\",\n \"𑵖\",\n \"𑵗\",\n \"𑵘\",\n \"𑵙\"\n ],\n \"gujr\": [\n \"૦\",\n \"૧\",\n \"૨\",\n \"૩\",\n \"૪\",\n \"૫\",\n \"૬\",\n \"૭\",\n \"૮\",\n \"૯\"\n ],\n \"guru\": [\n \"੦\",\n \"੧\",\n \"੨\",\n \"੩\",\n \"੪\",\n \"੫\",\n \"੬\",\n \"੭\",\n \"੮\",\n \"੯\"\n ],\n \"hanidec\": [\n \"〇\",\n \"一\",\n \"二\",\n \"三\",\n \"四\",\n \"五\",\n \"六\",\n \"七\",\n \"八\",\n \"九\"\n ],\n \"hmng\": [\n \"𖭐\",\n \"𖭑\",\n \"𖭒\",\n \"𖭓\",\n \"𖭔\",\n \"𖭕\",\n \"𖭖\",\n \"𖭗\",\n \"𖭘\",\n \"𖭙\"\n ],\n \"hmnp\": [\n \"𞅀\",\n \"𞅁\",\n \"𞅂\",\n \"𞅃\",\n \"𞅄\",\n \"𞅅\",\n \"𞅆\",\n \"𞅇\",\n \"𞅈\",\n \"𞅉\"\n ],\n \"java\": [\n \"꧐\",\n \"꧑\",\n \"꧒\",\n \"꧓\",\n \"꧔\",\n \"꧕\",\n \"꧖\",\n \"꧗\",\n \"꧘\",\n \"꧙\"\n ],\n \"kali\": [\n \"꤀\",\n \"꤁\",\n \"꤂\",\n \"꤃\",\n \"꤄\",\n \"꤅\",\n \"꤆\",\n \"꤇\",\n \"꤈\",\n \"꤉\"\n ],\n \"khmr\": [\n \"០\",\n \"១\",\n \"២\",\n \"៣\",\n \"៤\",\n \"៥\",\n \"៦\",\n \"៧\",\n \"៨\",\n \"៩\"\n ],\n \"knda\": [\n \"೦\",\n \"೧\",\n \"೨\",\n \"೩\",\n \"೪\",\n \"೫\",\n \"೬\",\n \"೭\",\n \"೮\",\n \"೯\"\n ],\n \"lana\": [\n \"᪀\",\n \"᪁\",\n \"᪂\",\n \"᪃\",\n \"᪄\",\n \"᪅\",\n \"᪆\",\n \"᪇\",\n \"᪈\",\n \"᪉\"\n ],\n \"lanatham\": [\n \"᪐\",\n \"᪑\",\n \"᪒\",\n \"᪓\",\n \"᪔\",\n \"᪕\",\n \"᪖\",\n \"᪗\",\n \"᪘\",\n \"᪙\"\n ],\n \"laoo\": [\n \"໐\",\n \"໑\",\n \"໒\",\n \"໓\",\n \"໔\",\n \"໕\",\n \"໖\",\n \"໗\",\n \"໘\",\n \"໙\"\n ],\n \"lepc\": [\n \"᪐\",\n \"᪑\",\n \"᪒\",\n \"᪓\",\n \"᪔\",\n \"᪕\",\n \"᪖\",\n \"᪗\",\n \"᪘\",\n \"᪙\"\n ],\n \"limb\": [\n \"᥆\",\n \"᥇\",\n \"᥈\",\n \"᥉\",\n \"᥊\",\n \"᥋\",\n \"᥌\",\n \"᥍\",\n \"᥎\",\n \"᥏\"\n ],\n \"mathbold\": [\n \"𝟎\",\n \"𝟏\",\n \"𝟐\",\n \"𝟑\",\n \"𝟒\",\n \"𝟓\",\n \"𝟔\",\n \"𝟕\",\n \"𝟖\",\n \"𝟗\"\n ],\n \"mathdbl\": [\n \"𝟘\",\n \"𝟙\",\n \"𝟚\",\n \"𝟛\",\n \"𝟜\",\n \"𝟝\",\n \"𝟞\",\n \"𝟟\",\n \"𝟠\",\n \"𝟡\"\n ],\n \"mathmono\": [\n \"𝟶\",\n \"𝟷\",\n \"𝟸\",\n \"𝟹\",\n \"𝟺\",\n \"𝟻\",\n \"𝟼\",\n \"𝟽\",\n \"𝟾\",\n \"𝟿\"\n ],\n \"mathsanb\": [\n \"𝟬\",\n \"𝟭\",\n \"𝟮\",\n \"𝟯\",\n \"𝟰\",\n \"𝟱\",\n \"𝟲\",\n \"𝟳\",\n \"𝟴\",\n \"𝟵\"\n ],\n \"mathsans\": [\n \"𝟢\",\n \"𝟣\",\n \"𝟤\",\n \"𝟥\",\n \"𝟦\",\n \"𝟧\",\n \"𝟨\",\n \"𝟩\",\n \"𝟪\",\n \"𝟫\"\n ],\n \"mlym\": [\n \"൦\",\n \"൧\",\n \"൨\",\n \"൩\",\n \"൪\",\n \"൫\",\n \"൬\",\n \"൭\",\n \"൮\",\n \"൯\"\n ],\n \"modi\": [\n \"𑙐\",\n \"𑙑\",\n \"𑙒\",\n \"𑙓\",\n \"𑙔\",\n \"𑙕\",\n \"𑙖\",\n \"𑙗\",\n \"𑙘\",\n \"𑙙\"\n ],\n \"mong\": [\n \"᠐\",\n \"᠑\",\n \"᠒\",\n \"᠓\",\n \"᠔\",\n \"᠕\",\n \"᠖\",\n \"᠗\",\n \"᠘\",\n \"᠙\"\n ],\n \"mroo\": [\n \"𖩠\",\n \"𖩡\",\n \"𖩢\",\n \"𖩣\",\n \"𖩤\",\n \"𖩥\",\n \"𖩦\",\n \"𖩧\",\n \"𖩨\",\n \"𖩩\"\n ],\n \"mtei\": [\n \"꯰\",\n \"꯱\",\n \"꯲\",\n \"꯳\",\n \"꯴\",\n \"꯵\",\n \"꯶\",\n \"꯷\",\n \"꯸\",\n \"꯹\"\n ],\n \"mymr\": [\n \"၀\",\n \"၁\",\n \"၂\",\n \"၃\",\n \"၄\",\n \"၅\",\n \"၆\",\n \"၇\",\n \"၈\",\n \"၉\"\n ],\n \"mymrshan\": [\n \"႐\",\n \"႑\",\n \"႒\",\n \"႓\",\n \"႔\",\n \"႕\",\n \"႖\",\n \"႗\",\n \"႘\",\n \"႙\"\n ],\n \"mymrtlng\": [\n \"꧰\",\n \"꧱\",\n \"꧲\",\n \"꧳\",\n \"꧴\",\n \"꧵\",\n \"꧶\",\n \"꧷\",\n \"꧸\",\n \"꧹\"\n ],\n \"newa\": [\n \"𑑐\",\n \"𑑑\",\n \"𑑒\",\n \"𑑓\",\n \"𑑔\",\n \"𑑕\",\n \"𑑖\",\n \"𑑗\",\n \"𑑘\",\n \"𑑙\"\n ],\n \"nkoo\": [\n \"߀\",\n \"߁\",\n \"߂\",\n \"߃\",\n \"߄\",\n \"߅\",\n \"߆\",\n \"߇\",\n \"߈\",\n \"߉\"\n ],\n \"olck\": [\n \"᱐\",\n \"᱑\",\n \"᱒\",\n \"᱓\",\n \"᱔\",\n \"᱕\",\n \"᱖\",\n \"᱗\",\n \"᱘\",\n \"᱙\"\n ],\n \"orya\": [\n \"୦\",\n \"୧\",\n \"୨\",\n \"୩\",\n \"୪\",\n \"୫\",\n \"୬\",\n \"୭\",\n \"୮\",\n \"୯\"\n ],\n \"osma\": [\n \"𐒠\",\n \"𐒡\",\n \"𐒢\",\n \"𐒣\",\n \"𐒤\",\n \"𐒥\",\n \"𐒦\",\n \"𐒧\",\n \"𐒨\",\n \"𐒩\"\n ],\n \"rohg\": [\n \"𐴰\",\n \"𐴱\",\n \"𐴲\",\n \"𐴳\",\n \"𐴴\",\n \"𐴵\",\n \"𐴶\",\n \"𐴷\",\n \"𐴸\",\n \"𐴹\"\n ],\n \"saur\": [\n \"꣐\",\n \"꣑\",\n \"꣒\",\n \"꣓\",\n \"꣔\",\n \"꣕\",\n \"꣖\",\n \"꣗\",\n \"꣘\",\n \"꣙\"\n ],\n \"segment\": [\n \"🯰\",\n \"🯱\",\n \"🯲\",\n \"🯳\",\n \"🯴\",\n \"🯵\",\n \"🯶\",\n \"🯷\",\n \"🯸\",\n \"🯹\"\n ],\n \"shrd\": [\n \"𑇐\",\n \"𑇑\",\n \"𑇒\",\n \"𑇓\",\n \"𑇔\",\n \"𑇕\",\n \"𑇖\",\n \"𑇗\",\n \"𑇘\",\n \"𑇙\"\n ],\n \"sind\": [\n \"𑋰\",\n \"𑋱\",\n \"𑋲\",\n \"𑋳\",\n \"𑋴\",\n \"𑋵\",\n \"𑋶\",\n \"𑋷\",\n \"𑋸\",\n \"𑋹\"\n ],\n \"sinh\": [\n \"෦\",\n \"෧\",\n \"෨\",\n \"෩\",\n \"෪\",\n \"෫\",\n \"෬\",\n \"෭\",\n \"෮\",\n \"෯\"\n ],\n \"sora\": [\n \"𑃰\",\n \"𑃱\",\n \"𑃲\",\n \"𑃳\",\n \"𑃴\",\n \"𑃵\",\n \"𑃶\",\n \"𑃷\",\n \"𑃸\",\n \"𑃹\"\n ],\n \"sund\": [\n \"᮰\",\n \"᮱\",\n \"᮲\",\n \"᮳\",\n \"᮴\",\n \"᮵\",\n \"᮶\",\n \"᮷\",\n \"᮸\",\n \"᮹\"\n ],\n \"takr\": [\n \"𑛀\",\n \"𑛁\",\n \"𑛂\",\n \"𑛃\",\n \"𑛄\",\n \"𑛅\",\n \"𑛆\",\n \"𑛇\",\n \"𑛈\",\n \"𑛉\"\n ],\n \"talu\": [\n \"᧐\",\n \"᧑\",\n \"᧒\",\n \"᧓\",\n \"᧔\",\n \"᧕\",\n \"᧖\",\n \"᧗\",\n \"᧘\",\n \"᧙\"\n ],\n \"tamldec\": [\n \"௦\",\n \"௧\",\n \"௨\",\n \"௩\",\n \"௪\",\n \"௫\",\n \"௬\",\n \"௭\",\n \"௮\",\n \"௯\"\n ],\n \"telu\": [\n \"౦\",\n \"౧\",\n \"౨\",\n \"౩\",\n \"౪\",\n \"౫\",\n \"౬\",\n \"౭\",\n \"౮\",\n \"౯\"\n ],\n \"thai\": [\n \"๐\",\n \"๑\",\n \"๒\",\n \"๓\",\n \"๔\",\n \"๕\",\n \"๖\",\n \"๗\",\n \"๘\",\n \"๙\"\n ],\n \"tibt\": [\n \"༠\",\n \"༡\",\n \"༢\",\n \"༣\",\n \"༤\",\n \"༥\",\n \"༦\",\n \"༧\",\n \"༨\",\n \"༩\"\n ],\n \"tirh\": [\n \"𑓐\",\n \"𑓑\",\n \"𑓒\",\n \"𑓓\",\n \"𑓔\",\n \"𑓕\",\n \"𑓖\",\n \"𑓗\",\n \"𑓘\",\n \"𑓙\"\n ],\n \"vaii\": [\n \"ᘠ\",\n \"ᘡ\",\n \"ᘢ\",\n \"ᘣ\",\n \"ᘤ\",\n \"ᘥ\",\n \"ᘦ\",\n \"ᘧ\",\n \"ᘨ\",\n \"ᘩ\"\n ],\n \"wara\": [\n \"𑣠\",\n \"𑣡\",\n \"𑣢\",\n \"𑣣\",\n \"𑣤\",\n \"𑣥\",\n \"𑣦\",\n \"𑣧\",\n \"𑣨\",\n \"𑣩\"\n ],\n \"wcho\": [\n \"𞋰\",\n \"𞋱\",\n \"𞋲\",\n \"𞋳\",\n \"𞋴\",\n \"𞋵\",\n \"𞋶\",\n \"𞋷\",\n \"𞋸\",\n \"𞋹\"\n ]\n};\n","import { S_UNICODE_REGEX } from '../regex.generated';\nimport { ToRawFixed } from './ToRawFixed';\nimport { digitMapping } from './digit-mapping.generated';\n// This is from: unicode-12.1.0/General_Category/Symbol/regex.js\n// IE11 does not support unicode flag, otherwise this is just /\\p{S}/u.\n// /^\\p{S}/u\nvar CARET_S_UNICODE_REGEX = new RegExp(\"^\".concat(S_UNICODE_REGEX.source));\n// /\\p{S}$/u\nvar S_DOLLAR_UNICODE_REGEX = new RegExp(\"\".concat(S_UNICODE_REGEX.source, \"$\"));\nvar CLDR_NUMBER_PATTERN = /[#0](?:[\\.,][#0]+)*/g;\nexport default function formatToParts(numberResult, data, pl, options) {\n var sign = numberResult.sign, exponent = numberResult.exponent, magnitude = numberResult.magnitude;\n var notation = options.notation, style = options.style, numberingSystem = options.numberingSystem;\n var defaultNumberingSystem = data.numbers.nu[0];\n // #region Part 1: partition and interpolate the CLDR number pattern.\n // ----------------------------------------------------------\n var compactNumberPattern = null;\n if (notation === 'compact' && magnitude) {\n compactNumberPattern = getCompactDisplayPattern(numberResult, pl, data, style, options.compactDisplay, options.currencyDisplay, numberingSystem);\n }\n // This is used multiple times\n var nonNameCurrencyPart;\n if (style === 'currency' && options.currencyDisplay !== 'name') {\n var byCurrencyDisplay = data.currencies[options.currency];\n if (byCurrencyDisplay) {\n switch (options.currencyDisplay) {\n case 'code':\n nonNameCurrencyPart = options.currency;\n break;\n case 'symbol':\n nonNameCurrencyPart = byCurrencyDisplay.symbol;\n break;\n default:\n nonNameCurrencyPart = byCurrencyDisplay.narrow;\n break;\n }\n }\n else {\n // Fallback for unknown currency\n nonNameCurrencyPart = options.currency;\n }\n }\n var numberPattern;\n if (!compactNumberPattern) {\n // Note: if the style is unit, or is currency and the currency display is name,\n // its unit parts will be interpolated in part 2. So here we can fallback to decimal.\n if (style === 'decimal' ||\n style === 'unit' ||\n (style === 'currency' && options.currencyDisplay === 'name')) {\n // Shortcut for decimal\n var decimalData = data.numbers.decimal[numberingSystem] ||\n data.numbers.decimal[defaultNumberingSystem];\n numberPattern = getPatternForSign(decimalData.standard, sign);\n }\n else if (style === 'currency') {\n var currencyData = data.numbers.currency[numberingSystem] ||\n data.numbers.currency[defaultNumberingSystem];\n // We replace number pattern part with `0` for easier postprocessing.\n numberPattern = getPatternForSign(currencyData[options.currencySign], sign);\n }\n else {\n // percent\n var percentPattern = data.numbers.percent[numberingSystem] ||\n data.numbers.percent[defaultNumberingSystem];\n numberPattern = getPatternForSign(percentPattern, sign);\n }\n }\n else {\n numberPattern = compactNumberPattern;\n }\n // Extract the decimal number pattern string. It looks like \"#,##0,00\", which will later be\n // used to infer decimal group sizes.\n var decimalNumberPattern = CLDR_NUMBER_PATTERN.exec(numberPattern)[0];\n // Now we start to substitute patterns\n // 1. replace strings like `0` and `#,##0.00` with `{0}`\n // 2. unquote characters (invariant: the quoted characters does not contain the special tokens)\n numberPattern = numberPattern\n .replace(CLDR_NUMBER_PATTERN, '{0}')\n .replace(/'(.)'/g, '$1');\n // Handle currency spacing (both compact and non-compact).\n if (style === 'currency' && options.currencyDisplay !== 'name') {\n var currencyData = data.numbers.currency[numberingSystem] ||\n data.numbers.currency[defaultNumberingSystem];\n // See `currencySpacing` substitution rule in TR-35.\n // Here we always assume the currencyMatch is \"[:^S:]\" and surroundingMatch is \"[:digit:]\".\n //\n // Example 1: for pattern \"#,##0.00¤\" with symbol \"US$\", we replace \"¤\" with the symbol,\n // but insert an extra non-break space before the symbol, because \"[:^S:]\" matches \"U\" in\n // \"US$\" and \"[:digit:]\" matches the latn numbering system digits.\n //\n // Example 2: for pattern \"¤#,##0.00\" with symbol \"US$\", there is no spacing between symbol\n // and number, because `$` does not match \"[:^S:]\".\n //\n // Implementation note: here we do the best effort to infer the insertion.\n // We also assume that `beforeInsertBetween` and `afterInsertBetween` will never be `;`.\n var afterCurrency = currencyData.currencySpacing.afterInsertBetween;\n if (afterCurrency && !S_DOLLAR_UNICODE_REGEX.test(nonNameCurrencyPart)) {\n numberPattern = numberPattern.replace('¤{0}', \"\\u00A4\".concat(afterCurrency, \"{0}\"));\n }\n var beforeCurrency = currencyData.currencySpacing.beforeInsertBetween;\n if (beforeCurrency && !CARET_S_UNICODE_REGEX.test(nonNameCurrencyPart)) {\n numberPattern = numberPattern.replace('{0}¤', \"{0}\".concat(beforeCurrency, \"\\u00A4\"));\n }\n }\n // The following tokens are special: `{0}`, `¤`, `%`, `-`, `+`, `{c:...}.\n var numberPatternParts = numberPattern.split(/({c:[^}]+}|\\{0\\}|[¤%\\-\\+])/g);\n var numberParts = [];\n var symbols = data.numbers.symbols[numberingSystem] ||\n data.numbers.symbols[defaultNumberingSystem];\n for (var _i = 0, numberPatternParts_1 = numberPatternParts; _i < numberPatternParts_1.length; _i++) {\n var part = numberPatternParts_1[_i];\n if (!part) {\n continue;\n }\n switch (part) {\n case '{0}': {\n // We only need to handle scientific and engineering notation here.\n numberParts.push.apply(numberParts, paritionNumberIntoParts(symbols, numberResult, notation, exponent, numberingSystem, \n // If compact number pattern exists, do not insert group separators.\n !compactNumberPattern && Boolean(options.useGrouping), decimalNumberPattern, style));\n break;\n }\n case '-':\n numberParts.push({ type: 'minusSign', value: symbols.minusSign });\n break;\n case '+':\n numberParts.push({ type: 'plusSign', value: symbols.plusSign });\n break;\n case '%':\n numberParts.push({ type: 'percentSign', value: symbols.percentSign });\n break;\n case '¤':\n // Computed above when handling currency spacing.\n numberParts.push({ type: 'currency', value: nonNameCurrencyPart });\n break;\n default:\n if (/^\\{c:/.test(part)) {\n numberParts.push({\n type: 'compact',\n value: part.substring(3, part.length - 1),\n });\n }\n else {\n // literal\n numberParts.push({ type: 'literal', value: part });\n }\n break;\n }\n }\n // #endregion\n // #region Part 2: interpolate unit pattern if necessary.\n // ----------------------------------------------\n switch (style) {\n case 'currency': {\n // `currencyDisplay: 'name'` has similar pattern handling as units.\n if (options.currencyDisplay === 'name') {\n var unitPattern = (data.numbers.currency[numberingSystem] ||\n data.numbers.currency[defaultNumberingSystem]).unitPattern;\n // Select plural\n var unitName = void 0;\n var currencyNameData = data.currencies[options.currency];\n if (currencyNameData) {\n unitName = selectPlural(pl, numberResult.roundedNumber * Math.pow(10, exponent), currencyNameData.displayName);\n }\n else {\n // Fallback for unknown currency\n unitName = options.currency;\n }\n // Do {0} and {1} substitution\n var unitPatternParts = unitPattern.split(/(\\{[01]\\})/g);\n var result = [];\n for (var _a = 0, unitPatternParts_1 = unitPatternParts; _a < unitPatternParts_1.length; _a++) {\n var part = unitPatternParts_1[_a];\n switch (part) {\n case '{0}':\n result.push.apply(result, numberParts);\n break;\n case '{1}':\n result.push({ type: 'currency', value: unitName });\n break;\n default:\n if (part) {\n result.push({ type: 'literal', value: part });\n }\n break;\n }\n }\n return result;\n }\n else {\n return numberParts;\n }\n }\n case 'unit': {\n var unit = options.unit, unitDisplay = options.unitDisplay;\n var unitData = data.units.simple[unit];\n var unitPattern = void 0;\n if (unitData) {\n // Simple unit pattern\n unitPattern = selectPlural(pl, numberResult.roundedNumber * Math.pow(10, exponent), data.units.simple[unit][unitDisplay]);\n }\n else {\n // See: http://unicode.org/reports/tr35/tr35-general.html#perUnitPatterns\n // If cannot find unit in the simple pattern, it must be \"per\" compound pattern.\n // Implementation note: we are not following TR-35 here because we need to format to parts!\n var _b = unit.split('-per-'), numeratorUnit = _b[0], denominatorUnit = _b[1];\n unitData = data.units.simple[numeratorUnit];\n var numeratorUnitPattern = selectPlural(pl, numberResult.roundedNumber * Math.pow(10, exponent), data.units.simple[numeratorUnit][unitDisplay]);\n var perUnitPattern = data.units.simple[denominatorUnit].perUnit[unitDisplay];\n if (perUnitPattern) {\n // perUnitPattern exists, combine it with numeratorUnitPattern\n unitPattern = perUnitPattern.replace('{0}', numeratorUnitPattern);\n }\n else {\n // get compoundUnit pattern (e.g. \"{0} per {1}\"), repalce {0} with numerator pattern and {1} with\n // the denominator pattern in singular form.\n var perPattern = data.units.compound.per[unitDisplay];\n var denominatorPattern = selectPlural(pl, 1, data.units.simple[denominatorUnit][unitDisplay]);\n unitPattern = unitPattern = perPattern\n .replace('{0}', numeratorUnitPattern)\n .replace('{1}', denominatorPattern.replace('{0}', ''));\n }\n }\n var result = [];\n // We need spacing around \"{0}\" because they are not treated as \"unit\" parts, but \"literal\".\n for (var _c = 0, _d = unitPattern.split(/(\\s*\\{0\\}\\s*)/); _c < _d.length; _c++) {\n var part = _d[_c];\n var interpolateMatch = /^(\\s*)\\{0\\}(\\s*)$/.exec(part);\n if (interpolateMatch) {\n // Space before \"{0}\"\n if (interpolateMatch[1]) {\n result.push({ type: 'literal', value: interpolateMatch[1] });\n }\n // \"{0}\" itself\n result.push.apply(result, numberParts);\n // Space after \"{0}\"\n if (interpolateMatch[2]) {\n result.push({ type: 'literal', value: interpolateMatch[2] });\n }\n }\n else if (part) {\n result.push({ type: 'unit', value: part });\n }\n }\n return result;\n }\n default:\n return numberParts;\n }\n // #endregion\n}\n// A subset of https://tc39.es/ecma402/#sec-partitionnotationsubpattern\n// Plus the exponent parts handling.\nfunction paritionNumberIntoParts(symbols, numberResult, notation, exponent, numberingSystem, useGrouping, \n/**\n * This is the decimal number pattern without signs or symbols.\n * It is used to infer the group size when `useGrouping` is true.\n *\n * A typical value looks like \"#,##0.00\" (primary group size is 3).\n * Some locales like Hindi has secondary group size of 2 (e.g. \"#,##,##0.00\").\n */\ndecimalNumberPattern, style) {\n var result = [];\n // eslint-disable-next-line prefer-const\n var n = numberResult.formattedString, x = numberResult.roundedNumber;\n if (isNaN(x)) {\n return [{ type: 'nan', value: n }];\n }\n else if (!isFinite(x)) {\n return [{ type: 'infinity', value: n }];\n }\n var digitReplacementTable = digitMapping[numberingSystem];\n if (digitReplacementTable) {\n n = n.replace(/\\d/g, function (digit) { return digitReplacementTable[+digit] || digit; });\n }\n // TODO: Else use an implementation dependent algorithm to map n to the appropriate\n // representation of n in the given numbering system.\n var decimalSepIndex = n.indexOf('.');\n var integer;\n var fraction;\n if (decimalSepIndex > 0) {\n integer = n.slice(0, decimalSepIndex);\n fraction = n.slice(decimalSepIndex + 1);\n }\n else {\n integer = n;\n }\n // #region Grouping integer digits\n // The weird compact and x >= 10000 check is to ensure consistency with Node.js and Chrome.\n // Note that `de` does not have compact form for thousands, but Node.js does not insert grouping separator\n // unless the rounded number is greater than 10000:\n // NumberFormat('de', {notation: 'compact', compactDisplay: 'short'}).format(1234) //=> \"1234\"\n // NumberFormat('de').format(1234) //=> \"1.234\"\n if (useGrouping && (notation !== 'compact' || x >= 10000)) {\n // a. Let groupSepSymbol be the implementation-, locale-, and numbering system-dependent (ILND) String representing the grouping separator.\n // For currency we should use `currencyGroup` instead of generic `group`\n var groupSepSymbol = style === 'currency' && symbols.currencyGroup != null\n ? symbols.currencyGroup\n : symbols.group;\n var groups = [];\n // > There may be two different grouping sizes: The primary grouping size used for the least\n // > significant integer group, and the secondary grouping size used for more significant groups.\n // > If a pattern contains multiple grouping separators, the interval between the last one and the\n // > end of the integer defines the primary grouping size, and the interval between the last two\n // > defines the secondary grouping size. All others are ignored.\n var integerNumberPattern = decimalNumberPattern.split('.')[0];\n var patternGroups = integerNumberPattern.split(',');\n var primaryGroupingSize = 3;\n var secondaryGroupingSize = 3;\n if (patternGroups.length > 1) {\n primaryGroupingSize = patternGroups[patternGroups.length - 1].length;\n }\n if (patternGroups.length > 2) {\n secondaryGroupingSize = patternGroups[patternGroups.length - 2].length;\n }\n var i = integer.length - primaryGroupingSize;\n if (i > 0) {\n // Slice the least significant integer group\n groups.push(integer.slice(i, i + primaryGroupingSize));\n // Then iteratively push the more signicant groups\n // TODO: handle surrogate pairs in some numbering system digits\n for (i -= secondaryGroupingSize; i > 0; i -= secondaryGroupingSize) {\n groups.push(integer.slice(i, i + secondaryGroupingSize));\n }\n groups.push(integer.slice(0, i + secondaryGroupingSize));\n }\n else {\n groups.push(integer);\n }\n while (groups.length > 0) {\n var integerGroup = groups.pop();\n result.push({ type: 'integer', value: integerGroup });\n if (groups.length > 0) {\n result.push({ type: 'group', value: groupSepSymbol });\n }\n }\n }\n else {\n result.push({ type: 'integer', value: integer });\n }\n // #endregion\n if (fraction !== undefined) {\n var decimalSepSymbol = style === 'currency' && symbols.currencyDecimal != null\n ? symbols.currencyDecimal\n : symbols.decimal;\n result.push({ type: 'decimal', value: decimalSepSymbol }, { type: 'fraction', value: fraction });\n }\n if ((notation === 'scientific' || notation === 'engineering') &&\n isFinite(x)) {\n result.push({ type: 'exponentSeparator', value: symbols.exponential });\n if (exponent < 0) {\n result.push({ type: 'exponentMinusSign', value: symbols.minusSign });\n exponent = -exponent;\n }\n var exponentResult = ToRawFixed(exponent, 0, 0);\n result.push({\n type: 'exponentInteger',\n value: exponentResult.formattedString,\n });\n }\n return result;\n}\nfunction getPatternForSign(pattern, sign) {\n if (pattern.indexOf(';') < 0) {\n pattern = \"\".concat(pattern, \";-\").concat(pattern);\n }\n var _a = pattern.split(';'), zeroPattern = _a[0], negativePattern = _a[1];\n switch (sign) {\n case 0:\n return zeroPattern;\n case -1:\n return negativePattern;\n default:\n return negativePattern.indexOf('-') >= 0\n ? negativePattern.replace(/-/g, '+')\n : \"+\".concat(zeroPattern);\n }\n}\n// Find the CLDR pattern for compact notation based on the magnitude of data and style.\n//\n// Example return value: \"¤ {c:laki}000;¤{c:laki} -0\" (`sw` locale):\n// - Notice the `{c:...}` token that wraps the compact literal.\n// - The consecutive zeros are normalized to single zero to match CLDR_NUMBER_PATTERN.\n//\n// Returning null means the compact display pattern cannot be found.\nfunction getCompactDisplayPattern(numberResult, pl, data, style, compactDisplay, currencyDisplay, numberingSystem) {\n var _a;\n var roundedNumber = numberResult.roundedNumber, sign = numberResult.sign, magnitude = numberResult.magnitude;\n var magnitudeKey = String(Math.pow(10, magnitude));\n var defaultNumberingSystem = data.numbers.nu[0];\n var pattern;\n if (style === 'currency' && currencyDisplay !== 'name') {\n var byNumberingSystem = data.numbers.currency;\n var currencyData = byNumberingSystem[numberingSystem] ||\n byNumberingSystem[defaultNumberingSystem];\n // NOTE: compact notation ignores currencySign!\n var compactPluralRules = (_a = currencyData.short) === null || _a === void 0 ? void 0 : _a[magnitudeKey];\n if (!compactPluralRules) {\n return null;\n }\n pattern = selectPlural(pl, roundedNumber, compactPluralRules);\n }\n else {\n var byNumberingSystem = data.numbers.decimal;\n var byCompactDisplay = byNumberingSystem[numberingSystem] ||\n byNumberingSystem[defaultNumberingSystem];\n var compactPlaralRule = byCompactDisplay[compactDisplay][magnitudeKey];\n if (!compactPlaralRule) {\n return null;\n }\n pattern = selectPlural(pl, roundedNumber, compactPlaralRule);\n }\n // See https://unicode.org/reports/tr35/tr35-numbers.html#Compact_Number_Formats\n // > If the value is precisely “0”, either explicit or defaulted, then the normal number format\n // > pattern for that sort of object is supplied.\n if (pattern === '0') {\n return null;\n }\n pattern = getPatternForSign(pattern, sign)\n // Extract compact literal from the pattern\n .replace(/([^\\s;\\-\\+\\d¤]+)/g, '{c:$1}')\n // We replace one or more zeros with a single zero so it matches `CLDR_NUMBER_PATTERN`.\n .replace(/0+/, '0');\n return pattern;\n}\nfunction selectPlural(pl, x, rules) {\n return rules[pl.select(x)] || rules.other;\n}\n","import { FormatNumericToString } from './FormatNumericToString';\nimport { SameValue } from '../262';\nimport { ComputeExponent } from './ComputeExponent';\nimport formatToParts from './format_to_parts';\n/**\n * https://tc39.es/ecma402/#sec-formatnumberstring\n */\nexport function PartitionNumberPattern(numberFormat, x, _a) {\n var _b;\n var getInternalSlots = _a.getInternalSlots;\n var internalSlots = getInternalSlots(numberFormat);\n var pl = internalSlots.pl, dataLocaleData = internalSlots.dataLocaleData, numberingSystem = internalSlots.numberingSystem;\n var symbols = dataLocaleData.numbers.symbols[numberingSystem] ||\n dataLocaleData.numbers.symbols[dataLocaleData.numbers.nu[0]];\n var magnitude = 0;\n var exponent = 0;\n var n;\n if (isNaN(x)) {\n n = symbols.nan;\n }\n else if (x == Number.POSITIVE_INFINITY || x == Number.NEGATIVE_INFINITY) {\n n = symbols.infinity;\n }\n else {\n if (!SameValue(x, -0)) {\n if (!isFinite(x)) {\n throw new Error('Input must be a mathematical value');\n }\n if (internalSlots.style == 'percent') {\n x *= 100;\n }\n ;\n _b = ComputeExponent(numberFormat, x, {\n getInternalSlots: getInternalSlots,\n }), exponent = _b[0], magnitude = _b[1];\n // Preserve more precision by doing multiplication when exponent is negative.\n x = exponent < 0 ? x * Math.pow(10, -exponent) : x / Math.pow(10, exponent);\n }\n var formatNumberResult = FormatNumericToString(internalSlots, x);\n n = formatNumberResult.formattedString;\n x = formatNumberResult.roundedNumber;\n }\n // Based on https://tc39.es/ecma402/#sec-getnumberformatpattern\n // We need to do this before `x` is rounded.\n var sign;\n var signDisplay = internalSlots.signDisplay;\n switch (signDisplay) {\n case 'never':\n sign = 0;\n break;\n case 'auto':\n if (SameValue(x, 0) || x > 0 || isNaN(x)) {\n sign = 0;\n }\n else {\n sign = -1;\n }\n break;\n case 'always':\n if (SameValue(x, 0) || x > 0 || isNaN(x)) {\n sign = 1;\n }\n else {\n sign = -1;\n }\n break;\n default:\n // x === 0 -> x is 0 or x is -0\n if (x === 0 || isNaN(x)) {\n sign = 0;\n }\n else if (x > 0) {\n sign = 1;\n }\n else {\n sign = -1;\n }\n }\n return formatToParts({ roundedNumber: x, formattedString: n, exponent: exponent, magnitude: magnitude, sign: sign }, internalSlots.dataLocaleData, pl, internalSlots);\n}\n","import { PartitionNumberPattern } from './PartitionNumberPattern';\nimport { CollapseNumberRange } from './CollapseNumberRange';\nimport { FormatApproximately } from './FormatApproximately';\n/**\n * https://tc39.es/ecma402/#sec-partitionnumberrangepattern\n */\nexport function PartitionNumberRangePattern(numberFormat, x, y, _a) {\n var getInternalSlots = _a.getInternalSlots;\n if (isNaN(x) || isNaN(y)) {\n throw new RangeError('Input must be a number');\n }\n var result = [];\n var xResult = PartitionNumberPattern(numberFormat, x, { getInternalSlots: getInternalSlots });\n var yResult = PartitionNumberPattern(numberFormat, y, { getInternalSlots: getInternalSlots });\n if (xResult === yResult) {\n return FormatApproximately(numberFormat, xResult, { getInternalSlots: getInternalSlots });\n }\n for (var _i = 0, xResult_1 = xResult; _i < xResult_1.length; _i++) {\n var r = xResult_1[_i];\n r.source = 'startRange';\n }\n result = result.concat(xResult);\n var internalSlots = getInternalSlots(numberFormat);\n var symbols = internalSlots.dataLocaleData.numbers.symbols[internalSlots.numberingSystem];\n result.push({ type: 'literal', value: symbols.rangeSign, source: 'shared' });\n for (var _b = 0, yResult_1 = yResult; _b < yResult_1.length; _b++) {\n var r = yResult_1[_b];\n r.source = 'endRange';\n }\n result = result.concat(yResult);\n return CollapseNumberRange(result);\n}\n","import { PartitionNumberRangePattern } from './PartitionNumberRangePattern';\n/**\n * https://tc39.es/ecma402/#sec-formatnumericrange\n */\nexport function FormatNumericRange(numberFormat, x, y, _a) {\n var getInternalSlots = _a.getInternalSlots;\n var parts = PartitionNumberRangePattern(numberFormat, x, y, {\n getInternalSlots: getInternalSlots,\n });\n return parts.map(function (part) { return part.value; }).join('');\n}\n","import { PartitionNumberRangePattern } from './PartitionNumberRangePattern';\n/**\n * https://tc39.es/ecma402/#sec-formatnumericrangetoparts\n */\nexport function FormatNumericRangeToParts(numberFormat, x, y, _a) {\n var getInternalSlots = _a.getInternalSlots;\n var parts = PartitionNumberRangePattern(numberFormat, x, y, {\n getInternalSlots: getInternalSlots,\n });\n return parts.map(function (part, index) { return ({\n type: part.type,\n value: part.value,\n source: part.source,\n result: index.toString(),\n }); });\n}\n","import { PartitionNumberPattern } from './PartitionNumberPattern';\nimport { ArrayCreate } from '../262';\nexport function FormatNumericToParts(nf, x, implDetails) {\n var parts = PartitionNumberPattern(nf, x, implDetails);\n var result = ArrayCreate(0);\n for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) {\n var part = parts_1[_i];\n result.push({\n type: part.type,\n value: part.value,\n });\n }\n return result;\n}\n","var negativeMapping = {\n ceil: 'zero',\n floor: 'infinity',\n expand: 'infinity',\n trunc: 'zero',\n halfCeil: 'half-zero',\n halfFloor: 'half-infinity',\n halfExpand: 'half-infinity',\n halfTrunc: 'half-zero',\n halfEven: 'half-even',\n};\nvar positiveMapping = {\n ceil: 'infinity',\n floor: 'zero',\n expand: 'infinity',\n trunc: 'zero',\n halfCeil: 'half-infinity',\n halfFloor: 'half-zero',\n halfExpand: 'half-infinity',\n halfTrunc: 'half-zero',\n halfEven: 'half-even',\n};\nexport function GetUnsignedRoundingMode(roundingMode, isNegative) {\n if (isNegative) {\n return negativeMapping[roundingMode];\n }\n return positiveMapping[roundingMode];\n}\n","export var data = {\n supplemental: {\n languageMatching: {\n 'written-new': [\n {\n paradigmLocales: {\n _locales: 'en en_GB es es_419 pt_BR pt_PT',\n },\n },\n {\n $enUS: {\n _value: 'AS+CA+GU+MH+MP+PH+PR+UM+US+VI',\n },\n },\n {\n $cnsar: {\n _value: 'HK+MO',\n },\n },\n {\n $americas: {\n _value: '019',\n },\n },\n {\n $maghreb: {\n _value: 'MA+DZ+TN+LY+MR+EH',\n },\n },\n {\n no: {\n _desired: 'nb',\n _distance: '1',\n },\n },\n {\n bs: {\n _desired: 'hr',\n _distance: '4',\n },\n },\n {\n bs: {\n _desired: 'sh',\n _distance: '4',\n },\n },\n {\n hr: {\n _desired: 'sh',\n _distance: '4',\n },\n },\n {\n sr: {\n _desired: 'sh',\n _distance: '4',\n },\n },\n {\n aa: {\n _desired: 'ssy',\n _distance: '4',\n },\n },\n {\n de: {\n _desired: 'gsw',\n _distance: '4',\n _oneway: 'true',\n },\n },\n {\n de: {\n _desired: 'lb',\n _distance: '4',\n _oneway: 'true',\n },\n },\n {\n no: {\n _desired: 'da',\n _distance: '8',\n },\n },\n {\n nb: {\n _desired: 'da',\n _distance: '8',\n },\n },\n {\n ru: {\n _desired: 'ab',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ach',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n nl: {\n _desired: 'af',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ak',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'am',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n es: {\n _desired: 'ay',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'az',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ur: {\n _desired: 'bal',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'be',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'bem',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n hi: {\n _desired: 'bh',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'bn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'bo',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'br',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n es: {\n _desired: 'ca',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n fil: {\n _desired: 'ceb',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'chr',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ckb',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'co',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'crs',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n sk: {\n _desired: 'cs',\n _distance: '20',\n },\n },\n {\n en: {\n _desired: 'cy',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ee',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'eo',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n es: {\n _desired: 'eu',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n da: {\n _desired: 'fo',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n nl: {\n _desired: 'fy',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ga',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'gaa',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'gd',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n es: {\n _desired: 'gl',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n es: {\n _desired: 'gn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n hi: {\n _desired: 'gu',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ha',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'haw',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'ht',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'hy',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ia',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ig',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'is',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n id: {\n _desired: 'jv',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ka',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'kg',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'kk',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'km',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'kn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'kri',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n tr: {\n _desired: 'ku',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'ky',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n it: {\n _desired: 'la',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'lg',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'ln',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'lo',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'loz',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'lua',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n hi: {\n _desired: 'mai',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'mfe',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'mg',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'mi',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ml',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'mn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n hi: {\n _desired: 'mr',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n id: {\n _desired: 'ms',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'mt',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'my',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ne',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n nb: {\n _desired: 'nn',\n _distance: '20',\n },\n },\n {\n no: {\n _desired: 'nn',\n _distance: '20',\n },\n },\n {\n en: {\n _desired: 'nso',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ny',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'nyn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'oc',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'om',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'or',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'pa',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'pcm',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ps',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n es: {\n _desired: 'qu',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n de: {\n _desired: 'rm',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'rn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'rw',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n hi: {\n _desired: 'sa',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'sd',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'si',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'sn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'so',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'sq',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'st',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n id: {\n _desired: 'su',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'sw',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ta',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'te',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'tg',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ti',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'tk',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'tlh',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'tn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'to',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'tt',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'tum',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'ug',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'uk',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ur',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'uz',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'wo',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'xh',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'yi',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'yo',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'za',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'zu',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'aao',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'abh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'abv',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'acm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'acq',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'acw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'acx',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'acy',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'adf',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'aeb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'aec',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'afb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ajp',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'apc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'apd',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'arq',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ars',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ary',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'arz',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'auz',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'avl',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ayh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ayl',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ayn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ayp',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'bbz',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'pga',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'shu',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ssh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n az: {\n _desired: 'azb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n et: {\n _desired: 'vro',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'ffm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fub',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fue',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fuf',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fuh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fui',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fuq',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fuv',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n gn: {\n _desired: 'gnw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n gn: {\n _desired: 'gui',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n gn: {\n _desired: 'gun',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n gn: {\n _desired: 'nhd',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n iu: {\n _desired: 'ikt',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'enb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'eyo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'niq',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'oki',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'pko',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'sgc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'tec',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'tuy',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kok: {\n _desired: 'gom',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kpe: {\n _desired: 'gkp',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'ida',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lkb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lko',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lks',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lri',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lrm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lsm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lto',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lts',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lwg',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'nle',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'nyd',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'rag',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n lv: {\n _desired: 'ltg',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'bhr',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'bjq',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'bmm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'bzc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'msh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'skg',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'tdx',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'tkg',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'txy',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'xmv',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'xmw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mn: {\n _desired: 'mvf',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'bjn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'btj',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'bve',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'bvu',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'coa',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'dup',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'hji',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'id',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'jak',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'jax',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'kvb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'kvr',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'kxd',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'lce',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'lcf',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'liw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'max',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'meo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'mfa',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'mfb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'min',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'mqg',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'msi',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'mui',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'orn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'ors',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'pel',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'pse',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'tmw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'urk',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'vkk',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'vkt',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'xmm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'zlm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'zmi',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ne: {\n _desired: 'dty',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n om: {\n _desired: 'gax',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n om: {\n _desired: 'hae',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n om: {\n _desired: 'orc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n or: {\n _desired: 'spv',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ps: {\n _desired: 'pbt',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ps: {\n _desired: 'pst',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qub',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qud',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'quf',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qug',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'quh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'quk',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qul',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qup',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qur',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qus',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'quw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qux',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'quy',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qva',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qve',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvi',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvj',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvl',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvp',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvs',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvz',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qwa',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qwc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qwh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qws',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxa',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxl',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxp',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxr',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxt',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxu',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n sc: {\n _desired: 'sdc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n sc: {\n _desired: 'sdn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n sc: {\n _desired: 'sro',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n sq: {\n _desired: 'aae',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n sq: {\n _desired: 'aat',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n sq: {\n _desired: 'aln',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n syr: {\n _desired: 'aii',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n uz: {\n _desired: 'uzs',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n yi: {\n _desired: 'yih',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'cdo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'cjy',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'cpx',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'czh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'czo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'gan',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'hak',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'hsn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'lzh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'mnp',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'nan',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'wuu',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'yue',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n '*': {\n _desired: '*',\n _distance: '80',\n },\n },\n {\n 'en-Latn': {\n _desired: 'am-Ethi',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'ru-Cyrl': {\n _desired: 'az-Latn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'bn-Beng',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'zh-Hans': {\n _desired: 'bo-Tibt',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'ru-Cyrl': {\n _desired: 'hy-Armn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ka-Geor',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'km-Khmr',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'kn-Knda',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'lo-Laoo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ml-Mlym',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'my-Mymr',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ne-Deva',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'or-Orya',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'pa-Guru',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ps-Arab',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'sd-Arab',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'si-Sinh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ta-Taml',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'te-Telu',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ti-Ethi',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'ru-Cyrl': {\n _desired: 'tk-Latn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ur-Arab',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'ru-Cyrl': {\n _desired: 'uz-Latn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'yi-Hebr',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'sr-Cyrl': {\n _desired: 'sr-Latn',\n _distance: '5',\n },\n },\n {\n 'zh-Hans': {\n _desired: 'za-Latn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'zh-Hans': {\n _desired: 'zh-Hani',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'zh-Hant': {\n _desired: 'zh-Hani',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'ar-Arab': {\n _desired: 'ar-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'bn-Beng': {\n _desired: 'bn-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'gu-Gujr': {\n _desired: 'gu-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'hi-Deva': {\n _desired: 'hi-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'kn-Knda': {\n _desired: 'kn-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'ml-Mlym': {\n _desired: 'ml-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'mr-Deva': {\n _desired: 'mr-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'ta-Taml': {\n _desired: 'ta-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'te-Telu': {\n _desired: 'te-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'zh-Hans': {\n _desired: 'zh-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'ja-Jpan': {\n _desired: 'ja-Latn',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ja-Jpan': {\n _desired: 'ja-Hani',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ja-Jpan': {\n _desired: 'ja-Hira',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ja-Jpan': {\n _desired: 'ja-Kana',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ja-Jpan': {\n _desired: 'ja-Hrkt',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ja-Hrkt': {\n _desired: 'ja-Hira',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ja-Hrkt': {\n _desired: 'ja-Kana',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ko-Kore': {\n _desired: 'ko-Hani',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ko-Kore': {\n _desired: 'ko-Hang',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ko-Kore': {\n _desired: 'ko-Jamo',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ko-Hang': {\n _desired: 'ko-Jamo',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n '*-*': {\n _desired: '*-*',\n _distance: '50',\n },\n },\n {\n 'ar-*-$maghreb': {\n _desired: 'ar-*-$maghreb',\n _distance: '4',\n },\n },\n {\n 'ar-*-$!maghreb': {\n _desired: 'ar-*-$!maghreb',\n _distance: '4',\n },\n },\n {\n 'ar-*-*': {\n _desired: 'ar-*-*',\n _distance: '5',\n },\n },\n {\n 'en-*-$enUS': {\n _desired: 'en-*-$enUS',\n _distance: '4',\n },\n },\n {\n 'en-*-GB': {\n _desired: 'en-*-$!enUS',\n _distance: '3',\n },\n },\n {\n 'en-*-$!enUS': {\n _desired: 'en-*-$!enUS',\n _distance: '4',\n },\n },\n {\n 'en-*-*': {\n _desired: 'en-*-*',\n _distance: '5',\n },\n },\n {\n 'es-*-$americas': {\n _desired: 'es-*-$americas',\n _distance: '4',\n },\n },\n {\n 'es-*-$!americas': {\n _desired: 'es-*-$!americas',\n _distance: '4',\n },\n },\n {\n 'es-*-*': {\n _desired: 'es-*-*',\n _distance: '5',\n },\n },\n {\n 'pt-*-$americas': {\n _desired: 'pt-*-$americas',\n _distance: '4',\n },\n },\n {\n 'pt-*-$!americas': {\n _desired: 'pt-*-$!americas',\n _distance: '4',\n },\n },\n {\n 'pt-*-*': {\n _desired: 'pt-*-*',\n _distance: '5',\n },\n },\n {\n 'zh-Hant-$cnsar': {\n _desired: 'zh-Hant-$cnsar',\n _distance: '4',\n },\n },\n {\n 'zh-Hant-$!cnsar': {\n _desired: 'zh-Hant-$!cnsar',\n _distance: '4',\n },\n },\n {\n 'zh-Hant-*': {\n _desired: 'zh-Hant-*',\n _distance: '5',\n },\n },\n {\n '*-*-*': {\n _desired: '*-*-*',\n _distance: '4',\n },\n },\n ],\n },\n },\n};\n","// This file is generated from regions-gen.ts\nexport var regions = {\n \"001\": [\n \"001\",\n \"001-status-grouping\",\n \"002\",\n \"005\",\n \"009\",\n \"011\",\n \"013\",\n \"014\",\n \"015\",\n \"017\",\n \"018\",\n \"019\",\n \"021\",\n \"029\",\n \"030\",\n \"034\",\n \"035\",\n \"039\",\n \"053\",\n \"054\",\n \"057\",\n \"061\",\n \"142\",\n \"143\",\n \"145\",\n \"150\",\n \"151\",\n \"154\",\n \"155\",\n \"AC\",\n \"AD\",\n \"AE\",\n \"AF\",\n \"AG\",\n \"AI\",\n \"AL\",\n \"AM\",\n \"AO\",\n \"AQ\",\n \"AR\",\n \"AS\",\n \"AT\",\n \"AU\",\n \"AW\",\n \"AX\",\n \"AZ\",\n \"BA\",\n \"BB\",\n \"BD\",\n \"BE\",\n \"BF\",\n \"BG\",\n \"BH\",\n \"BI\",\n \"BJ\",\n \"BL\",\n \"BM\",\n \"BN\",\n \"BO\",\n \"BQ\",\n \"BR\",\n \"BS\",\n \"BT\",\n \"BV\",\n \"BW\",\n \"BY\",\n \"BZ\",\n \"CA\",\n \"CC\",\n \"CD\",\n \"CF\",\n \"CG\",\n \"CH\",\n \"CI\",\n \"CK\",\n \"CL\",\n \"CM\",\n \"CN\",\n \"CO\",\n \"CP\",\n \"CQ\",\n \"CR\",\n \"CU\",\n \"CV\",\n \"CW\",\n \"CX\",\n \"CY\",\n \"CZ\",\n \"DE\",\n \"DG\",\n \"DJ\",\n \"DK\",\n \"DM\",\n \"DO\",\n \"DZ\",\n \"EA\",\n \"EC\",\n \"EE\",\n \"EG\",\n \"EH\",\n \"ER\",\n \"ES\",\n \"ET\",\n \"EU\",\n \"EZ\",\n \"FI\",\n \"FJ\",\n \"FK\",\n \"FM\",\n \"FO\",\n \"FR\",\n \"GA\",\n \"GB\",\n \"GD\",\n \"GE\",\n \"GF\",\n \"GG\",\n \"GH\",\n \"GI\",\n \"GL\",\n \"GM\",\n \"GN\",\n \"GP\",\n \"GQ\",\n \"GR\",\n \"GS\",\n \"GT\",\n \"GU\",\n \"GW\",\n \"GY\",\n \"HK\",\n \"HM\",\n \"HN\",\n \"HR\",\n \"HT\",\n \"HU\",\n \"IC\",\n \"ID\",\n \"IE\",\n \"IL\",\n \"IM\",\n \"IN\",\n \"IO\",\n \"IQ\",\n \"IR\",\n \"IS\",\n \"IT\",\n \"JE\",\n \"JM\",\n \"JO\",\n \"JP\",\n \"KE\",\n \"KG\",\n \"KH\",\n \"KI\",\n \"KM\",\n \"KN\",\n \"KP\",\n \"KR\",\n \"KW\",\n \"KY\",\n \"KZ\",\n \"LA\",\n \"LB\",\n \"LC\",\n \"LI\",\n \"LK\",\n \"LR\",\n \"LS\",\n \"LT\",\n \"LU\",\n \"LV\",\n \"LY\",\n \"MA\",\n \"MC\",\n \"MD\",\n \"ME\",\n \"MF\",\n \"MG\",\n \"MH\",\n \"MK\",\n \"ML\",\n \"MM\",\n \"MN\",\n \"MO\",\n \"MP\",\n \"MQ\",\n \"MR\",\n \"MS\",\n \"MT\",\n \"MU\",\n \"MV\",\n \"MW\",\n \"MX\",\n \"MY\",\n \"MZ\",\n \"NA\",\n \"NC\",\n \"NE\",\n \"NF\",\n \"NG\",\n \"NI\",\n \"NL\",\n \"NO\",\n \"NP\",\n \"NR\",\n \"NU\",\n \"NZ\",\n \"OM\",\n \"PA\",\n \"PE\",\n \"PF\",\n \"PG\",\n \"PH\",\n \"PK\",\n \"PL\",\n \"PM\",\n \"PN\",\n \"PR\",\n \"PS\",\n \"PT\",\n \"PW\",\n \"PY\",\n \"QA\",\n \"QO\",\n \"RE\",\n \"RO\",\n \"RS\",\n \"RU\",\n \"RW\",\n \"SA\",\n \"SB\",\n \"SC\",\n \"SD\",\n \"SE\",\n \"SG\",\n \"SH\",\n \"SI\",\n \"SJ\",\n \"SK\",\n \"SL\",\n \"SM\",\n \"SN\",\n \"SO\",\n \"SR\",\n \"SS\",\n \"ST\",\n \"SV\",\n \"SX\",\n \"SY\",\n \"SZ\",\n \"TA\",\n \"TC\",\n \"TD\",\n \"TF\",\n \"TG\",\n \"TH\",\n \"TJ\",\n \"TK\",\n \"TL\",\n \"TM\",\n \"TN\",\n \"TO\",\n \"TR\",\n \"TT\",\n \"TV\",\n \"TW\",\n \"TZ\",\n \"UA\",\n \"UG\",\n \"UM\",\n \"UN\",\n \"US\",\n \"UY\",\n \"UZ\",\n \"VA\",\n \"VC\",\n \"VE\",\n \"VG\",\n \"VI\",\n \"VN\",\n \"VU\",\n \"WF\",\n \"WS\",\n \"XK\",\n \"YE\",\n \"YT\",\n \"ZA\",\n \"ZM\",\n \"ZW\"\n ],\n \"002\": [\n \"002\",\n \"002-status-grouping\",\n \"011\",\n \"014\",\n \"015\",\n \"017\",\n \"018\",\n \"202\",\n \"AO\",\n \"BF\",\n \"BI\",\n \"BJ\",\n \"BW\",\n \"CD\",\n \"CF\",\n \"CG\",\n \"CI\",\n \"CM\",\n \"CV\",\n \"DJ\",\n \"DZ\",\n \"EA\",\n \"EG\",\n \"EH\",\n \"ER\",\n \"ET\",\n \"GA\",\n \"GH\",\n \"GM\",\n \"GN\",\n \"GQ\",\n \"GW\",\n \"IC\",\n \"IO\",\n \"KE\",\n \"KM\",\n \"LR\",\n \"LS\",\n \"LY\",\n \"MA\",\n \"MG\",\n \"ML\",\n \"MR\",\n \"MU\",\n \"MW\",\n \"MZ\",\n \"NA\",\n \"NE\",\n \"NG\",\n \"RE\",\n \"RW\",\n \"SC\",\n \"SD\",\n \"SH\",\n \"SL\",\n \"SN\",\n \"SO\",\n \"SS\",\n \"ST\",\n \"SZ\",\n \"TD\",\n \"TF\",\n \"TG\",\n \"TN\",\n \"TZ\",\n \"UG\",\n \"YT\",\n \"ZA\",\n \"ZM\",\n \"ZW\"\n ],\n \"003\": [\n \"003\",\n \"013\",\n \"021\",\n \"029\",\n \"AG\",\n \"AI\",\n \"AW\",\n \"BB\",\n \"BL\",\n \"BM\",\n \"BQ\",\n \"BS\",\n \"BZ\",\n \"CA\",\n \"CR\",\n \"CU\",\n \"CW\",\n \"DM\",\n \"DO\",\n \"GD\",\n \"GL\",\n \"GP\",\n \"GT\",\n \"HN\",\n \"HT\",\n \"JM\",\n \"KN\",\n \"KY\",\n \"LC\",\n \"MF\",\n \"MQ\",\n \"MS\",\n \"MX\",\n \"NI\",\n \"PA\",\n \"PM\",\n \"PR\",\n \"SV\",\n \"SX\",\n \"TC\",\n \"TT\",\n \"US\",\n \"VC\",\n \"VG\",\n \"VI\"\n ],\n \"005\": [\n \"005\",\n \"AR\",\n \"BO\",\n \"BR\",\n \"BV\",\n \"CL\",\n \"CO\",\n \"EC\",\n \"FK\",\n \"GF\",\n \"GS\",\n \"GY\",\n \"PE\",\n \"PY\",\n \"SR\",\n \"UY\",\n \"VE\"\n ],\n \"009\": [\n \"009\",\n \"053\",\n \"054\",\n \"057\",\n \"061\",\n \"AC\",\n \"AQ\",\n \"AS\",\n \"AU\",\n \"CC\",\n \"CK\",\n \"CP\",\n \"CX\",\n \"DG\",\n \"FJ\",\n \"FM\",\n \"GU\",\n \"HM\",\n \"KI\",\n \"MH\",\n \"MP\",\n \"NC\",\n \"NF\",\n \"NR\",\n \"NU\",\n \"NZ\",\n \"PF\",\n \"PG\",\n \"PN\",\n \"PW\",\n \"QO\",\n \"SB\",\n \"TA\",\n \"TK\",\n \"TO\",\n \"TV\",\n \"UM\",\n \"VU\",\n \"WF\",\n \"WS\"\n ],\n \"011\": [\n \"011\",\n \"BF\",\n \"BJ\",\n \"CI\",\n \"CV\",\n \"GH\",\n \"GM\",\n \"GN\",\n \"GW\",\n \"LR\",\n \"ML\",\n \"MR\",\n \"NE\",\n \"NG\",\n \"SH\",\n \"SL\",\n \"SN\",\n \"TG\"\n ],\n \"013\": [\n \"013\",\n \"BZ\",\n \"CR\",\n \"GT\",\n \"HN\",\n \"MX\",\n \"NI\",\n \"PA\",\n \"SV\"\n ],\n \"014\": [\n \"014\",\n \"BI\",\n \"DJ\",\n \"ER\",\n \"ET\",\n \"IO\",\n \"KE\",\n \"KM\",\n \"MG\",\n \"MU\",\n \"MW\",\n \"MZ\",\n \"RE\",\n \"RW\",\n \"SC\",\n \"SO\",\n \"SS\",\n \"TF\",\n \"TZ\",\n \"UG\",\n \"YT\",\n \"ZM\",\n \"ZW\"\n ],\n \"015\": [\n \"015\",\n \"DZ\",\n \"EA\",\n \"EG\",\n \"EH\",\n \"IC\",\n \"LY\",\n \"MA\",\n \"SD\",\n \"TN\"\n ],\n \"017\": [\n \"017\",\n \"AO\",\n \"CD\",\n \"CF\",\n \"CG\",\n \"CM\",\n \"GA\",\n \"GQ\",\n \"ST\",\n \"TD\"\n ],\n \"018\": [\n \"018\",\n \"BW\",\n \"LS\",\n \"NA\",\n \"SZ\",\n \"ZA\"\n ],\n \"019\": [\n \"003\",\n \"005\",\n \"013\",\n \"019\",\n \"019-status-grouping\",\n \"021\",\n \"029\",\n \"419\",\n \"AG\",\n \"AI\",\n \"AR\",\n \"AW\",\n \"BB\",\n \"BL\",\n \"BM\",\n \"BO\",\n \"BQ\",\n \"BR\",\n \"BS\",\n \"BV\",\n \"BZ\",\n \"CA\",\n \"CL\",\n \"CO\",\n \"CR\",\n \"CU\",\n \"CW\",\n \"DM\",\n \"DO\",\n \"EC\",\n \"FK\",\n \"GD\",\n \"GF\",\n \"GL\",\n \"GP\",\n \"GS\",\n \"GT\",\n \"GY\",\n \"HN\",\n \"HT\",\n \"JM\",\n \"KN\",\n \"KY\",\n \"LC\",\n \"MF\",\n \"MQ\",\n \"MS\",\n \"MX\",\n \"NI\",\n \"PA\",\n \"PE\",\n \"PM\",\n \"PR\",\n \"PY\",\n \"SR\",\n \"SV\",\n \"SX\",\n \"TC\",\n \"TT\",\n \"US\",\n \"UY\",\n \"VC\",\n \"VE\",\n \"VG\",\n \"VI\"\n ],\n \"021\": [\n \"021\",\n \"BM\",\n \"CA\",\n \"GL\",\n \"PM\",\n \"US\"\n ],\n \"029\": [\n \"029\",\n \"AG\",\n \"AI\",\n \"AW\",\n \"BB\",\n \"BL\",\n \"BQ\",\n \"BS\",\n \"CU\",\n \"CW\",\n \"DM\",\n \"DO\",\n \"GD\",\n \"GP\",\n \"HT\",\n \"JM\",\n \"KN\",\n \"KY\",\n \"LC\",\n \"MF\",\n \"MQ\",\n \"MS\",\n \"PR\",\n \"SX\",\n \"TC\",\n \"TT\",\n \"VC\",\n \"VG\",\n \"VI\"\n ],\n \"030\": [\n \"030\",\n \"CN\",\n \"HK\",\n \"JP\",\n \"KP\",\n \"KR\",\n \"MN\",\n \"MO\",\n \"TW\"\n ],\n \"034\": [\n \"034\",\n \"AF\",\n \"BD\",\n \"BT\",\n \"IN\",\n \"IR\",\n \"LK\",\n \"MV\",\n \"NP\",\n \"PK\"\n ],\n \"035\": [\n \"035\",\n \"BN\",\n \"ID\",\n \"KH\",\n \"LA\",\n \"MM\",\n \"MY\",\n \"PH\",\n \"SG\",\n \"TH\",\n \"TL\",\n \"VN\"\n ],\n \"039\": [\n \"039\",\n \"AD\",\n \"AL\",\n \"BA\",\n \"ES\",\n \"GI\",\n \"GR\",\n \"HR\",\n \"IT\",\n \"ME\",\n \"MK\",\n \"MT\",\n \"PT\",\n \"RS\",\n \"SI\",\n \"SM\",\n \"VA\",\n \"XK\"\n ],\n \"053\": [\n \"053\",\n \"AU\",\n \"CC\",\n \"CX\",\n \"HM\",\n \"NF\",\n \"NZ\"\n ],\n \"054\": [\n \"054\",\n \"FJ\",\n \"NC\",\n \"PG\",\n \"SB\",\n \"VU\"\n ],\n \"057\": [\n \"057\",\n \"FM\",\n \"GU\",\n \"KI\",\n \"MH\",\n \"MP\",\n \"NR\",\n \"PW\",\n \"UM\"\n ],\n \"061\": [\n \"061\",\n \"AS\",\n \"CK\",\n \"NU\",\n \"PF\",\n \"PN\",\n \"TK\",\n \"TO\",\n \"TV\",\n \"WF\",\n \"WS\"\n ],\n \"142\": [\n \"030\",\n \"034\",\n \"035\",\n \"142\",\n \"143\",\n \"145\",\n \"AE\",\n \"AF\",\n \"AM\",\n \"AZ\",\n \"BD\",\n \"BH\",\n \"BN\",\n \"BT\",\n \"CN\",\n \"CY\",\n \"GE\",\n \"HK\",\n \"ID\",\n \"IL\",\n \"IN\",\n \"IQ\",\n \"IR\",\n \"JO\",\n \"JP\",\n \"KG\",\n \"KH\",\n \"KP\",\n \"KR\",\n \"KW\",\n \"KZ\",\n \"LA\",\n \"LB\",\n \"LK\",\n \"MM\",\n \"MN\",\n \"MO\",\n \"MV\",\n \"MY\",\n \"NP\",\n \"OM\",\n \"PH\",\n \"PK\",\n \"PS\",\n \"QA\",\n \"SA\",\n \"SG\",\n \"SY\",\n \"TH\",\n \"TJ\",\n \"TL\",\n \"TM\",\n \"TR\",\n \"TW\",\n \"UZ\",\n \"VN\",\n \"YE\"\n ],\n \"143\": [\n \"143\",\n \"KG\",\n \"KZ\",\n \"TJ\",\n \"TM\",\n \"UZ\"\n ],\n \"145\": [\n \"145\",\n \"AE\",\n \"AM\",\n \"AZ\",\n \"BH\",\n \"CY\",\n \"GE\",\n \"IL\",\n \"IQ\",\n \"JO\",\n \"KW\",\n \"LB\",\n \"OM\",\n \"PS\",\n \"QA\",\n \"SA\",\n \"SY\",\n \"TR\",\n \"YE\"\n ],\n \"150\": [\n \"039\",\n \"150\",\n \"151\",\n \"154\",\n \"155\",\n \"AD\",\n \"AL\",\n \"AT\",\n \"AX\",\n \"BA\",\n \"BE\",\n \"BG\",\n \"BY\",\n \"CH\",\n \"CQ\",\n \"CZ\",\n \"DE\",\n \"DK\",\n \"EE\",\n \"ES\",\n \"FI\",\n \"FO\",\n \"FR\",\n \"GB\",\n \"GG\",\n \"GI\",\n \"GR\",\n \"HR\",\n \"HU\",\n \"IE\",\n \"IM\",\n \"IS\",\n \"IT\",\n \"JE\",\n \"LI\",\n \"LT\",\n \"LU\",\n \"LV\",\n \"MC\",\n \"MD\",\n \"ME\",\n \"MK\",\n \"MT\",\n \"NL\",\n \"NO\",\n \"PL\",\n \"PT\",\n \"RO\",\n \"RS\",\n \"RU\",\n \"SE\",\n \"SI\",\n \"SJ\",\n \"SK\",\n \"SM\",\n \"UA\",\n \"VA\",\n \"XK\"\n ],\n \"151\": [\n \"151\",\n \"BG\",\n \"BY\",\n \"CZ\",\n \"HU\",\n \"MD\",\n \"PL\",\n \"RO\",\n \"RU\",\n \"SK\",\n \"UA\"\n ],\n \"154\": [\n \"154\",\n \"AX\",\n \"CQ\",\n \"DK\",\n \"EE\",\n \"FI\",\n \"FO\",\n \"GB\",\n \"GG\",\n \"IE\",\n \"IM\",\n \"IS\",\n \"JE\",\n \"LT\",\n \"LV\",\n \"NO\",\n \"SE\",\n \"SJ\"\n ],\n \"155\": [\n \"155\",\n \"AT\",\n \"BE\",\n \"CH\",\n \"DE\",\n \"FR\",\n \"LI\",\n \"LU\",\n \"MC\",\n \"NL\"\n ],\n \"202\": [\n \"011\",\n \"014\",\n \"017\",\n \"018\",\n \"202\",\n \"AO\",\n \"BF\",\n \"BI\",\n \"BJ\",\n \"BW\",\n \"CD\",\n \"CF\",\n \"CG\",\n \"CI\",\n \"CM\",\n \"CV\",\n \"DJ\",\n \"ER\",\n \"ET\",\n \"GA\",\n \"GH\",\n \"GM\",\n \"GN\",\n \"GQ\",\n \"GW\",\n \"IO\",\n \"KE\",\n \"KM\",\n \"LR\",\n \"LS\",\n \"MG\",\n \"ML\",\n \"MR\",\n \"MU\",\n \"MW\",\n \"MZ\",\n \"NA\",\n \"NE\",\n \"NG\",\n \"RE\",\n \"RW\",\n \"SC\",\n \"SH\",\n \"SL\",\n \"SN\",\n \"SO\",\n \"SS\",\n \"ST\",\n \"SZ\",\n \"TD\",\n \"TF\",\n \"TG\",\n \"TZ\",\n \"UG\",\n \"YT\",\n \"ZA\",\n \"ZM\",\n \"ZW\"\n ],\n \"419\": [\n \"005\",\n \"013\",\n \"029\",\n \"419\",\n \"AG\",\n \"AI\",\n \"AR\",\n \"AW\",\n \"BB\",\n \"BL\",\n \"BO\",\n \"BQ\",\n \"BR\",\n \"BS\",\n \"BV\",\n \"BZ\",\n \"CL\",\n \"CO\",\n \"CR\",\n \"CU\",\n \"CW\",\n \"DM\",\n \"DO\",\n \"EC\",\n \"FK\",\n \"GD\",\n \"GF\",\n \"GP\",\n \"GS\",\n \"GT\",\n \"GY\",\n \"HN\",\n \"HT\",\n \"JM\",\n \"KN\",\n \"KY\",\n \"LC\",\n \"MF\",\n \"MQ\",\n \"MS\",\n \"MX\",\n \"NI\",\n \"PA\",\n \"PE\",\n \"PR\",\n \"PY\",\n \"SR\",\n \"SV\",\n \"SX\",\n \"TC\",\n \"TT\",\n \"UY\",\n \"VC\",\n \"VE\",\n \"VG\",\n \"VI\"\n ],\n \"EU\": [\n \"AT\",\n \"BE\",\n \"BG\",\n \"CY\",\n \"CZ\",\n \"DE\",\n \"DK\",\n \"EE\",\n \"ES\",\n \"EU\",\n \"FI\",\n \"FR\",\n \"GR\",\n \"HR\",\n \"HU\",\n \"IE\",\n \"IT\",\n \"LT\",\n \"LU\",\n \"LV\",\n \"MT\",\n \"NL\",\n \"PL\",\n \"PT\",\n \"RO\",\n \"SE\",\n \"SI\",\n \"SK\"\n ],\n \"EZ\": [\n \"AT\",\n \"BE\",\n \"CY\",\n \"DE\",\n \"EE\",\n \"ES\",\n \"EZ\",\n \"FI\",\n \"FR\",\n \"GR\",\n \"IE\",\n \"IT\",\n \"LT\",\n \"LU\",\n \"LV\",\n \"MT\",\n \"NL\",\n \"PT\",\n \"SI\",\n \"SK\"\n ],\n \"QO\": [\n \"AC\",\n \"AQ\",\n \"CP\",\n \"DG\",\n \"QO\",\n \"TA\"\n ],\n \"UN\": [\n \"AD\",\n \"AE\",\n \"AF\",\n \"AG\",\n \"AL\",\n \"AM\",\n \"AO\",\n \"AR\",\n \"AT\",\n \"AU\",\n \"AZ\",\n \"BA\",\n \"BB\",\n \"BD\",\n \"BE\",\n \"BF\",\n \"BG\",\n \"BH\",\n \"BI\",\n \"BJ\",\n \"BN\",\n \"BO\",\n \"BR\",\n \"BS\",\n \"BT\",\n \"BW\",\n \"BY\",\n \"BZ\",\n \"CA\",\n \"CD\",\n \"CF\",\n \"CG\",\n \"CH\",\n \"CI\",\n \"CL\",\n \"CM\",\n \"CN\",\n \"CO\",\n \"CR\",\n \"CU\",\n \"CV\",\n \"CY\",\n \"CZ\",\n \"DE\",\n \"DJ\",\n \"DK\",\n \"DM\",\n \"DO\",\n \"DZ\",\n \"EC\",\n \"EE\",\n \"EG\",\n \"ER\",\n \"ES\",\n \"ET\",\n \"FI\",\n \"FJ\",\n \"FM\",\n \"FR\",\n \"GA\",\n \"GB\",\n \"GD\",\n \"GE\",\n \"GH\",\n \"GM\",\n \"GN\",\n \"GQ\",\n \"GR\",\n \"GT\",\n \"GW\",\n \"GY\",\n \"HN\",\n \"HR\",\n \"HT\",\n \"HU\",\n \"ID\",\n \"IE\",\n \"IL\",\n \"IN\",\n \"IQ\",\n \"IR\",\n \"IS\",\n \"IT\",\n \"JM\",\n \"JO\",\n \"JP\",\n \"KE\",\n \"KG\",\n \"KH\",\n \"KI\",\n \"KM\",\n \"KN\",\n \"KP\",\n \"KR\",\n \"KW\",\n \"KZ\",\n \"LA\",\n \"LB\",\n \"LC\",\n \"LI\",\n \"LK\",\n \"LR\",\n \"LS\",\n \"LT\",\n \"LU\",\n \"LV\",\n \"LY\",\n \"MA\",\n \"MC\",\n \"MD\",\n \"ME\",\n \"MG\",\n \"MH\",\n \"MK\",\n \"ML\",\n \"MM\",\n \"MN\",\n \"MR\",\n \"MT\",\n \"MU\",\n \"MV\",\n \"MW\",\n \"MX\",\n \"MY\",\n \"MZ\",\n \"NA\",\n \"NE\",\n \"NG\",\n \"NI\",\n \"NL\",\n \"NO\",\n \"NP\",\n \"NR\",\n \"NZ\",\n \"OM\",\n \"PA\",\n \"PE\",\n \"PG\",\n \"PH\",\n \"PK\",\n \"PL\",\n \"PT\",\n \"PW\",\n \"PY\",\n \"QA\",\n \"RO\",\n \"RS\",\n \"RU\",\n \"RW\",\n \"SA\",\n \"SB\",\n \"SC\",\n \"SD\",\n \"SE\",\n \"SG\",\n \"SI\",\n \"SK\",\n \"SL\",\n \"SM\",\n \"SN\",\n \"SO\",\n \"SR\",\n \"SS\",\n \"ST\",\n \"SV\",\n \"SY\",\n \"SZ\",\n \"TD\",\n \"TG\",\n \"TH\",\n \"TJ\",\n \"TL\",\n \"TM\",\n \"TN\",\n \"TO\",\n \"TR\",\n \"TT\",\n \"TV\",\n \"TZ\",\n \"UA\",\n \"UG\",\n \"UN\",\n \"US\",\n \"UY\",\n \"UZ\",\n \"VC\",\n \"VE\",\n \"VN\",\n \"VU\",\n \"WS\",\n \"YE\",\n \"ZA\",\n \"ZM\",\n \"ZW\"\n ]\n};\n","import { __spreadArray } from \"tslib\";\nimport { data as jsonData } from './languageMatching';\nimport { regions } from './regions.generated';\nexport var UNICODE_EXTENSION_SEQUENCE_REGEX = /-u(?:-[0-9a-z]{2,8})+/gi;\nexport function invariant(condition, message, Err) {\n if (Err === void 0) { Err = Error; }\n if (!condition) {\n throw new Err(message);\n }\n}\n// This is effectively 2 languages in 2 different regions in the same cluster\nvar DEFAULT_MATCHING_THRESHOLD = 838;\nvar PROCESSED_DATA;\nfunction processData() {\n var _a, _b;\n if (!PROCESSED_DATA) {\n var paradigmLocales = (_b = (_a = jsonData.supplemental.languageMatching['written-new'][0]) === null || _a === void 0 ? void 0 : _a.paradigmLocales) === null || _b === void 0 ? void 0 : _b._locales.split(' ');\n var matchVariables = jsonData.supplemental.languageMatching['written-new'].slice(1, 5);\n var data = jsonData.supplemental.languageMatching['written-new'].slice(5);\n var matches = data.map(function (d) {\n var key = Object.keys(d)[0];\n var value = d[key];\n return {\n supported: key,\n desired: value._desired,\n distance: +value._distance,\n oneway: value.oneway === 'true' ? true : false,\n };\n }, {});\n PROCESSED_DATA = {\n matches: matches,\n matchVariables: matchVariables.reduce(function (all, d) {\n var key = Object.keys(d)[0];\n var value = d[key];\n all[key.slice(1)] = value._value.split('+');\n return all;\n }, {}),\n paradigmLocales: __spreadArray(__spreadArray([], paradigmLocales, true), paradigmLocales.map(function (l) {\n return new Intl.Locale(l.replace(/_/g, '-')).maximize().toString();\n }), true),\n };\n }\n return PROCESSED_DATA;\n}\nfunction isMatched(locale, languageMatchInfoLocale, matchVariables) {\n var _a = languageMatchInfoLocale.split('-'), language = _a[0], script = _a[1], region = _a[2];\n var matches = true;\n if (region && region[0] === '$') {\n var shouldInclude = region[1] !== '!';\n var matchRegions = shouldInclude\n ? matchVariables[region.slice(1)]\n : matchVariables[region.slice(2)];\n var expandedMatchedRegions = matchRegions\n .map(function (r) { return regions[r] || [r]; })\n .reduce(function (all, list) { return __spreadArray(__spreadArray([], all, true), list, true); }, []);\n matches && (matches = !(expandedMatchedRegions.indexOf(locale.region || '') > 1 !=\n shouldInclude));\n }\n else {\n matches && (matches = locale.region\n ? region === '*' || region === locale.region\n : true);\n }\n matches && (matches = locale.script ? script === '*' || script === locale.script : true);\n matches && (matches = locale.language\n ? language === '*' || language === locale.language\n : true);\n return matches;\n}\nfunction serializeLSR(lsr) {\n return [lsr.language, lsr.script, lsr.region].filter(Boolean).join('-');\n}\nfunction findMatchingDistanceForLSR(desired, supported, data) {\n for (var _i = 0, _a = data.matches; _i < _a.length; _i++) {\n var d = _a[_i];\n var matches = isMatched(desired, d.desired, data.matchVariables) &&\n isMatched(supported, d.supported, data.matchVariables);\n if (!d.oneway && !matches) {\n matches =\n isMatched(desired, d.supported, data.matchVariables) &&\n isMatched(supported, d.desired, data.matchVariables);\n }\n if (matches) {\n var distance = d.distance * 10;\n if (data.paradigmLocales.indexOf(serializeLSR(desired)) > -1 !=\n data.paradigmLocales.indexOf(serializeLSR(supported)) > -1) {\n return distance - 1;\n }\n return distance;\n }\n }\n throw new Error('No matching distance found');\n}\nexport function findMatchingDistance(desired, supported) {\n var desiredLocale = new Intl.Locale(desired).maximize();\n var supportedLocale = new Intl.Locale(supported).maximize();\n var desiredLSR = {\n language: desiredLocale.language,\n script: desiredLocale.script || '',\n region: desiredLocale.region || '',\n };\n var supportedLSR = {\n language: supportedLocale.language,\n script: supportedLocale.script || '',\n region: supportedLocale.region || '',\n };\n var matchingDistance = 0;\n var data = processData();\n if (desiredLSR.language !== supportedLSR.language) {\n matchingDistance += findMatchingDistanceForLSR({\n language: desiredLocale.language,\n script: '',\n region: '',\n }, {\n language: supportedLocale.language,\n script: '',\n region: '',\n }, data);\n }\n if (desiredLSR.script !== supportedLSR.script) {\n matchingDistance += findMatchingDistanceForLSR({\n language: desiredLocale.language,\n script: desiredLSR.script,\n region: '',\n }, {\n language: supportedLocale.language,\n script: desiredLSR.script,\n region: '',\n }, data);\n }\n if (desiredLSR.region !== supportedLSR.region) {\n matchingDistance += findMatchingDistanceForLSR(desiredLSR, supportedLSR, data);\n }\n return matchingDistance;\n}\nexport function findBestMatch(requestedLocales, supportedLocales, threshold) {\n if (threshold === void 0) { threshold = DEFAULT_MATCHING_THRESHOLD; }\n var lowestDistance = Infinity;\n var result = {\n matchedDesiredLocale: '',\n distances: {},\n };\n requestedLocales.forEach(function (desired, i) {\n if (!result.distances[desired]) {\n result.distances[desired] = {};\n }\n supportedLocales.forEach(function (supported) {\n // Add some weight to the distance based on the order of the supported locales\n // Add penalty for the order of the requested locales, which currently is 0 since ECMA-402\n // doesn't really have room for weighted locales like `en; q=0.1`\n var distance = findMatchingDistance(desired, supported) + 0 + i * 40;\n result.distances[desired][supported] = distance;\n if (distance < lowestDistance) {\n lowestDistance = distance;\n result.matchedDesiredLocale = desired;\n result.matchedSupportedLocale = supported;\n }\n });\n });\n if (lowestDistance >= threshold) {\n result.matchedDesiredLocale = undefined;\n result.matchedSupportedLocale = undefined;\n }\n return result;\n}\n","import { UNICODE_EXTENSION_SEQUENCE_REGEX, findBestMatch } from './utils';\n/**\n * https://tc39.es/ecma402/#sec-bestfitmatcher\n * @param availableLocales\n * @param requestedLocales\n * @param getDefaultLocale\n */\nexport function BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale) {\n var foundLocale;\n var extension;\n var noExtensionLocales = [];\n var noExtensionLocaleMap = requestedLocales.reduce(function (all, l) {\n var noExtensionLocale = l.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, '');\n noExtensionLocales.push(noExtensionLocale);\n all[noExtensionLocale] = l;\n return all;\n }, {});\n var result = findBestMatch(noExtensionLocales, availableLocales);\n if (result.matchedSupportedLocale && result.matchedDesiredLocale) {\n foundLocale = result.matchedSupportedLocale;\n extension =\n noExtensionLocaleMap[result.matchedDesiredLocale].slice(result.matchedDesiredLocale.length) || undefined;\n }\n if (!foundLocale) {\n return { locale: getDefaultLocale() };\n }\n return {\n locale: foundLocale,\n extension: extension,\n };\n}\n","/**\n * https://tc39.es/ecma402/#sec-bestavailablelocale\n * @param availableLocales\n * @param locale\n */\nexport function BestAvailableLocale(availableLocales, locale) {\n var candidate = locale;\n while (true) {\n if (availableLocales.indexOf(candidate) > -1) {\n return candidate;\n }\n var pos = candidate.lastIndexOf('-');\n if (!~pos) {\n return undefined;\n }\n if (pos >= 2 && candidate[pos - 2] === '-') {\n pos -= 2;\n }\n candidate = candidate.slice(0, pos);\n }\n}\n","import { invariant } from './utils';\n/**\n * https://tc39.es/ecma402/#sec-unicodeextensionvalue\n * @param extension\n * @param key\n */\nexport function UnicodeExtensionValue(extension, key) {\n invariant(key.length === 2, 'key must have 2 elements');\n var size = extension.length;\n var searchValue = \"-\".concat(key, \"-\");\n var pos = extension.indexOf(searchValue);\n if (pos !== -1) {\n var start = pos + 4;\n var end = start;\n var k = start;\n var done = false;\n while (!done) {\n var e = extension.indexOf('-', k);\n var len = void 0;\n if (e === -1) {\n len = size - k;\n }\n else {\n len = e - k;\n }\n if (len === 2) {\n done = true;\n }\n else if (e === -1) {\n end = size;\n done = true;\n }\n else {\n end = e;\n k = e + 1;\n }\n }\n return extension.slice(start, end);\n }\n searchValue = \"-\".concat(key);\n pos = extension.indexOf(searchValue);\n if (pos !== -1 && pos + 3 === size) {\n return '';\n }\n return undefined;\n}\n","import { BestFitMatcher } from './BestFitMatcher';\nimport { LookupMatcher } from './LookupMatcher';\nimport { UnicodeExtensionValue } from './UnicodeExtensionValue';\nimport { invariant } from './utils';\n/**\n * https://tc39.es/ecma402/#sec-resolvelocale\n */\nexport function ResolveLocale(availableLocales, requestedLocales, options, relevantExtensionKeys, localeData, getDefaultLocale) {\n var matcher = options.localeMatcher;\n var r;\n if (matcher === 'lookup') {\n r = LookupMatcher(Array.from(availableLocales), requestedLocales, getDefaultLocale);\n }\n else {\n r = BestFitMatcher(Array.from(availableLocales), requestedLocales, getDefaultLocale);\n }\n var foundLocale = r.locale;\n var result = { locale: '', dataLocale: foundLocale };\n var supportedExtension = '-u';\n for (var _i = 0, relevantExtensionKeys_1 = relevantExtensionKeys; _i < relevantExtensionKeys_1.length; _i++) {\n var key = relevantExtensionKeys_1[_i];\n invariant(foundLocale in localeData, \"Missing locale data for \".concat(foundLocale));\n var foundLocaleData = localeData[foundLocale];\n invariant(typeof foundLocaleData === 'object' && foundLocaleData !== null, \"locale data \".concat(key, \" must be an object\"));\n var keyLocaleData = foundLocaleData[key];\n invariant(Array.isArray(keyLocaleData), \"keyLocaleData for \".concat(key, \" must be an array\"));\n var value = keyLocaleData[0];\n invariant(typeof value === 'string' || value === null, \"value must be string or null but got \".concat(typeof value, \" in key \").concat(key));\n var supportedExtensionAddition = '';\n if (r.extension) {\n var requestedValue = UnicodeExtensionValue(r.extension, key);\n if (requestedValue !== undefined) {\n if (requestedValue !== '') {\n if (~keyLocaleData.indexOf(requestedValue)) {\n value = requestedValue;\n supportedExtensionAddition = \"-\".concat(key, \"-\").concat(value);\n }\n }\n else if (~requestedValue.indexOf('true')) {\n value = 'true';\n supportedExtensionAddition = \"-\".concat(key);\n }\n }\n }\n if (key in options) {\n var optionsValue = options[key];\n invariant(typeof optionsValue === 'string' ||\n typeof optionsValue === 'undefined' ||\n optionsValue === null, 'optionsValue must be String, Undefined or Null');\n if (~keyLocaleData.indexOf(optionsValue)) {\n if (optionsValue !== value) {\n value = optionsValue;\n supportedExtensionAddition = '';\n }\n }\n }\n result[key] = value;\n supportedExtension += supportedExtensionAddition;\n }\n if (supportedExtension.length > 2) {\n var privateIndex = foundLocale.indexOf('-x-');\n if (privateIndex === -1) {\n foundLocale = foundLocale + supportedExtension;\n }\n else {\n var preExtension = foundLocale.slice(0, privateIndex);\n var postExtension = foundLocale.slice(privateIndex, foundLocale.length);\n foundLocale = preExtension + supportedExtension + postExtension;\n }\n foundLocale = Intl.getCanonicalLocales(foundLocale)[0];\n }\n result.locale = foundLocale;\n return result;\n}\n","import { BestAvailableLocale } from './BestAvailableLocale';\nimport { UNICODE_EXTENSION_SEQUENCE_REGEX } from './utils';\n/**\n * https://tc39.es/ecma402/#sec-lookupmatcher\n * @param availableLocales\n * @param requestedLocales\n * @param getDefaultLocale\n */\nexport function LookupMatcher(availableLocales, requestedLocales, getDefaultLocale) {\n var result = { locale: '' };\n for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {\n var locale = requestedLocales_1[_i];\n var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, '');\n var availableLocale = BestAvailableLocale(availableLocales, noExtensionLocale);\n if (availableLocale) {\n result.locale = availableLocale;\n if (locale !== noExtensionLocale) {\n result.extension = locale.slice(noExtensionLocale.length, locale.length);\n }\n return result;\n }\n }\n result.locale = getDefaultLocale();\n return result;\n}\n","import { BestAvailableLocale } from './BestAvailableLocale';\nimport { UNICODE_EXTENSION_SEQUENCE_REGEX } from './utils';\n/**\n * https://tc39.es/ecma402/#sec-lookupsupportedlocales\n * @param availableLocales\n * @param requestedLocales\n */\nexport function LookupSupportedLocales(availableLocales, requestedLocales) {\n var subset = [];\n for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {\n var locale = requestedLocales_1[_i];\n var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, '');\n var availableLocale = BestAvailableLocale(availableLocales, noExtensionLocale);\n if (availableLocale) {\n subset.push(availableLocale);\n }\n }\n return subset;\n}\n","import { DefaultNumberOption } from '../DefaultNumberOption';\nimport { GetNumberOption } from '../GetNumberOption';\nimport { GetOption } from '../GetOption';\n/**\n * https://tc39.es/ecma402/#sec-setnfdigitoptions\n */\nexport function SetNumberFormatDigitOptions(internalSlots, opts, mnfdDefault, mxfdDefault, notation) {\n var mnid = GetNumberOption(opts, 'minimumIntegerDigits', 1, 21, 1);\n var mnfd = opts.minimumFractionDigits;\n var mxfd = opts.maximumFractionDigits;\n var mnsd = opts.minimumSignificantDigits;\n var mxsd = opts.maximumSignificantDigits;\n internalSlots.minimumIntegerDigits = mnid;\n var roundingPriority = GetOption(opts, 'roundingPriority', 'string', ['auto', 'morePrecision', 'lessPrecision'], 'auto');\n var hasSd = mnsd !== undefined || mxsd !== undefined;\n var hasFd = mnfd !== undefined || mxfd !== undefined;\n var needSd = true;\n var needFd = true;\n if (roundingPriority === 'auto') {\n needSd = hasSd;\n if (hasSd || (!hasFd && notation === 'compact')) {\n needFd = false;\n }\n }\n if (needSd) {\n if (hasSd) {\n mnsd = DefaultNumberOption(mnsd, 1, 21, 1);\n mxsd = DefaultNumberOption(mxsd, mnsd, 21, 21);\n internalSlots.minimumSignificantDigits = mnsd;\n internalSlots.maximumSignificantDigits = mxsd;\n }\n else {\n internalSlots.minimumSignificantDigits = 1;\n internalSlots.maximumSignificantDigits = 21;\n }\n }\n if (needFd) {\n if (hasFd) {\n mnfd = DefaultNumberOption(mnfd, 0, 20, undefined);\n mxfd = DefaultNumberOption(mxfd, 0, 20, undefined);\n if (mnfd === undefined) {\n // @ts-expect-error\n mnfd = Math.min(mnfdDefault, mxfd);\n }\n else if (mxfd === undefined) {\n mxfd = Math.max(mxfdDefault, mnfd);\n }\n else if (mnfd > mxfd) {\n throw new RangeError(\"Invalid range, \".concat(mnfd, \" > \").concat(mxfd));\n }\n internalSlots.minimumFractionDigits = mnfd;\n internalSlots.maximumFractionDigits = mxfd;\n }\n else {\n internalSlots.minimumFractionDigits = mnfdDefault;\n internalSlots.maximumFractionDigits = mxfdDefault;\n }\n }\n if (needSd || needFd) {\n if (roundingPriority === 'morePrecision') {\n internalSlots.roundingType = 'morePrecision';\n }\n else if (roundingPriority === 'lessPrecision') {\n internalSlots.roundingType = 'lessPrecision';\n }\n else if (hasSd) {\n internalSlots.roundingType = 'significantDigits';\n }\n else {\n internalSlots.roundingType = 'fractionDigits';\n }\n }\n else {\n internalSlots.roundingType = 'morePrecision';\n internalSlots.minimumFractionDigits = 0;\n internalSlots.maximumFractionDigits = 0;\n internalSlots.minimumSignificantDigits = 1;\n internalSlots.maximumSignificantDigits = 2;\n }\n}\n","import { GetOption } from '../GetOption';\nimport { IsWellFormedCurrencyCode } from '../IsWellFormedCurrencyCode';\nimport { IsWellFormedUnitIdentifier } from '../IsWellFormedUnitIdentifier';\n/**\n * https://tc39.es/ecma402/#sec-setnumberformatunitoptions\n */\nexport function SetNumberFormatUnitOptions(nf, options, _a) {\n if (options === void 0) { options = Object.create(null); }\n var getInternalSlots = _a.getInternalSlots;\n var internalSlots = getInternalSlots(nf);\n var style = GetOption(options, 'style', 'string', ['decimal', 'percent', 'currency', 'unit'], 'decimal');\n internalSlots.style = style;\n var currency = GetOption(options, 'currency', 'string', undefined, undefined);\n if (currency !== undefined && !IsWellFormedCurrencyCode(currency)) {\n throw RangeError('Malformed currency code');\n }\n if (style === 'currency' && currency === undefined) {\n throw TypeError('currency cannot be undefined');\n }\n var currencyDisplay = GetOption(options, 'currencyDisplay', 'string', ['code', 'symbol', 'narrowSymbol', 'name'], 'symbol');\n var currencySign = GetOption(options, 'currencySign', 'string', ['standard', 'accounting'], 'standard');\n var unit = GetOption(options, 'unit', 'string', undefined, undefined);\n if (unit !== undefined && !IsWellFormedUnitIdentifier(unit)) {\n throw RangeError('Invalid unit argument for Intl.NumberFormat()');\n }\n if (style === 'unit' && unit === undefined) {\n throw TypeError('unit cannot be undefined');\n }\n var unitDisplay = GetOption(options, 'unitDisplay', 'string', ['short', 'narrow', 'long'], 'short');\n if (style === 'currency') {\n internalSlots.currency = currency.toUpperCase();\n internalSlots.currencyDisplay = currencyDisplay;\n internalSlots.currencySign = currencySign;\n }\n if (style === 'unit') {\n internalSlots.unit = unit;\n internalSlots.unitDisplay = unitDisplay;\n }\n}\n","import { ResolveLocale } from '@formatjs/intl-localematcher';\nimport { CanonicalizeLocaleList } from '../CanonicalizeLocaleList';\nimport { CoerceOptionsToObject } from '../CoerceOptionsToObject';\nimport { GetNumberOption } from '../GetNumberOption';\nimport { GetOption } from '../GetOption';\nimport { GetStringOrBooleanOption } from '../GetStringOrBooleanOption';\nimport { invariant } from '../utils';\nimport { CurrencyDigits } from './CurrencyDigits';\nimport { SetNumberFormatDigitOptions } from './SetNumberFormatDigitOptions';\nimport { SetNumberFormatUnitOptions } from './SetNumberFormatUnitOptions';\nvar VALID_ROUND_INCREMENT_VALUES = [\n 1, 2, 5, 10, 20, 25, 50, 100, 200, 250, 500, 1000, 2000,\n];\n/**\n * https://tc39.es/ecma402/#sec-initializenumberformat\n */\nexport function InitializeNumberFormat(nf, locales, opts, _a) {\n var getInternalSlots = _a.getInternalSlots, localeData = _a.localeData, availableLocales = _a.availableLocales, numberingSystemNames = _a.numberingSystemNames, getDefaultLocale = _a.getDefaultLocale, currencyDigitsData = _a.currencyDigitsData;\n // @ts-ignore\n var requestedLocales = CanonicalizeLocaleList(locales);\n var options = CoerceOptionsToObject(opts);\n var opt = Object.create(null);\n var matcher = GetOption(options, 'localeMatcher', 'string', ['lookup', 'best fit'], 'best fit');\n opt.localeMatcher = matcher;\n var numberingSystem = GetOption(options, 'numberingSystem', 'string', undefined, undefined);\n if (numberingSystem !== undefined &&\n numberingSystemNames.indexOf(numberingSystem) < 0) {\n // 8.a. If numberingSystem does not match the Unicode Locale Identifier type nonterminal,\n // throw a RangeError exception.\n throw RangeError(\"Invalid numberingSystems: \".concat(numberingSystem));\n }\n opt.nu = numberingSystem;\n var r = ResolveLocale(Array.from(availableLocales), requestedLocales, opt, \n // [[RelevantExtensionKeys]] slot, which is a constant\n ['nu'], localeData, getDefaultLocale);\n var dataLocaleData = localeData[r.dataLocale];\n invariant(!!dataLocaleData, \"Missing locale data for \".concat(r.dataLocale));\n var internalSlots = getInternalSlots(nf);\n internalSlots.locale = r.locale;\n internalSlots.dataLocale = r.dataLocale;\n internalSlots.numberingSystem = r.nu;\n internalSlots.dataLocaleData = dataLocaleData;\n SetNumberFormatUnitOptions(nf, options, { getInternalSlots: getInternalSlots });\n var style = internalSlots.style;\n var mnfdDefault;\n var mxfdDefault;\n if (style === 'currency') {\n var currency = internalSlots.currency;\n var cDigits = CurrencyDigits(currency, { currencyDigitsData: currencyDigitsData });\n mnfdDefault = cDigits;\n mxfdDefault = cDigits;\n }\n else {\n mnfdDefault = 0;\n mxfdDefault = style === 'percent' ? 0 : 3;\n }\n var notation = GetOption(options, 'notation', 'string', ['standard', 'scientific', 'engineering', 'compact'], 'standard');\n internalSlots.notation = notation;\n SetNumberFormatDigitOptions(internalSlots, options, mnfdDefault, mxfdDefault, notation);\n var roundingIncrement = GetNumberOption(options, 'roundingIncrement', 1, 5000, 1);\n if (VALID_ROUND_INCREMENT_VALUES.indexOf(roundingIncrement) === -1) {\n throw new RangeError(\"Invalid rounding increment value: \".concat(roundingIncrement, \".\\nValid values are \").concat(VALID_ROUND_INCREMENT_VALUES, \".\"));\n }\n if (roundingIncrement !== 1 &&\n internalSlots.roundingType !== 'fractionDigits') {\n throw new TypeError(\"For roundingIncrement > 1 only fractionDigits is a valid roundingType\");\n }\n if (roundingIncrement !== 1 &&\n internalSlots.maximumFractionDigits !== internalSlots.minimumFractionDigits) {\n throw new RangeError('With roundingIncrement > 1, maximumFractionDigits and minimumFractionDigits must be equal.');\n }\n internalSlots.roundingIncrement = roundingIncrement;\n var trailingZeroDisplay = GetOption(options, 'trailingZeroDisplay', 'string', ['auto', 'stripIfInteger'], 'auto');\n internalSlots.trailingZeroDisplay = trailingZeroDisplay;\n var compactDisplay = GetOption(options, 'compactDisplay', 'string', ['short', 'long'], 'short');\n var defaultUseGrouping = 'auto';\n if (notation === 'compact') {\n internalSlots.compactDisplay = compactDisplay;\n defaultUseGrouping = 'min2';\n }\n internalSlots.useGrouping = GetStringOrBooleanOption(options, 'useGrouping', ['min2', 'auto', 'always'], 'always', false, defaultUseGrouping);\n internalSlots.signDisplay = GetOption(options, 'signDisplay', 'string', ['auto', 'never', 'always', 'exceptZero', 'negative'], 'auto');\n internalSlots.roundingMode = GetOption(options, 'roundingMode', 'string', [\n 'ceil',\n 'floor',\n 'expand',\n 'trunc',\n 'halfCeil',\n 'halfFloor',\n 'halfExpand',\n 'halfTrunc',\n 'halfEven',\n ], 'halfExpand');\n return nf;\n}\n","import { invariant } from './utils';\n/**\n * https://tc39.es/ecma402/#sec-partitionpattern\n * @param pattern\n */\nexport function PartitionPattern(pattern) {\n var result = [];\n var beginIndex = pattern.indexOf('{');\n var endIndex = 0;\n var nextIndex = 0;\n var length = pattern.length;\n while (beginIndex < pattern.length && beginIndex > -1) {\n endIndex = pattern.indexOf('}', beginIndex);\n invariant(endIndex > beginIndex, \"Invalid pattern \".concat(pattern));\n if (beginIndex > nextIndex) {\n result.push({\n type: 'literal',\n value: pattern.substring(nextIndex, beginIndex),\n });\n }\n result.push({\n type: pattern.substring(beginIndex + 1, endIndex),\n value: undefined,\n });\n nextIndex = endIndex + 1;\n beginIndex = pattern.indexOf('{', nextIndex);\n }\n if (nextIndex < length) {\n result.push({\n type: 'literal',\n value: pattern.substring(nextIndex, length),\n });\n }\n return result;\n}\n","import { LookupSupportedLocales } from '@formatjs/intl-localematcher';\nimport { ToObject } from './262';\nimport { GetOption } from './GetOption';\n/**\n * https://tc39.es/ecma402/#sec-supportedlocales\n * @param availableLocales\n * @param requestedLocales\n * @param options\n */\nexport function SupportedLocales(availableLocales, requestedLocales, options) {\n var matcher = 'best fit';\n if (options !== undefined) {\n options = ToObject(options);\n matcher = GetOption(options, 'localeMatcher', 'string', ['lookup', 'best fit'], 'best fit');\n }\n if (matcher === 'best fit') {\n return LookupSupportedLocales(Array.from(availableLocales), requestedLocales);\n }\n return LookupSupportedLocales(Array.from(availableLocales), requestedLocales);\n}\n","import { __extends } from \"tslib\";\nvar MissingLocaleDataError = /** @class */ (function (_super) {\n __extends(MissingLocaleDataError, _super);\n function MissingLocaleDataError() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = 'MISSING_LOCALE_DATA';\n return _this;\n }\n return MissingLocaleDataError;\n}(Error));\nexport function isMissingLocaleDataError(e) {\n return e.type === 'MISSING_LOCALE_DATA';\n}\n","export var RangePatternType;\n(function (RangePatternType) {\n RangePatternType[\"startRange\"] = \"startRange\";\n RangePatternType[\"shared\"] = \"shared\";\n RangePatternType[\"endRange\"] = \"endRange\";\n})(RangePatternType || (RangePatternType = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NumberFormat = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ecma402_abstract_1 = require(\"@formatjs/ecma402-abstract\");\nvar currency_digits_generated_1 = require(\"./currency-digits.generated\");\nvar numbering_systems_generated_1 = require(\"./numbering-systems.generated\");\n// eslint-disable-next-line import/no-cycle\nvar get_internal_slots_1 = tslib_1.__importDefault(require(\"./get_internal_slots\"));\nvar RESOLVED_OPTIONS_KEYS = [\n 'locale',\n 'numberingSystem',\n 'style',\n 'currency',\n 'currencyDisplay',\n 'currencySign',\n 'unit',\n 'unitDisplay',\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits',\n 'useGrouping',\n 'notation',\n 'compactDisplay',\n 'signDisplay',\n];\n/**\n * https://tc39.es/ecma402/#sec-intl-numberformat-constructor\n */\nexports.NumberFormat = function (locales, options) {\n // Cannot use `new.target` bc of IE11 & TS transpiles it to something else\n if (!this || !(0, ecma402_abstract_1.OrdinaryHasInstance)(exports.NumberFormat, this)) {\n return new exports.NumberFormat(locales, options);\n }\n (0, ecma402_abstract_1.InitializeNumberFormat)(this, locales, options, {\n getInternalSlots: get_internal_slots_1.default,\n localeData: exports.NumberFormat.localeData,\n availableLocales: exports.NumberFormat.availableLocales,\n getDefaultLocale: exports.NumberFormat.getDefaultLocale,\n currencyDigitsData: currency_digits_generated_1.currencyDigitsData,\n numberingSystemNames: numbering_systems_generated_1.numberingSystemNames,\n });\n var internalSlots = (0, get_internal_slots_1.default)(this);\n var dataLocale = internalSlots.dataLocale;\n var dataLocaleData = exports.NumberFormat.localeData[dataLocale];\n (0, ecma402_abstract_1.invariant)(dataLocaleData !== undefined, \"Cannot load locale-dependent data for \".concat(dataLocale, \".\"));\n internalSlots.pl = new Intl.PluralRules(dataLocale, {\n minimumFractionDigits: internalSlots.minimumFractionDigits,\n maximumFractionDigits: internalSlots.maximumFractionDigits,\n minimumIntegerDigits: internalSlots.minimumIntegerDigits,\n minimumSignificantDigits: internalSlots.minimumSignificantDigits,\n maximumSignificantDigits: internalSlots.maximumSignificantDigits,\n });\n return this;\n};\nfunction formatToParts(x) {\n return (0, ecma402_abstract_1.FormatNumericToParts)(this, toNumeric(x), {\n getInternalSlots: get_internal_slots_1.default,\n });\n}\nfunction formatRange(start, end) {\n return (0, ecma402_abstract_1.FormatNumericRange)(this, start, end, { getInternalSlots: get_internal_slots_1.default });\n}\nfunction formatRangeToParts(start, end) {\n return (0, ecma402_abstract_1.FormatNumericRangeToParts)(this, start, end, { getInternalSlots: get_internal_slots_1.default });\n}\ntry {\n Object.defineProperty(formatToParts, 'name', {\n value: 'formatToParts',\n enumerable: false,\n writable: false,\n configurable: true,\n });\n}\ncatch (e) {\n // In older browser (e.g Chrome 36 like polyfill-fastly.io)\n // TypeError: Cannot redefine property: name\n}\n(0, ecma402_abstract_1.defineProperty)(exports.NumberFormat.prototype, 'formatToParts', {\n value: formatToParts,\n});\n(0, ecma402_abstract_1.defineProperty)(exports.NumberFormat.prototype, 'formatRange', {\n value: formatRange,\n});\n(0, ecma402_abstract_1.defineProperty)(exports.NumberFormat.prototype, 'formatRangeToParts', {\n value: formatRangeToParts,\n});\n(0, ecma402_abstract_1.defineProperty)(exports.NumberFormat.prototype, 'resolvedOptions', {\n value: function resolvedOptions() {\n if (typeof this !== 'object' || !(0, ecma402_abstract_1.OrdinaryHasInstance)(exports.NumberFormat, this)) {\n throw TypeError('Method Intl.NumberFormat.prototype.resolvedOptions called on incompatible receiver');\n }\n var internalSlots = (0, get_internal_slots_1.default)(this);\n var ro = {};\n for (var _i = 0, RESOLVED_OPTIONS_KEYS_1 = RESOLVED_OPTIONS_KEYS; _i < RESOLVED_OPTIONS_KEYS_1.length; _i++) {\n var key = RESOLVED_OPTIONS_KEYS_1[_i];\n var value = internalSlots[key];\n if (value !== undefined) {\n ro[key] = value;\n }\n }\n if (internalSlots.roundingType === 'morePrecision') {\n ro.roundingPriority = 'morePrecision';\n }\n else if (internalSlots.roundingType === 'lessPrecision') {\n ro.roundingPriority = 'lessPrecision';\n }\n else {\n ro.roundingPriority = 'auto';\n }\n return ro;\n },\n});\nvar formatDescriptor = {\n enumerable: false,\n configurable: true,\n get: function () {\n if (typeof this !== 'object' || !(0, ecma402_abstract_1.OrdinaryHasInstance)(exports.NumberFormat, this)) {\n throw TypeError('Intl.NumberFormat format property accessor called on incompatible receiver');\n }\n var internalSlots = (0, get_internal_slots_1.default)(this);\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var numberFormat = this;\n var boundFormat = internalSlots.boundFormat;\n if (boundFormat === undefined) {\n // https://tc39.es/proposal-unified-intl-numberformat/section11/numberformat_diff_out.html#sec-number-format-functions\n boundFormat = function (value) {\n // TODO: check bigint\n var x = toNumeric(value);\n return numberFormat\n .formatToParts(x)\n .map(function (x) { return x.value; })\n .join('');\n };\n try {\n // https://github.com/tc39/test262/blob/master/test/intl402/NumberFormat/prototype/format/format-function-name.js\n Object.defineProperty(boundFormat, 'name', {\n configurable: true,\n enumerable: false,\n writable: false,\n value: '',\n });\n }\n catch (e) {\n // In older browser (e.g Chrome 36 like polyfill-fastly.io)\n // TypeError: Cannot redefine property: name\n }\n internalSlots.boundFormat = boundFormat;\n }\n return boundFormat;\n },\n};\ntry {\n // https://github.com/tc39/test262/blob/master/test/intl402/NumberFormat/prototype/format/name.js\n Object.defineProperty(formatDescriptor.get, 'name', {\n configurable: true,\n enumerable: false,\n writable: false,\n value: 'get format',\n });\n}\ncatch (e) {\n // In older browser (e.g Chrome 36 like polyfill-fastly.io)\n // TypeError: Cannot redefine property: name\n}\nObject.defineProperty(exports.NumberFormat.prototype, 'format', formatDescriptor);\n// Static properties\n(0, ecma402_abstract_1.defineProperty)(exports.NumberFormat, 'supportedLocalesOf', {\n value: function supportedLocalesOf(locales, options) {\n return (0, ecma402_abstract_1.SupportedLocales)(exports.NumberFormat.availableLocales, (0, ecma402_abstract_1.CanonicalizeLocaleList)(locales), options);\n },\n});\nexports.NumberFormat.__addLocaleData = function __addLocaleData() {\n var data = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n data[_i] = arguments[_i];\n }\n for (var _a = 0, data_1 = data; _a < data_1.length; _a++) {\n var _b = data_1[_a], d = _b.data, locale = _b.locale;\n var minimizedLocale = new Intl.Locale(locale)\n .minimize()\n .toString();\n exports.NumberFormat.localeData[locale] = exports.NumberFormat.localeData[minimizedLocale] =\n d;\n exports.NumberFormat.availableLocales.add(minimizedLocale);\n exports.NumberFormat.availableLocales.add(locale);\n if (!exports.NumberFormat.__defaultLocale) {\n exports.NumberFormat.__defaultLocale = minimizedLocale;\n }\n }\n};\nexports.NumberFormat.__addUnitData = function __addUnitData(locale, unitsData) {\n var _a = exports.NumberFormat.localeData, _b = locale, existingData = _a[_b];\n if (!existingData) {\n throw new Error(\"Locale data for \\\"\".concat(locale, \"\\\" has not been loaded in NumberFormat. \\nPlease __addLocaleData before adding additional unit data\"));\n }\n for (var unit in unitsData.simple) {\n existingData.units.simple[unit] = unitsData.simple[unit];\n }\n for (var unit in unitsData.compound) {\n existingData.units.compound[unit] = unitsData.compound[unit];\n }\n};\nexports.NumberFormat.__defaultLocale = '';\nexports.NumberFormat.localeData = {};\nexports.NumberFormat.availableLocales = new Set();\nexports.NumberFormat.getDefaultLocale = function () {\n return exports.NumberFormat.__defaultLocale;\n};\nexports.NumberFormat.polyfilled = true;\nfunction toNumeric(val) {\n if (typeof val === 'bigint') {\n return val;\n }\n return (0, ecma402_abstract_1.ToNumber)(val);\n}\ntry {\n // IE11 does not have Symbol\n if (typeof Symbol !== 'undefined') {\n Object.defineProperty(exports.NumberFormat.prototype, Symbol.toStringTag, {\n configurable: true,\n enumerable: false,\n writable: false,\n value: 'Intl.NumberFormat',\n });\n }\n // https://github.com/tc39/test262/blob/master/test/intl402/NumberFormat/length.js\n Object.defineProperty(exports.NumberFormat.prototype.constructor, 'length', {\n configurable: true,\n enumerable: false,\n writable: false,\n value: 0,\n });\n // https://github.com/tc39/test262/blob/master/test/intl402/NumberFormat/supportedLocalesOf/length.js\n Object.defineProperty(exports.NumberFormat.supportedLocalesOf, 'length', {\n configurable: true,\n enumerable: false,\n writable: false,\n value: 1,\n });\n Object.defineProperty(exports.NumberFormat, 'prototype', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: exports.NumberFormat.prototype,\n });\n}\ncatch (e) {\n // Meta fix so we're test262-compliant, not important\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.currencyDigitsData = void 0;\nexports.currencyDigitsData = {\n \"ADP\": 0,\n \"AFN\": 0,\n \"ALL\": 0,\n \"AMD\": 2,\n \"BHD\": 3,\n \"BIF\": 0,\n \"BYN\": 2,\n \"BYR\": 0,\n \"CAD\": 2,\n \"CHF\": 2,\n \"CLF\": 4,\n \"CLP\": 0,\n \"COP\": 2,\n \"CRC\": 2,\n \"CZK\": 2,\n \"DEFAULT\": 2,\n \"DJF\": 0,\n \"DKK\": 2,\n \"ESP\": 0,\n \"GNF\": 0,\n \"GYD\": 2,\n \"HUF\": 2,\n \"IDR\": 2,\n \"IQD\": 0,\n \"IRR\": 0,\n \"ISK\": 0,\n \"ITL\": 0,\n \"JOD\": 3,\n \"JPY\": 0,\n \"KMF\": 0,\n \"KPW\": 0,\n \"KRW\": 0,\n \"KWD\": 3,\n \"LAK\": 0,\n \"LBP\": 0,\n \"LUF\": 0,\n \"LYD\": 3,\n \"MGA\": 0,\n \"MGF\": 0,\n \"MMK\": 0,\n \"MNT\": 2,\n \"MRO\": 0,\n \"MUR\": 2,\n \"NOK\": 2,\n \"OMR\": 3,\n \"PKR\": 2,\n \"PYG\": 0,\n \"RSD\": 0,\n \"RWF\": 0,\n \"SEK\": 2,\n \"SLE\": 2,\n \"SLL\": 0,\n \"SOS\": 0,\n \"STD\": 0,\n \"SYP\": 0,\n \"TMM\": 0,\n \"TND\": 3,\n \"TRL\": 0,\n \"TWD\": 2,\n \"TZS\": 2,\n \"UGX\": 0,\n \"UYI\": 0,\n \"UYW\": 4,\n \"UZS\": 2,\n \"VEF\": 2,\n \"VND\": 0,\n \"VUV\": 0,\n \"XAF\": 0,\n \"XOF\": 0,\n \"XPF\": 0,\n \"YER\": 0,\n \"ZMK\": 0,\n \"ZWD\": 0\n};\n","\"use strict\";\n// Type-only circular import\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar internalSlotMap = new WeakMap();\nfunction getInternalSlots(x) {\n var internalSlots = internalSlotMap.get(x);\n if (!internalSlots) {\n internalSlots = Object.create(null);\n internalSlotMap.set(x, internalSlots);\n }\n return internalSlots;\n}\nexports.default = getInternalSlots;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.numberingSystemNames = void 0;\nexports.numberingSystemNames = [\"adlm\", \"ahom\", \"arab\", \"arabext\", \"armn\", \"armnlow\", \"bali\", \"beng\", \"bhks\", \"brah\", \"cakm\", \"cham\", \"cyrl\", \"deva\", \"diak\", \"ethi\", \"fullwide\", \"geor\", \"gong\", \"gonm\", \"grek\", \"greklow\", \"gujr\", \"guru\", \"hanidays\", \"hanidec\", \"hans\", \"hansfin\", \"hant\", \"hantfin\", \"hebr\", \"hmng\", \"hmnp\", \"java\", \"jpan\", \"jpanfin\", \"jpanyear\", \"kali\", \"kawi\", \"khmr\", \"knda\", \"lana\", \"lanatham\", \"laoo\", \"latn\", \"lepc\", \"limb\", \"mathbold\", \"mathdbl\", \"mathmono\", \"mathsanb\", \"mathsans\", \"mlym\", \"modi\", \"mong\", \"mroo\", \"mtei\", \"mymr\", \"mymrshan\", \"mymrtlng\", \"nagm\", \"newa\", \"nkoo\", \"olck\", \"orya\", \"osma\", \"rohg\", \"roman\", \"romanlow\", \"saur\", \"segment\", \"shrd\", \"sind\", \"sinh\", \"sora\", \"sund\", \"takr\", \"talu\", \"taml\", \"tamldec\", \"telu\", \"thai\", \"tibt\", \"tirh\", \"tnsa\", \"vaii\", \"wara\", \"wcho\"];\n","'use client';\n\nimport * as React from 'react';\n\n/**\n * @ignore - internal component.\n */\nconst GridContext = /*#__PURE__*/React.createContext();\nif (process.env.NODE_ENV !== 'production') {\n GridContext.displayName = 'GridContext';\n}\nexport default GridContext;","'use client';\n\n// A grid component using the following libs as inspiration.\n//\n// For the implementation:\n// - https://getbootstrap.com/docs/4.3/layout/grid/\n// - https://github.com/kristoferjoseph/flexboxgrid/blob/master/src/css/flexboxgrid.css\n// - https://github.com/roylee0704/react-flexbox-grid\n// - https://material.angularjs.org/latest/layout/introduction\n//\n// Follow this flexbox Guide to better understand the underlying model:\n// - https://css-tricks.com/snippets/css/a-guide-to-flexbox/\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"columns\", \"columnSpacing\", \"component\", \"container\", \"direction\", \"item\", \"rowSpacing\", \"spacing\", \"wrap\", \"zeroMinWidth\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { handleBreakpoints, unstable_resolveBreakpointValues as resolveBreakpointValues } from '@mui/system';\nimport { extendSxProp } from '@mui/system/styleFunctionSx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport requirePropFactory from '../utils/requirePropFactory';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport useTheme from '../styles/useTheme';\nimport GridContext from './GridContext';\nimport gridClasses, { getGridUtilityClass } from './gridClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction getOffset(val) {\n const parse = parseFloat(val);\n return `${parse}${String(val).replace(String(parse), '') || 'px'}`;\n}\nexport function generateGrid({\n theme,\n ownerState\n}) {\n let size;\n return theme.breakpoints.keys.reduce((globalStyles, breakpoint) => {\n // Use side effect over immutability for better performance.\n let styles = {};\n if (ownerState[breakpoint]) {\n size = ownerState[breakpoint];\n }\n if (!size) {\n return globalStyles;\n }\n if (size === true) {\n // For the auto layouting\n styles = {\n flexBasis: 0,\n flexGrow: 1,\n maxWidth: '100%'\n };\n } else if (size === 'auto') {\n styles = {\n flexBasis: 'auto',\n flexGrow: 0,\n flexShrink: 0,\n maxWidth: 'none',\n width: 'auto'\n };\n } else {\n const columnsBreakpointValues = resolveBreakpointValues({\n values: ownerState.columns,\n breakpoints: theme.breakpoints.values\n });\n const columnValue = typeof columnsBreakpointValues === 'object' ? columnsBreakpointValues[breakpoint] : columnsBreakpointValues;\n if (columnValue === undefined || columnValue === null) {\n return globalStyles;\n }\n // Keep 7 significant numbers.\n const width = `${Math.round(size / columnValue * 10e7) / 10e5}%`;\n let more = {};\n if (ownerState.container && ownerState.item && ownerState.columnSpacing !== 0) {\n const themeSpacing = theme.spacing(ownerState.columnSpacing);\n if (themeSpacing !== '0px') {\n const fullWidth = `calc(${width} + ${getOffset(themeSpacing)})`;\n more = {\n flexBasis: fullWidth,\n maxWidth: fullWidth\n };\n }\n }\n\n // Close to the bootstrap implementation:\n // https://github.com/twbs/bootstrap/blob/8fccaa2439e97ec72a4b7dc42ccc1f649790adb0/scss/mixins/_grid.scss#L41\n styles = _extends({\n flexBasis: width,\n flexGrow: 0,\n maxWidth: width\n }, more);\n }\n\n // No need for a media query for the first size.\n if (theme.breakpoints.values[breakpoint] === 0) {\n Object.assign(globalStyles, styles);\n } else {\n globalStyles[theme.breakpoints.up(breakpoint)] = styles;\n }\n return globalStyles;\n }, {});\n}\nexport function generateDirection({\n theme,\n ownerState\n}) {\n const directionValues = resolveBreakpointValues({\n values: ownerState.direction,\n breakpoints: theme.breakpoints.values\n });\n return handleBreakpoints({\n theme\n }, directionValues, propValue => {\n const output = {\n flexDirection: propValue\n };\n if (propValue.indexOf('column') === 0) {\n output[`& > .${gridClasses.item}`] = {\n maxWidth: 'none'\n };\n }\n return output;\n });\n}\n\n/**\n * Extracts zero value breakpoint keys before a non-zero value breakpoint key.\n * @example { xs: 0, sm: 0, md: 2, lg: 0, xl: 0 } or [0, 0, 2, 0, 0]\n * @returns [xs, sm]\n */\nfunction extractZeroValueBreakpointKeys({\n breakpoints,\n values\n}) {\n let nonZeroKey = '';\n Object.keys(values).forEach(key => {\n if (nonZeroKey !== '') {\n return;\n }\n if (values[key] !== 0) {\n nonZeroKey = key;\n }\n });\n const sortedBreakpointKeysByValue = Object.keys(breakpoints).sort((a, b) => {\n return breakpoints[a] - breakpoints[b];\n });\n return sortedBreakpointKeysByValue.slice(0, sortedBreakpointKeysByValue.indexOf(nonZeroKey));\n}\nexport function generateRowGap({\n theme,\n ownerState\n}) {\n const {\n container,\n rowSpacing\n } = ownerState;\n let styles = {};\n if (container && rowSpacing !== 0) {\n const rowSpacingValues = resolveBreakpointValues({\n values: rowSpacing,\n breakpoints: theme.breakpoints.values\n });\n let zeroValueBreakpointKeys;\n if (typeof rowSpacingValues === 'object') {\n zeroValueBreakpointKeys = extractZeroValueBreakpointKeys({\n breakpoints: theme.breakpoints.values,\n values: rowSpacingValues\n });\n }\n styles = handleBreakpoints({\n theme\n }, rowSpacingValues, (propValue, breakpoint) => {\n var _zeroValueBreakpointK;\n const themeSpacing = theme.spacing(propValue);\n if (themeSpacing !== '0px') {\n return {\n marginTop: `-${getOffset(themeSpacing)}`,\n [`& > .${gridClasses.item}`]: {\n paddingTop: getOffset(themeSpacing)\n }\n };\n }\n if ((_zeroValueBreakpointK = zeroValueBreakpointKeys) != null && _zeroValueBreakpointK.includes(breakpoint)) {\n return {};\n }\n return {\n marginTop: 0,\n [`& > .${gridClasses.item}`]: {\n paddingTop: 0\n }\n };\n });\n }\n return styles;\n}\nexport function generateColumnGap({\n theme,\n ownerState\n}) {\n const {\n container,\n columnSpacing\n } = ownerState;\n let styles = {};\n if (container && columnSpacing !== 0) {\n const columnSpacingValues = resolveBreakpointValues({\n values: columnSpacing,\n breakpoints: theme.breakpoints.values\n });\n let zeroValueBreakpointKeys;\n if (typeof columnSpacingValues === 'object') {\n zeroValueBreakpointKeys = extractZeroValueBreakpointKeys({\n breakpoints: theme.breakpoints.values,\n values: columnSpacingValues\n });\n }\n styles = handleBreakpoints({\n theme\n }, columnSpacingValues, (propValue, breakpoint) => {\n var _zeroValueBreakpointK2;\n const themeSpacing = theme.spacing(propValue);\n if (themeSpacing !== '0px') {\n return {\n width: `calc(100% + ${getOffset(themeSpacing)})`,\n marginLeft: `-${getOffset(themeSpacing)}`,\n [`& > .${gridClasses.item}`]: {\n paddingLeft: getOffset(themeSpacing)\n }\n };\n }\n if ((_zeroValueBreakpointK2 = zeroValueBreakpointKeys) != null && _zeroValueBreakpointK2.includes(breakpoint)) {\n return {};\n }\n return {\n width: '100%',\n marginLeft: 0,\n [`& > .${gridClasses.item}`]: {\n paddingLeft: 0\n }\n };\n });\n }\n return styles;\n}\nexport function resolveSpacingStyles(spacing, breakpoints, styles = {}) {\n // undefined/null or `spacing` <= 0\n if (!spacing || spacing <= 0) {\n return [];\n }\n // in case of string/number `spacing`\n if (typeof spacing === 'string' && !Number.isNaN(Number(spacing)) || typeof spacing === 'number') {\n return [styles[`spacing-xs-${String(spacing)}`]];\n }\n // in case of object `spacing`\n const spacingStyles = [];\n breakpoints.forEach(breakpoint => {\n const value = spacing[breakpoint];\n if (Number(value) > 0) {\n spacingStyles.push(styles[`spacing-${breakpoint}-${String(value)}`]);\n }\n });\n return spacingStyles;\n}\n\n// Default CSS values\n// flex: '0 1 auto',\n// flexDirection: 'row',\n// alignItems: 'flex-start',\n// flexWrap: 'nowrap',\n// justifyContent: 'flex-start',\nconst GridRoot = styled('div', {\n name: 'MuiGrid',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n const {\n container,\n direction,\n item,\n spacing,\n wrap,\n zeroMinWidth,\n breakpoints\n } = ownerState;\n let spacingStyles = [];\n\n // in case of grid item\n if (container) {\n spacingStyles = resolveSpacingStyles(spacing, breakpoints, styles);\n }\n const breakpointsStyles = [];\n breakpoints.forEach(breakpoint => {\n const value = ownerState[breakpoint];\n if (value) {\n breakpointsStyles.push(styles[`grid-${breakpoint}-${String(value)}`]);\n }\n });\n return [styles.root, container && styles.container, item && styles.item, zeroMinWidth && styles.zeroMinWidth, ...spacingStyles, direction !== 'row' && styles[`direction-xs-${String(direction)}`], wrap !== 'wrap' && styles[`wrap-xs-${String(wrap)}`], ...breakpointsStyles];\n }\n})(({\n ownerState\n}) => _extends({\n boxSizing: 'border-box'\n}, ownerState.container && {\n display: 'flex',\n flexWrap: 'wrap',\n width: '100%'\n}, ownerState.item && {\n margin: 0 // For instance, it's useful when used with a `figure` element.\n}, ownerState.zeroMinWidth && {\n minWidth: 0\n}, ownerState.wrap !== 'wrap' && {\n flexWrap: ownerState.wrap\n}), generateDirection, generateRowGap, generateColumnGap, generateGrid);\nexport function resolveSpacingClasses(spacing, breakpoints) {\n // undefined/null or `spacing` <= 0\n if (!spacing || spacing <= 0) {\n return [];\n }\n // in case of string/number `spacing`\n if (typeof spacing === 'string' && !Number.isNaN(Number(spacing)) || typeof spacing === 'number') {\n return [`spacing-xs-${String(spacing)}`];\n }\n // in case of object `spacing`\n const classes = [];\n breakpoints.forEach(breakpoint => {\n const value = spacing[breakpoint];\n if (Number(value) > 0) {\n const className = `spacing-${breakpoint}-${String(value)}`;\n classes.push(className);\n }\n });\n return classes;\n}\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n container,\n direction,\n item,\n spacing,\n wrap,\n zeroMinWidth,\n breakpoints\n } = ownerState;\n let spacingClasses = [];\n\n // in case of grid item\n if (container) {\n spacingClasses = resolveSpacingClasses(spacing, breakpoints);\n }\n const breakpointsClasses = [];\n breakpoints.forEach(breakpoint => {\n const value = ownerState[breakpoint];\n if (value) {\n breakpointsClasses.push(`grid-${breakpoint}-${String(value)}`);\n }\n });\n const slots = {\n root: ['root', container && 'container', item && 'item', zeroMinWidth && 'zeroMinWidth', ...spacingClasses, direction !== 'row' && `direction-xs-${String(direction)}`, wrap !== 'wrap' && `wrap-xs-${String(wrap)}`, ...breakpointsClasses]\n };\n return composeClasses(slots, getGridUtilityClass, classes);\n};\nconst Grid = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {\n const themeProps = useDefaultProps({\n props: inProps,\n name: 'MuiGrid'\n });\n const {\n breakpoints\n } = useTheme();\n const props = extendSxProp(themeProps);\n const {\n className,\n columns: columnsProp,\n columnSpacing: columnSpacingProp,\n component = 'div',\n container = false,\n direction = 'row',\n item = false,\n rowSpacing: rowSpacingProp,\n spacing = 0,\n wrap = 'wrap',\n zeroMinWidth = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const rowSpacing = rowSpacingProp || spacing;\n const columnSpacing = columnSpacingProp || spacing;\n const columnsContext = React.useContext(GridContext);\n\n // columns set with default breakpoint unit of 12\n const columns = container ? columnsProp || 12 : columnsContext;\n const breakpointsValues = {};\n const otherFiltered = _extends({}, other);\n breakpoints.keys.forEach(breakpoint => {\n if (other[breakpoint] != null) {\n breakpointsValues[breakpoint] = other[breakpoint];\n delete otherFiltered[breakpoint];\n }\n });\n const ownerState = _extends({}, props, {\n columns,\n container,\n direction,\n item,\n rowSpacing,\n columnSpacing,\n wrap,\n zeroMinWidth,\n spacing\n }, breakpointsValues, {\n breakpoints: breakpoints.keys\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(GridContext.Provider, {\n value: columns,\n children: /*#__PURE__*/_jsx(GridRoot, _extends({\n ownerState: ownerState,\n className: clsx(classes.root, className),\n as: component,\n ref: ref\n }, otherFiltered))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Grid.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The number of columns.\n * @default 12\n */\n columns: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number, PropTypes.object]),\n /**\n * Defines the horizontal space between the type `item` components.\n * It overrides the value of the `spacing` prop.\n */\n columnSpacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the component will have the flex *container* behavior.\n * You should be wrapping *items* with a *container*.\n * @default false\n */\n container: PropTypes.bool,\n /**\n * Defines the `flex-direction` style property.\n * It is applied for all screen sizes.\n * @default 'row'\n */\n direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),\n /**\n * If `true`, the component will have the flex *item* behavior.\n * You should be wrapping *items* with a *container*.\n * @default false\n */\n item: PropTypes.bool,\n /**\n * If a number, it sets the number of columns the grid item uses.\n * It can't be greater than the total number of columns of the container (12 by default).\n * If 'auto', the grid item's width matches its content.\n * If false, the prop is ignored.\n * If true, the grid item's width grows to use the space available in the grid container.\n * The value is applied for the `lg` breakpoint and wider screens if not overridden.\n * @default false\n */\n lg: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.bool]),\n /**\n * If a number, it sets the number of columns the grid item uses.\n * It can't be greater than the total number of columns of the container (12 by default).\n * If 'auto', the grid item's width matches its content.\n * If false, the prop is ignored.\n * If true, the grid item's width grows to use the space available in the grid container.\n * The value is applied for the `md` breakpoint and wider screens if not overridden.\n * @default false\n */\n md: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.bool]),\n /**\n * Defines the vertical space between the type `item` components.\n * It overrides the value of the `spacing` prop.\n */\n rowSpacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n /**\n * If a number, it sets the number of columns the grid item uses.\n * It can't be greater than the total number of columns of the container (12 by default).\n * If 'auto', the grid item's width matches its content.\n * If false, the prop is ignored.\n * If true, the grid item's width grows to use the space available in the grid container.\n * The value is applied for the `sm` breakpoint and wider screens if not overridden.\n * @default false\n */\n sm: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.bool]),\n /**\n * Defines the space between the type `item` components.\n * It can only be used on a type `container` component.\n * @default 0\n */\n spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Defines the `flex-wrap` style property.\n * It's applied for all screen sizes.\n * @default 'wrap'\n */\n wrap: PropTypes.oneOf(['nowrap', 'wrap-reverse', 'wrap']),\n /**\n * If a number, it sets the number of columns the grid item uses.\n * It can't be greater than the total number of columns of the container (12 by default).\n * If 'auto', the grid item's width matches its content.\n * If false, the prop is ignored.\n * If true, the grid item's width grows to use the space available in the grid container.\n * The value is applied for the `xl` breakpoint and wider screens if not overridden.\n * @default false\n */\n xl: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.bool]),\n /**\n * If a number, it sets the number of columns the grid item uses.\n * It can't be greater than the total number of columns of the container (12 by default).\n * If 'auto', the grid item's width matches its content.\n * If false, the prop is ignored.\n * If true, the grid item's width grows to use the space available in the grid container.\n * The value is applied for all the screen sizes with the lowest priority.\n * @default false\n */\n xs: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.bool]),\n /**\n * If `true`, it sets `min-width: 0` on the item.\n * Refer to the limitations section of the documentation to better understand the use case.\n * @default false\n */\n zeroMinWidth: PropTypes.bool\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n const requireProp = requirePropFactory('Grid', Grid);\n // eslint-disable-next-line no-useless-concat\n Grid['propTypes' + ''] = _extends({}, Grid.propTypes, {\n direction: requireProp('container'),\n lg: requireProp('item'),\n md: requireProp('item'),\n sm: requireProp('item'),\n spacing: requireProp('container'),\n wrap: requireProp('container'),\n xs: requireProp('item'),\n zeroMinWidth: requireProp('item')\n });\n}\nexport default Grid;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getGridUtilityClass(slot) {\n return generateUtilityClass('MuiGrid', slot);\n}\nconst SPACINGS = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\nconst DIRECTIONS = ['column-reverse', 'column', 'row-reverse', 'row'];\nconst WRAPS = ['nowrap', 'wrap-reverse', 'wrap'];\nconst GRID_SIZES = ['auto', true, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\nconst gridClasses = generateUtilityClasses('MuiGrid', ['root', 'container', 'item', 'zeroMinWidth',\n// spacings\n...SPACINGS.map(spacing => `spacing-xs-${spacing}`),\n// direction values\n...DIRECTIONS.map(direction => `direction-xs-${direction}`),\n// wrap values\n...WRAPS.map(wrap => `wrap-xs-${wrap}`),\n// grid sizes for all breakpoints\n...GRID_SIZES.map(size => `grid-xs-${size}`), ...GRID_SIZES.map(size => `grid-sm-${size}`), ...GRID_SIZES.map(size => `grid-md-${size}`), ...GRID_SIZES.map(size => `grid-lg-${size}`), ...GRID_SIZES.map(size => `grid-xl-${size}`)]);\nexport default gridClasses;","import _pt from \"prop-types\";\nvar _excluded = [\"top\", \"left\", \"transform\", \"className\", \"children\", \"innerRef\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from 'react';\nimport cx from 'classnames';\nexport default function Group(_ref) {\n var _ref$top = _ref.top,\n top = _ref$top === void 0 ? 0 : _ref$top,\n _ref$left = _ref.left,\n left = _ref$left === void 0 ? 0 : _ref$left,\n transform = _ref.transform,\n className = _ref.className,\n children = _ref.children,\n innerRef = _ref.innerRef,\n restProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"g\", _extends({\n ref: innerRef,\n className: cx('visx-group', className),\n transform: transform || \"translate(\" + left + \", \" + top + \")\"\n }, restProps), children);\n}\nGroup.propTypes = {\n top: _pt.number,\n left: _pt.number,\n transform: _pt.string,\n className: _pt.string,\n children: _pt.node,\n innerRef: _pt.oneOfType([_pt.string, _pt.func, _pt.object])\n};","var pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\n\nfunction path() {\n return new Path;\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function(x1, y1, x, y) {\n this._ += \"Q\" + (+x1) + \",\" + (+y1) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + (+x1) + \",\" + (+y1) + \",\" + (+x2) + \",\" + (+y2) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + (+(y01 * x20 > x01 * y20)) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + (+(da >= pi)) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function(x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + (+w) + \"v\" + (+h) + \"h\" + (-w) + \"Z\";\n },\n toString: function() {\n return this._;\n }\n};\n\nexport default path;\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\n","function Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // proceed\n default: this._context.lineTo(x, y); break;\n }\n }\n};\n\nexport default function(context) {\n return new Linear(context);\n}\n","export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n","import {path} from \"d3-path\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function() {\n var x = pointX,\n y = pointY,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n function line(data) {\n var i,\n n = data.length,\n d,\n defined0 = false,\n buffer;\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();\n else output.lineEnd();\n }\n if (defined0) output.point(+x(d, i, data), +y(d, i, data));\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n line.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), line) : x;\n };\n\n line.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), line) : y;\n };\n\n line.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), line) : defined;\n };\n\n line.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n\n line.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n\n return line;\n}\n","/**\n * This is a workaround for TypeScript not inferring the correct\n * method overload/signature for some d3 shape methods.\n */\nexport default function setNumberOrNumberAccessor(func, value) {\n if (typeof value === 'number') func(value);else func(value);\n}","import { arc as d3Arc, area as d3Area, line as d3Line, pie as d3Pie, radialLine as d3RadialLine, stack as d3Stack } from 'd3-shape';\nimport setNumberOrNumberAccessor from './setNumberOrNumberAccessor';\nimport stackOrder from './stackOrder';\nimport stackOffset from './stackOffset';\nexport function arc(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n innerRadius = _ref.innerRadius,\n outerRadius = _ref.outerRadius,\n cornerRadius = _ref.cornerRadius,\n startAngle = _ref.startAngle,\n endAngle = _ref.endAngle,\n padAngle = _ref.padAngle,\n padRadius = _ref.padRadius;\n var path = d3Arc();\n if (innerRadius != null) setNumberOrNumberAccessor(path.innerRadius, innerRadius);\n if (outerRadius != null) setNumberOrNumberAccessor(path.outerRadius, outerRadius);\n if (cornerRadius != null) setNumberOrNumberAccessor(path.cornerRadius, cornerRadius);\n if (startAngle != null) setNumberOrNumberAccessor(path.startAngle, startAngle);\n if (endAngle != null) setNumberOrNumberAccessor(path.endAngle, endAngle);\n if (padAngle != null) setNumberOrNumberAccessor(path.padAngle, padAngle);\n if (padRadius != null) setNumberOrNumberAccessor(path.padRadius, padRadius);\n return path;\n}\nexport function area(_temp2) {\n var _ref2 = _temp2 === void 0 ? {} : _temp2,\n x = _ref2.x,\n x0 = _ref2.x0,\n x1 = _ref2.x1,\n y = _ref2.y,\n y0 = _ref2.y0,\n y1 = _ref2.y1,\n defined = _ref2.defined,\n curve = _ref2.curve;\n var path = d3Area();\n if (x) setNumberOrNumberAccessor(path.x, x);\n if (x0) setNumberOrNumberAccessor(path.x0, x0);\n if (x1) setNumberOrNumberAccessor(path.x1, x1);\n if (y) setNumberOrNumberAccessor(path.y, y);\n if (y0) setNumberOrNumberAccessor(path.y0, y0);\n if (y1) setNumberOrNumberAccessor(path.y1, y1);\n if (defined) path.defined(defined);\n if (curve) path.curve(curve);\n return path;\n}\nexport function line(_temp3) {\n var _ref3 = _temp3 === void 0 ? {} : _temp3,\n x = _ref3.x,\n y = _ref3.y,\n defined = _ref3.defined,\n curve = _ref3.curve;\n var path = d3Line();\n if (x) setNumberOrNumberAccessor(path.x, x);\n if (y) setNumberOrNumberAccessor(path.y, y);\n if (defined) path.defined(defined);\n if (curve) path.curve(curve);\n return path;\n}\nexport function pie(_temp4) {\n var _ref4 = _temp4 === void 0 ? {} : _temp4,\n startAngle = _ref4.startAngle,\n endAngle = _ref4.endAngle,\n padAngle = _ref4.padAngle,\n value = _ref4.value,\n sort = _ref4.sort,\n sortValues = _ref4.sortValues;\n var path = d3Pie();\n\n // ts can't distinguish between these method overloads\n if (sort === null) path.sort(sort);else if (sort != null) path.sort(sort);\n if (sortValues === null) path.sortValues(sortValues);else if (sortValues != null) path.sortValues(sortValues);\n if (value != null) path.value(value);\n if (padAngle != null) setNumberOrNumberAccessor(path.padAngle, padAngle);\n if (startAngle != null) setNumberOrNumberAccessor(path.startAngle, startAngle);\n if (endAngle != null) setNumberOrNumberAccessor(path.endAngle, endAngle);\n return path;\n}\nexport function radialLine(_temp5) {\n var _ref5 = _temp5 === void 0 ? {} : _temp5,\n angle = _ref5.angle,\n radius = _ref5.radius,\n defined = _ref5.defined,\n curve = _ref5.curve;\n var path = d3RadialLine();\n if (angle) setNumberOrNumberAccessor(path.angle, angle);\n if (radius) setNumberOrNumberAccessor(path.radius, radius);\n if (defined) path.defined(defined);\n if (curve) path.curve(curve);\n return path;\n}\nexport function stack(_ref6) {\n var keys = _ref6.keys,\n value = _ref6.value,\n order = _ref6.order,\n offset = _ref6.offset;\n var path = d3Stack();\n if (keys) path.keys(keys);\n if (value) setNumberOrNumberAccessor(path.value, value);\n if (order) path.order(stackOrder(order));\n if (offset) path.offset(stackOffset(offset));\n return path;\n}","import {path} from \"d3-path\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport line from \"./line.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function() {\n var x0 = pointX,\n x1 = null,\n y0 = constant(0),\n y1 = pointY,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n function area(data) {\n var i,\n j,\n k,\n n = data.length,\n d,\n defined0 = false,\n buffer,\n x0z = new Array(n),\n y0z = new Array(n);\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) {\n j = i;\n output.areaStart();\n output.lineStart();\n } else {\n output.lineEnd();\n output.lineStart();\n for (k = i - 1; k >= j; --k) {\n output.point(x0z[k], y0z[k]);\n }\n output.lineEnd();\n output.areaEnd();\n }\n }\n if (defined0) {\n x0z[i] = +x0(d, i, data), y0z[i] = +y0(d, i, data);\n output.point(x1 ? +x1(d, i, data) : x0z[i], y1 ? +y1(d, i, data) : y0z[i]);\n }\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n function arealine() {\n return line().defined(defined).curve(curve).context(context);\n }\n\n area.x = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), x1 = null, area) : x0;\n };\n\n area.x0 = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), area) : x0;\n };\n\n area.x1 = function(_) {\n return arguments.length ? (x1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : x1;\n };\n\n area.y = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), y1 = null, area) : y0;\n };\n\n area.y0 = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), area) : y0;\n };\n\n area.y1 = function(_) {\n return arguments.length ? (y1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : y1;\n };\n\n area.lineX0 =\n area.lineY0 = function() {\n return arealine().x(x0).y(y0);\n };\n\n area.lineY1 = function() {\n return arealine().x(x0).y(y1);\n };\n\n area.lineX1 = function() {\n return arealine().x(x1).y(y0);\n };\n\n area.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), area) : defined;\n };\n\n area.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), area) : curve;\n };\n\n area.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), area) : context;\n };\n\n return area;\n}\n","var _excluded = [\"children\", \"data\", \"x\", \"y\", \"fill\", \"className\", \"curve\", \"innerRef\", \"defined\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from 'react';\nimport cx from 'classnames';\nimport { line } from '../util/D3ShapeFactories';\nexport default function LinePath(_ref) {\n var children = _ref.children,\n _ref$data = _ref.data,\n data = _ref$data === void 0 ? [] : _ref$data,\n x = _ref.x,\n y = _ref.y,\n _ref$fill = _ref.fill,\n fill = _ref$fill === void 0 ? 'transparent' : _ref$fill,\n className = _ref.className,\n curve = _ref.curve,\n innerRef = _ref.innerRef,\n _ref$defined = _ref.defined,\n defined = _ref$defined === void 0 ? function () {\n return true;\n } : _ref$defined,\n restProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n var path = line({\n x: x,\n y: y,\n defined: defined,\n curve: curve\n });\n if (children) return /*#__PURE__*/React.createElement(React.Fragment, null, children({\n path: path\n }));\n return /*#__PURE__*/React.createElement(\"path\", _extends({\n ref: innerRef,\n className: cx('visx-linepath', className),\n d: path(data) || '',\n fill: fill\n // without this a datum surrounded by nulls will not be visible\n // https://github.com/d3/d3-shape#line_defined\n ,\n strokeLinecap: \"round\"\n }, restProps));\n}","var _excluded = [\"x\", \"x0\", \"x1\", \"y\", \"y1\", \"y0\", \"yScale\", \"data\", \"defined\", \"className\", \"curve\", \"innerRef\", \"children\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from 'react';\nimport cx from 'classnames';\nimport setNumOrAccessor from '../util/setNumberOrNumberAccessor';\nimport { area } from '../util/D3ShapeFactories';\nexport default function AreaClosed(_ref) {\n var x = _ref.x,\n x0 = _ref.x0,\n x1 = _ref.x1,\n y = _ref.y,\n y1 = _ref.y1,\n y0 = _ref.y0,\n yScale = _ref.yScale,\n _ref$data = _ref.data,\n data = _ref$data === void 0 ? [] : _ref$data,\n _ref$defined = _ref.defined,\n defined = _ref$defined === void 0 ? function () {\n return true;\n } : _ref$defined,\n className = _ref.className,\n curve = _ref.curve,\n innerRef = _ref.innerRef,\n children = _ref.children,\n restProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n var path = area({\n x: x,\n x0: x0,\n x1: x1,\n defined: defined,\n curve: curve\n });\n if (y0 == null) {\n /**\n * by default set the baseline to the first element of the yRange\n * @TODO take the minimum instead?\n */\n path.y0(yScale.range()[0]);\n } else {\n setNumOrAccessor(path.y0, y0);\n }\n if (y && !y1) setNumOrAccessor(path.y1, y);\n if (y1 && !y) setNumOrAccessor(path.y1, y1);\n if (children) return /*#__PURE__*/React.createElement(React.Fragment, null, children({\n path: path\n }));\n return /*#__PURE__*/React.createElement(\"path\", _extends({\n ref: innerRef,\n className: cx('visx-area-closed', className),\n d: path(data) || ''\n }, restProps));\n}","var _excluded = [\"className\", \"innerRef\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from 'react';\nimport cx from 'classnames';\nexport default function Bar(_ref) {\n var className = _ref.className,\n innerRef = _ref.innerRef,\n restProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"rect\", _extends({\n ref: innerRef,\n className: cx('visx-bar', className)\n }, restProps));\n}","export function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n}\n","import {initRange} from \"./init.js\";\n\nexport const implicit = Symbol(\"implicit\");\n\nexport default function ordinal() {\n var index = new Map(),\n domain = [],\n range = [],\n unknown = implicit;\n\n function scale(d) {\n var key = d + \"\", i = index.get(key);\n if (!i) {\n if (unknown !== implicit) return unknown;\n index.set(key, i = domain.push(d));\n }\n return range[(i - 1) % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = new Map();\n for (const value of _) {\n const key = value + \"\";\n if (index.has(key)) continue;\n index.set(key, domain.push(value));\n }\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal(domain, range).unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(\"^rgb\\\\(\" + [reI, reI, reI] + \"\\\\)$\"),\n reRgbPercent = new RegExp(\"^rgb\\\\(\" + [reP, reP, reP] + \"\\\\)$\"),\n reRgbaInteger = new RegExp(\"^rgba\\\\(\" + [reI, reI, reI, reN] + \"\\\\)$\"),\n reRgbaPercent = new RegExp(\"^rgba\\\\(\" + [reP, reP, reP, reN] + \"\\\\)$\"),\n reHslPercent = new RegExp(\"^hsl\\\\(\" + [reN, reP, reP] + \"\\\\)$\"),\n reHslaPercent = new RegExp(\"^hsla\\\\(\" + [reN, reP, reP, reN] + \"\\\\)$\");\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy: function(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable: function() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb: function() {\n return this;\n },\n displayable: function() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return \"#\" + hex(this.r) + hex(this.g) + hex(this.b);\n}\n\nfunction rgb_formatRgb() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\")\n + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.b) || 0))\n + (a === 1 ? \")\" : \", \" + a + \")\");\n}\n\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n displayable: function() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl: function() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"hsl(\" : \"hsla(\")\n + (this.h || 0) + \", \"\n + (this.s || 0) * 100 + \"%, \"\n + (this.l || 0) * 100 + \"%\"\n + (a === 1 ? \")\" : \", \" + a + \")\");\n }\n}));\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export var deg2rad = Math.PI / 180;\nexport var rad2deg = 180 / Math.PI;\n","import define, {extend} from \"./define.js\";\nimport {Color, rgbConvert, Rgb} from \"./color.js\";\nimport {deg2rad, rad2deg} from \"./math.js\";\n\n// https://observablehq.com/@mbostock/lab-and-rgb\nvar K = 18,\n Xn = 0.96422,\n Yn = 1,\n Zn = 0.82521,\n t0 = 4 / 29,\n t1 = 6 / 29,\n t2 = 3 * t1 * t1,\n t3 = t1 * t1 * t1;\n\nfunction labConvert(o) {\n if (o instanceof Lab) return new Lab(o.l, o.a, o.b, o.opacity);\n if (o instanceof Hcl) return hcl2lab(o);\n if (!(o instanceof Rgb)) o = rgbConvert(o);\n var r = rgb2lrgb(o.r),\n g = rgb2lrgb(o.g),\n b = rgb2lrgb(o.b),\n y = xyz2lab((0.2225045 * r + 0.7168786 * g + 0.0606169 * b) / Yn), x, z;\n if (r === g && g === b) x = z = y; else {\n x = xyz2lab((0.4360747 * r + 0.3850649 * g + 0.1430804 * b) / Xn);\n z = xyz2lab((0.0139322 * r + 0.0971045 * g + 0.7141733 * b) / Zn);\n }\n return new Lab(116 * y - 16, 500 * (x - y), 200 * (y - z), o.opacity);\n}\n\nexport function gray(l, opacity) {\n return new Lab(l, 0, 0, opacity == null ? 1 : opacity);\n}\n\nexport default function lab(l, a, b, opacity) {\n return arguments.length === 1 ? labConvert(l) : new Lab(l, a, b, opacity == null ? 1 : opacity);\n}\n\nexport function Lab(l, a, b, opacity) {\n this.l = +l;\n this.a = +a;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Lab, lab, extend(Color, {\n brighter: function(k) {\n return new Lab(this.l + K * (k == null ? 1 : k), this.a, this.b, this.opacity);\n },\n darker: function(k) {\n return new Lab(this.l - K * (k == null ? 1 : k), this.a, this.b, this.opacity);\n },\n rgb: function() {\n var y = (this.l + 16) / 116,\n x = isNaN(this.a) ? y : y + this.a / 500,\n z = isNaN(this.b) ? y : y - this.b / 200;\n x = Xn * lab2xyz(x);\n y = Yn * lab2xyz(y);\n z = Zn * lab2xyz(z);\n return new Rgb(\n lrgb2rgb( 3.1338561 * x - 1.6168667 * y - 0.4906146 * z),\n lrgb2rgb(-0.9787684 * x + 1.9161415 * y + 0.0334540 * z),\n lrgb2rgb( 0.0719453 * x - 0.2289914 * y + 1.4052427 * z),\n this.opacity\n );\n }\n}));\n\nfunction xyz2lab(t) {\n return t > t3 ? Math.pow(t, 1 / 3) : t / t2 + t0;\n}\n\nfunction lab2xyz(t) {\n return t > t1 ? t * t * t : t2 * (t - t0);\n}\n\nfunction lrgb2rgb(x) {\n return 255 * (x <= 0.0031308 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055);\n}\n\nfunction rgb2lrgb(x) {\n return (x /= 255) <= 0.04045 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4);\n}\n\nfunction hclConvert(o) {\n if (o instanceof Hcl) return new Hcl(o.h, o.c, o.l, o.opacity);\n if (!(o instanceof Lab)) o = labConvert(o);\n if (o.a === 0 && o.b === 0) return new Hcl(NaN, 0 < o.l && o.l < 100 ? 0 : NaN, o.l, o.opacity);\n var h = Math.atan2(o.b, o.a) * rad2deg;\n return new Hcl(h < 0 ? h + 360 : h, Math.sqrt(o.a * o.a + o.b * o.b), o.l, o.opacity);\n}\n\nexport function lch(l, c, h, opacity) {\n return arguments.length === 1 ? hclConvert(l) : new Hcl(h, c, l, opacity == null ? 1 : opacity);\n}\n\nexport function hcl(h, c, l, opacity) {\n return arguments.length === 1 ? hclConvert(h) : new Hcl(h, c, l, opacity == null ? 1 : opacity);\n}\n\nexport function Hcl(h, c, l, opacity) {\n this.h = +h;\n this.c = +c;\n this.l = +l;\n this.opacity = +opacity;\n}\n\nfunction hcl2lab(o) {\n if (isNaN(o.h)) return new Lab(o.l, 0, 0, o.opacity);\n var h = o.h * deg2rad;\n return new Lab(o.l, Math.cos(h) * o.c, Math.sin(h) * o.c, o.opacity);\n}\n\ndefine(Hcl, hcl, extend(Color, {\n brighter: function(k) {\n return new Hcl(this.h, this.c, this.l + K * (k == null ? 1 : k), this.opacity);\n },\n darker: function(k) {\n return new Hcl(this.h, this.c, this.l - K * (k == null ? 1 : k), this.opacity);\n },\n rgb: function() {\n return hcl2lab(this).rgb();\n }\n}));\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {hcl as colorHcl} from \"d3-color\";\nimport color, {hue} from \"./color.js\";\n\nfunction hcl(hue) {\n return function(start, end) {\n var h = hue((start = colorHcl(start)).h, (end = colorHcl(end)).h),\n c = color(start.c, end.c),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.c = c(t);\n start.l = l(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n}\n\nexport default hcl(hue);\nexport var hclLong = hcl(color);\n","import {hsl as colorHsl} from \"d3-color\";\nimport color, {hue} from \"./color.js\";\n\nfunction hsl(hue) {\n return function(start, end) {\n var h = hue((start = colorHsl(start)).h, (end = colorHsl(end)).h),\n s = color(start.s, end.s),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.s = s(t);\n start.l = l(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n}\n\nexport default hsl(hue);\nexport var hslLong = hsl(color);\n","import define, {extend} from \"./define.js\";\nimport {Color, rgbConvert, Rgb, darker, brighter} from \"./color.js\";\nimport {deg2rad, rad2deg} from \"./math.js\";\n\nvar A = -0.14861,\n B = +1.78277,\n C = -0.29227,\n D = -0.90649,\n E = +1.97294,\n ED = E * D,\n EB = E * B,\n BC_DA = B * C - D * A;\n\nfunction cubehelixConvert(o) {\n if (o instanceof Cubehelix) return new Cubehelix(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Rgb)) o = rgbConvert(o);\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n l = (BC_DA * b + ED * r - EB * g) / (BC_DA + ED - EB),\n bl = b - l,\n k = (E * (g - l) - C * bl) / D,\n s = Math.sqrt(k * k + bl * bl) / (E * l * (1 - l)), // NaN if l=0 or l=1\n h = s ? Math.atan2(k, bl) * rad2deg - 120 : NaN;\n return new Cubehelix(h < 0 ? h + 360 : h, s, l, o.opacity);\n}\n\nexport default function cubehelix(h, s, l, opacity) {\n return arguments.length === 1 ? cubehelixConvert(h) : new Cubehelix(h, s, l, opacity == null ? 1 : opacity);\n}\n\nexport function Cubehelix(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Cubehelix, cubehelix, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Cubehelix(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Cubehelix(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = isNaN(this.h) ? 0 : (this.h + 120) * deg2rad,\n l = +this.l,\n a = isNaN(this.s) ? 0 : this.s * l * (1 - l),\n cosh = Math.cos(h),\n sinh = Math.sin(h);\n return new Rgb(\n 255 * (l + a * (A * cosh + B * sinh)),\n 255 * (l + a * (C * cosh + D * sinh)),\n 255 * (l + a * (E * cosh)),\n this.opacity\n );\n }\n}));\n","import {cubehelix as colorCubehelix} from \"d3-color\";\nimport color, {hue} from \"./color.js\";\n\nfunction cubehelix(hue) {\n return (function cubehelixGamma(y) {\n y = +y;\n\n function cubehelix(start, end) {\n var h = hue((start = colorCubehelix(start)).h, (end = colorCubehelix(end)).h),\n s = color(start.s, end.s),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.s = s(t);\n start.l = l(Math.pow(t, y));\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n cubehelix.gamma = cubehelixGamma;\n\n return cubehelix;\n })(1);\n}\n\nexport default cubehelix(hue);\nexport var cubehelixLong = cubehelix(color);\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","import {basis} from \"./basis.js\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import { interpolateRgb, interpolateLab, interpolateHcl, interpolateHclLong, interpolateHsl, interpolateHslLong, interpolateCubehelix, interpolateCubehelixLong } from 'd3-interpolate';\nvar interpolatorMap = {\n lab: interpolateLab,\n hcl: interpolateHcl,\n 'hcl-long': interpolateHclLong,\n hsl: interpolateHsl,\n 'hsl-long': interpolateHslLong,\n cubehelix: interpolateCubehelix,\n 'cubehelix-long': interpolateCubehelixLong,\n rgb: interpolateRgb\n};\nexport default function createColorInterpolator(interpolate) {\n switch (interpolate) {\n case 'lab':\n case 'hcl':\n case 'hcl-long':\n case 'hsl':\n case 'hsl-long':\n case 'cubehelix':\n case 'cubehelix-long':\n case 'rgb':\n return interpolatorMap[interpolate];\n default:\n }\n var type = interpolate.type,\n gamma = interpolate.gamma;\n var interpolator = interpolatorMap[type];\n return typeof gamma === 'undefined' ? interpolator : interpolator.gamma(gamma);\n}","import {lab as colorLab} from \"d3-color\";\nimport color from \"./color.js\";\n\nexport default function lab(start, end) {\n var l = color((start = colorLab(start)).l, (end = colorLab(end)).l),\n a = color(start.a, end.a),\n b = color(start.b, end.b),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.l = l(t);\n start.a = a(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n}\n","var t0 = new Date,\n t1 = new Date;\n\nexport default function newInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = function(date) {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = function(date) {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = function(date) {\n var d0 = interval(date),\n d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = function(date, step) {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = function(start, stop, step) {\n var range = [], previous;\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = function(test) {\n return newInterval(function(date) {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, function(date, step) {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = function(start, end) {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = function(step) {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? function(d) { return field(d) % step === 0; }\n : function(d) { return interval.count(0, d) % step === 0; });\n };\n }\n\n return interval;\n}\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","import interval from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nvar day = interval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport default day;\nexport var days = day.range;\n","import interval from \"./interval.js\";\nimport {durationHour, durationMinute, durationSecond} from \"./duration.js\";\n\nvar hour = interval(function(date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getHours();\n});\n\nexport default hour;\nexport var hours = hour.range;\n","import interval from \"./interval.js\";\nimport {durationMinute, durationSecond} from \"./duration.js\";\n\nvar minute = interval(function(date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getMinutes();\n});\n\nexport default minute;\nexport var minutes = minute.range;\n","import interval from \"./interval.js\";\n\nvar month = interval(function(date) {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setMonth(date.getMonth() + step);\n}, function(start, end) {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, function(date) {\n return date.getMonth();\n});\n\nexport default month;\nexport var months = month.range;\n","import interval from \"./interval.js\";\nimport {durationSecond} from \"./duration.js\";\n\nvar second = interval(function(date) {\n date.setTime(date - date.getMilliseconds());\n}, function(date, step) {\n date.setTime(+date + step * durationSecond);\n}, function(start, end) {\n return (end - start) / durationSecond;\n}, function(date) {\n return date.getUTCSeconds();\n});\n\nexport default second;\nexport var seconds = second.range;\n","import interval from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction weekday(i) {\n return interval(function(date) {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setDate(date.getDate() + step * 7);\n }, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport var sunday = weekday(0);\nexport var monday = weekday(1);\nexport var tuesday = weekday(2);\nexport var wednesday = weekday(3);\nexport var thursday = weekday(4);\nexport var friday = weekday(5);\nexport var saturday = weekday(6);\n\nexport var sundays = sunday.range;\nexport var mondays = monday.range;\nexport var tuesdays = tuesday.range;\nexport var wednesdays = wednesday.range;\nexport var thursdays = thursday.range;\nexport var fridays = friday.range;\nexport var saturdays = saturday.range;\n","import interval from \"./interval.js\";\n\nvar year = interval(function(date) {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setFullYear(date.getFullYear() + step);\n}, function(start, end) {\n return end.getFullYear() - start.getFullYear();\n}, function(date) {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\nyear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport default year;\nexport var years = year.range;\n","import interval from \"./interval.js\";\nimport {durationDay} from \"./duration.js\";\n\nvar utcDay = interval(function(date) {\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step);\n}, function(start, end) {\n return (end - start) / durationDay;\n}, function(date) {\n return date.getUTCDate() - 1;\n});\n\nexport default utcDay;\nexport var utcDays = utcDay.range;\n","import interval from \"./interval.js\";\nimport {durationHour} from \"./duration.js\";\n\nvar utcHour = interval(function(date) {\n date.setUTCMinutes(0, 0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getUTCHours();\n});\n\nexport default utcHour;\nexport var utcHours = utcHour.range;\n","import interval from \"./interval.js\";\nimport {durationMinute} from \"./duration.js\";\n\nvar utcMinute = interval(function(date) {\n date.setUTCSeconds(0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getUTCMinutes();\n});\n\nexport default utcMinute;\nexport var utcMinutes = utcMinute.range;\n","import interval from \"./interval.js\";\n\nvar utcMonth = interval(function(date) {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, function(start, end) {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, function(date) {\n return date.getUTCMonth();\n});\n\nexport default utcMonth;\nexport var utcMonths = utcMonth.range;\n","import interval from \"./interval.js\";\nimport {durationWeek} from \"./duration.js\";\n\nfunction utcWeekday(i) {\n return interval(function(date) {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, function(start, end) {\n return (end - start) / durationWeek;\n });\n}\n\nexport var utcSunday = utcWeekday(0);\nexport var utcMonday = utcWeekday(1);\nexport var utcTuesday = utcWeekday(2);\nexport var utcWednesday = utcWeekday(3);\nexport var utcThursday = utcWeekday(4);\nexport var utcFriday = utcWeekday(5);\nexport var utcSaturday = utcWeekday(6);\n\nexport var utcSundays = utcSunday.range;\nexport var utcMondays = utcMonday.range;\nexport var utcTuesdays = utcTuesday.range;\nexport var utcWednesdays = utcWednesday.range;\nexport var utcThursdays = utcThursday.range;\nexport var utcFridays = utcFriday.range;\nexport var utcSaturdays = utcSaturday.range;\n","import interval from \"./interval.js\";\n\nvar utcYear = interval(function(date) {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, function(start, end) {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, function(date) {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport default utcYear;\nexport var utcYears = utcYear.range;\n","var TEST_TIME = new Date(Date.UTC(2020, 1, 2, 3, 4, 5));\nvar TEST_FORMAT = '%Y-%m-%d %H:%M';\n\n/**\n * Check if the scale is UTC or Time scale\n * When local time is equal to UTC, always return true\n * @param scale time or utc scale\n */\nexport default function isUtcScale(scale) {\n // The only difference between time and utc scale is\n // whether the tick format function is utcFormat or timeFormat\n var output = scale.tickFormat(1, TEST_FORMAT)(TEST_TIME);\n return output === '2020-02-02 03:04';\n}","import { timeSecond, timeMinute, timeHour, timeDay, timeYear, timeMonth, timeWeek, utcSecond, utcMinute, utcHour, utcDay, utcWeek, utcMonth, utcYear } from 'd3-time';\nimport isUtcScale from '../utils/isUtcScale';\nvar localTimeIntervals = {\n day: timeDay,\n hour: timeHour,\n minute: timeMinute,\n month: timeMonth,\n second: timeSecond,\n week: timeWeek,\n year: timeYear\n};\nvar utcIntervals = {\n day: utcDay,\n hour: utcHour,\n minute: utcMinute,\n month: utcMonth,\n second: utcSecond,\n week: utcWeek,\n year: utcYear\n};\nexport default function applyNice(scale, config) {\n if ('nice' in config && typeof config.nice !== 'undefined' && 'nice' in scale) {\n var nice = config.nice;\n if (typeof nice === 'boolean') {\n if (nice) {\n scale.nice();\n }\n } else if (typeof nice === 'number') {\n scale.nice(nice);\n } else {\n var timeScale = scale;\n var isUtc = isUtcScale(timeScale);\n if (typeof nice === 'string') {\n timeScale.nice(isUtc ? utcIntervals[nice] : localTimeIntervals[nice]);\n } else {\n var interval = nice.interval,\n step = nice.step;\n var parsedInterval = (isUtc ? utcIntervals[interval] : localTimeIntervals[interval]).every(step);\n if (parsedInterval != null) {\n timeScale.nice(parsedInterval);\n }\n }\n }\n }\n}","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n","import domain from './domain';\nimport range from './range';\nimport align from './align';\nimport base from './base';\nimport clamp from './clamp';\nimport constant from './constant';\nimport exponent from './exponent';\nimport interpolate from './interpolate';\nimport nice from './nice';\nimport padding from './padding';\nimport reverse from './reverse';\nimport round from './round';\nimport unknown from './unknown';\nimport zero from './zero';\n\n/**\n * List of all operators, in order of execution\n */\nexport var ALL_OPERATORS = [\n// domain => nice => zero\n'domain', 'nice', 'zero',\n// interpolate before round\n'interpolate', 'round',\n// set range then reverse\n'range', 'reverse',\n// Order does not matter for these operators\n'align', 'base', 'clamp', 'constant', 'exponent', 'padding', 'unknown'];\n// Use Record to enforce that all keys in OperatorType must exist.\nvar operators = {\n domain: domain,\n nice: nice,\n zero: zero,\n interpolate: interpolate,\n round: round,\n align: align,\n base: base,\n clamp: clamp,\n constant: constant,\n exponent: exponent,\n padding: padding,\n range: range,\n reverse: reverse,\n unknown: unknown\n};\nexport default function scaleOperator() {\n for (var _len = arguments.length, ops = new Array(_len), _key = 0; _key < _len; _key++) {\n ops[_key] = arguments[_key];\n }\n var selection = new Set(ops);\n var selectedOps = ALL_OPERATORS.filter(function (o) {\n return selection.has(o);\n });\n return function applyOperators(scale, config) {\n if (typeof config !== 'undefined') {\n selectedOps.forEach(function (op) {\n operators[op](scale, config);\n });\n }\n return scale;\n };\n}","export default function applyDomain(scale, config) {\n if (config.domain) {\n if ('nice' in scale || 'quantiles' in scale) {\n // continuous input scales\n scale.domain(config.domain);\n } else if ('padding' in scale) {\n // point and band scales\n scale.domain(config.domain);\n } else {\n // ordinal and threshold scale\n scale.domain(config.domain);\n }\n }\n}","export default function applyZero(scale, config) {\n if ('zero' in config && config.zero === true) {\n var domain = scale.domain();\n var a = domain[0],\n b = domain[1];\n var isDescending = b < a;\n var _ref = isDescending ? [b, a] : [a, b],\n min = _ref[0],\n max = _ref[1];\n var domainWithZero = [Math.min(0, min), Math.max(0, max)];\n scale.domain(isDescending ? domainWithZero.reverse() : domainWithZero);\n }\n}","import createColorInterpolator from '../utils/createColorInterpolator';\nexport default function applyInterpolate(scale, config) {\n if ('interpolate' in config && 'interpolate' in scale && typeof config.interpolate !== 'undefined') {\n var interpolator = createColorInterpolator(config.interpolate);\n scale.interpolate(interpolator);\n }\n}","import { interpolateRound } from 'd3-interpolate';\nexport default function applyRound(scale, config) {\n if ('round' in config && typeof config.round !== 'undefined') {\n if (config.round && 'interpolate' in config && typeof config.interpolate !== 'undefined') {\n console.warn(\"[visx/scale/applyRound] ignoring round: scale config contains round and interpolate. only applying interpolate. config:\", config);\n } else if ('round' in scale) {\n // for point and band scales\n scale.round(config.round);\n } else if ('interpolate' in scale && config.round) {\n // for continuous output scales\n // setting config.round = true\n // is actually setting interpolator to interpolateRound\n // as these scales do not have scale.round() function\n scale.interpolate(interpolateRound);\n }\n }\n}","export default function applyAlign(scale, config) {\n if ('align' in scale && 'align' in config && typeof config.align !== 'undefined') {\n scale.align(config.align);\n }\n}","export default function applyBase(scale, config) {\n if ('base' in scale && 'base' in config && typeof config.base !== 'undefined') {\n scale.base(config.base);\n }\n}","export default function applyClamp(scale, config) {\n if ('clamp' in scale && 'clamp' in config && typeof config.clamp !== 'undefined') {\n scale.clamp(config.clamp);\n }\n}","export default function applyConstant(scale, config) {\n if ('constant' in scale && 'constant' in config && typeof config.constant !== 'undefined') {\n scale.constant(config.constant);\n }\n}","export default function applyExponent(scale, config) {\n if ('exponent' in scale && 'exponent' in config && typeof config.exponent !== 'undefined') {\n scale.exponent(config.exponent);\n }\n}","export default function applyPadding(scale, config) {\n if ('padding' in scale && 'padding' in config && typeof config.padding !== 'undefined') {\n scale.padding(config.padding);\n }\n if ('paddingInner' in scale && 'paddingInner' in config && typeof config.paddingInner !== 'undefined') {\n scale.paddingInner(config.paddingInner);\n }\n if ('paddingOuter' in scale && 'paddingOuter' in config && typeof config.paddingOuter !== 'undefined') {\n scale.paddingOuter(config.paddingOuter);\n }\n}","export default function applyRange(scale, config) {\n if (config.range) {\n if ('padding' in scale) {\n // point and band scales\n scale.range(config.range);\n } else {\n // the rest\n scale.range(config.range);\n }\n }\n}","export default function applyReverse(scale, config) {\n if (config.reverse) {\n var reversedRange = scale.range().slice().reverse();\n if ('padding' in scale) {\n // point and band scales\n scale.range(reversedRange);\n } else {\n // the rest\n scale.range(reversedRange);\n }\n }\n}","export default function applyUnknown(scale, config) {\n if ('unknown' in scale && 'unknown' in config && typeof config.unknown !== 'undefined') {\n scale.unknown(config.unknown);\n }\n}","import { scaleOrdinal } from 'd3-scale';\nimport scaleOperator from '../operators/scaleOperator';\nexport var updateOrdinalScale = scaleOperator('domain', 'range', 'reverse', 'unknown');\nexport default function createOrdinalScale(config) {\n return updateOrdinalScale(scaleOrdinal(), config);\n}","export default function(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import ascending from \"./ascending.js\";\n\nexport default function(f) {\n let delta = f;\n let compare = f;\n\n if (f.length === 1) {\n delta = (d, x) => f(d) - x;\n compare = ascendingComparator(f);\n }\n\n function left(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n const mid = (lo + hi) >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n }\n return lo;\n }\n\n function right(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n const mid = (lo + hi) >>> 1;\n if (compare(a[mid], x) > 0) hi = mid;\n else lo = mid + 1;\n }\n return lo;\n }\n\n function center(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {left, center, right};\n}\n\nfunction ascendingComparator(f) {\n return (d, x) => ascending(f(d), x);\n}\n","var e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nexport default function(start, stop, count) {\n var reverse,\n i = -1,\n n,\n ticks,\n step;\n\n stop = +stop, start = +start, count = +count;\n if (start === stop && count > 0) return [start];\n if (reverse = stop < start) n = start, start = stop, stop = n;\n if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];\n\n if (step > 0) {\n let r0 = Math.round(start / step), r1 = Math.round(stop / step);\n if (r0 * step < start) ++r0;\n if (r1 * step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) * step;\n } else {\n step = -step;\n let r0 = Math.round(start * step), r1 = Math.round(stop * step);\n if (r0 / step < start) ++r0;\n if (r1 / step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) / step;\n }\n\n if (reverse) ticks.reverse();\n\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n var step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log(step) / Math.LN10),\n error = step / Math.pow(10, power);\n return power >= 0\n ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)\n : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\n}\n\nexport function tickStep(start, stop, count) {\n var step0 = Math.abs(stop - start) / Math.max(0, count),\n step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),\n error = step0 / step1;\n if (error >= e10) step1 *= 10;\n else if (error >= e5) step1 *= 5;\n else if (error >= e2) step1 *= 2;\n return stop < start ? -step1 : step1;\n}\n","import interval from \"./interval.js\";\n\nvar millisecond = interval(function() {\n // noop\n}, function(date, step) {\n date.setTime(+date + step);\n}, function(start, end) {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = function(k) {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return interval(function(date) {\n date.setTime(Math.floor(date / k) * k);\n }, function(date, step) {\n date.setTime(+date + step * k);\n }, function(start, end) {\n return (end - start) / k;\n });\n};\n\nexport default millisecond;\nexport var milliseconds = millisecond.range;\n","import {bisector, tickStep} from \"d3-array\";\nimport {durationDay, durationHour, durationMinute, durationMonth, durationSecond, durationWeek, durationYear} from \"./duration.js\";\nimport millisecond from \"./millisecond.js\";\nimport second from \"./second.js\";\nimport minute from \"./minute.js\";\nimport hour from \"./hour.js\";\nimport day from \"./day.js\";\nimport {sunday as week} from \"./week.js\";\nimport month from \"./month.js\";\nimport year from \"./year.js\";\nimport utcMinute from \"./utcMinute.js\";\nimport utcHour from \"./utcHour.js\";\nimport utcDay from \"./utcDay.js\";\nimport {utcSunday as utcWeek} from \"./utcWeek.js\";\nimport utcMonth from \"./utcMonth.js\";\nimport utcYear from \"./utcYear.js\";\n\nfunction ticker(year, month, week, day, hour, minute) {\n\n const tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [ hour, 1, durationHour ],\n [ hour, 3, 3 * durationHour ],\n [ hour, 6, 6 * durationHour ],\n [ hour, 12, 12 * durationHour ],\n [ day, 1, durationDay ],\n [ day, 2, 2 * durationDay ],\n [ week, 1, durationWeek ],\n [ month, 1, durationMonth ],\n [ month, 3, 3 * durationMonth ],\n [ year, 1, durationYear ]\n ];\n\n function ticks(start, stop, count) {\n const reverse = stop < start;\n if (reverse) [start, stop] = [stop, start];\n const interval = count && typeof count.range === \"function\" ? count : tickInterval(start, stop, count);\n const ticks = interval ? interval.range(start, +stop + 1) : []; // inclusive stop\n return reverse ? ticks.reverse() : ticks;\n }\n\n function tickInterval(start, stop, count) {\n const target = Math.abs(stop - start) / count;\n const i = bisector(([,, step]) => step).right(tickIntervals, target);\n if (i === tickIntervals.length) return year.every(tickStep(start / durationYear, stop / durationYear, count));\n if (i === 0) return millisecond.every(Math.max(tickStep(start, stop, count), 1));\n const [t, step] = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n return t.every(step);\n }\n\n return [ticks, tickInterval];\n}\n\nconst [utcTicks, utcTickInterval] = ticker(utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute);\nconst [timeTicks, timeTickInterval] = ticker(year, month, week, day, hour, minute);\n\nexport {utcTicks, utcTickInterval, timeTicks, timeTickInterval};\n","import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newDate(y, m, d) {\n return {y: y, m: m, d: d, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, Z) {\n return function(string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0));\n\n // If this is utcParse, never use the local timezone.\n if (Z && !(\"Z\" in d)) d.Z = 0;\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // If the month was not specified, inherit from the quarter.\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return localDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", false);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier += \"\", true);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n return new Map(names.map((name, i) => [name.toLowerCase(), i]));\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction dISO(d) {\n var day = d.getDay();\n return (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n}\n\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n","import ascending from \"./ascending.js\";\nimport bisector from \"./bisector.js\";\nimport number from \"./number.js\";\n\nconst ascendingBisect = bisector(ascending);\nexport const bisectRight = ascendingBisect.right;\nexport const bisectLeft = ascendingBisect.left;\nexport const bisectCenter = bisector(number).center;\nexport default bisectRight;\n","export default function(x) {\n return x === null ? NaN : +x;\n}\n\nexport function* numbers(values, valueof) {\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n}\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(\"^rgb\\\\(\" + [reI, reI, reI] + \"\\\\)$\"),\n reRgbPercent = new RegExp(\"^rgb\\\\(\" + [reP, reP, reP] + \"\\\\)$\"),\n reRgbaInteger = new RegExp(\"^rgba\\\\(\" + [reI, reI, reI, reN] + \"\\\\)$\"),\n reRgbaPercent = new RegExp(\"^rgba\\\\(\" + [reP, reP, reP, reN] + \"\\\\)$\"),\n reHslPercent = new RegExp(\"^hsl\\\\(\" + [reN, reP, reP] + \"\\\\)$\"),\n reHslaPercent = new RegExp(\"^hsla\\\\(\" + [reN, reP, reP, reN] + \"\\\\)$\");\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy: function(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable: function() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb: function() {\n return this;\n },\n displayable: function() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return \"#\" + hex(this.r) + hex(this.g) + hex(this.b);\n}\n\nfunction rgb_formatRgb() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\")\n + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.b) || 0))\n + (a === 1 ? \")\" : \", \" + a + \")\");\n}\n\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n displayable: function() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl: function() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"hsl(\" : \"hsla(\")\n + (this.h || 0) + \", \"\n + (this.s || 0) * 100 + \"%, \"\n + (this.l || 0) * 100 + \"%\"\n + (a === 1 ? \")\" : \", \" + a + \")\");\n }\n}));\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","export default x => () => x;\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","import {basis} from \"./basis.js\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n","export default function number(x) {\n return +x;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\n\nvar unit = [0, 1];\n\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function(x) { return Math.max(a, Math.min(b, x)); };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function(y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nexport default function continuous() {\n return transformer()(identity, identity);\n}\n","export default function constants(x) {\n return function() {\n return x;\n };\n}\n","import {timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeTicks, timeTickInterval} from \"d3-time\";\nimport {timeFormat} from \"d3-time-format\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport nice from \"./nice.js\";\n\nfunction date(t) {\n return new Date(t);\n}\n\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\n\nexport function calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format) {\n var scale = continuous(),\n invert = scale.invert,\n domain = scale.domain;\n\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond\n : minute(date) < date ? formatSecond\n : hour(date) < date ? formatMinute\n : day(date) < date ? formatHour\n : month(date) < date ? (week(date) < date ? formatDay : formatWeek)\n : year(date) < date ? formatMonth\n : formatYear)(date);\n }\n\n scale.invert = function(y) {\n return new Date(invert(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? domain(Array.from(_, number)) : domain().map(date);\n };\n\n scale.ticks = function(interval) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], interval == null ? 10 : interval);\n };\n\n scale.tickFormat = function(count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function(interval) {\n var d = domain();\n if (!interval || typeof interval.range !== \"function\") interval = tickInterval(d[0], d[d.length - 1], interval == null ? 10 : interval);\n return interval ? domain(nice(d, interval)) : scale;\n };\n\n scale.copy = function() {\n return copy(scale, calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format));\n };\n\n return scale;\n}\n\nexport default function time() {\n return initRange.apply(calendar(timeTicks, timeTickInterval, timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);\n}\n","export default function nice(domain, interval) {\n domain = domain.slice();\n\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n}\n","import { scaleTime } from 'd3-scale';\nimport scaleOperator from '../operators/scaleOperator';\nexport var updateTimeScale = scaleOperator('domain', 'range', 'reverse', 'clamp', 'interpolate', 'nice', 'round');\nexport default function createTimeScale(config) {\n return updateTimeScale(scaleTime(), config);\n}","export default function(values, valueof) {\n let min;\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null) {\n if (min === undefined) {\n if (value >= value) min = max = value;\n } else {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null) {\n if (min === undefined) {\n if (value >= value) min = max = value;\n } else {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n }\n return [min, max];\n}\n","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\n\nvar _ref, _ref2, _ref4;\n\nimport { designTokens } from '../Theme.design-tokens';\nvar rotationHues = ['navy', 'aqua', 'teal', 'red', 'green', 'yellow', 'burgundy', 'orange', 'blue', 'darkGreen', 'purple', 'darkRed'];\nvar multiWeights = ['500', '300', '600', '400', '700', '200', '800', '100'];\nexport var multiColors = (_ref = []).concat.apply(_ref, _toConsumableArray(multiWeights.map(function (weight) {\n return rotationHues.map(function (hue) {\n return designTokens.colors[\"\".concat(hue).concat(weight)];\n });\n})));\nvar multiPointWeights = [['500', '400'], ['700', '600']];\nexport var multiPointColors = (_ref2 = []).concat.apply(_ref2, _toConsumableArray(multiPointWeights.map(function (weigths) {\n var _ref3;\n\n return (_ref3 = []).concat.apply(_ref3, _toConsumableArray(rotationHues.map(function (hue) {\n return weigths.map(function (weight) {\n return designTokens.colors[\"\".concat(hue).concat(weight)];\n });\n })));\n})));\nvar singleHues = ['teal', 'navy', 'aqua', 'red', 'green', 'yellow', 'burgundy', 'orange', 'blue', 'darkGreen', 'purple', 'darkRed'];\nvar singleWeights = ['600', '500', '400', '300', '200', '100'];\nexport var singleColors = (_ref4 = []).concat.apply(_ref4, _toConsumableArray(singleHues.map(function (hue) {\n return singleWeights.map(function (weight) {\n return designTokens.colors[\"\".concat(hue).concat(weight)];\n });\n})));\n//# sourceMappingURL=chartColors.js.map","var _excluded = [\"from\", \"to\", \"fill\", \"className\", \"innerRef\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from 'react';\nimport cx from 'classnames';\nexport default function Line(_ref) {\n var _ref$from = _ref.from,\n from = _ref$from === void 0 ? {\n x: 0,\n y: 0\n } : _ref$from,\n _ref$to = _ref.to,\n to = _ref$to === void 0 ? {\n x: 1,\n y: 1\n } : _ref$to,\n _ref$fill = _ref.fill,\n fill = _ref$fill === void 0 ? 'transparent' : _ref$fill,\n className = _ref.className,\n innerRef = _ref.innerRef,\n restProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n var isRectilinear = from.x === to.x || from.y === to.y;\n return /*#__PURE__*/React.createElement(\"line\", _extends({\n ref: innerRef,\n className: cx('visx-line', className),\n x1: from.x,\n y1: from.y,\n x2: to.x,\n y2: to.y,\n fill: fill,\n shapeRendering: isRectilinear ? 'crispEdges' : 'auto'\n }, restProps));\n}","import memoize from 'lodash/memoize';\nvar MEASUREMENT_ELEMENT_ID = '__react_svg_text_measurement_id';\nfunction getStringWidth(str, style) {\n try {\n // Calculate length of each word to be used to determine number of words per line\n var textEl = document.getElementById(MEASUREMENT_ELEMENT_ID);\n if (!textEl) {\n var svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n svg.setAttribute('aria-hidden', 'true');\n svg.style.width = '0';\n svg.style.height = '0';\n svg.style.position = 'absolute';\n svg.style.top = '-100%';\n svg.style.left = '-100%';\n textEl = document.createElementNS('http://www.w3.org/2000/svg', 'text');\n textEl.setAttribute('id', MEASUREMENT_ELEMENT_ID);\n svg.appendChild(textEl);\n document.body.appendChild(svg);\n }\n Object.assign(textEl.style, style);\n textEl.textContent = str;\n return textEl.getComputedTextLength();\n } catch (e) {\n return null;\n }\n}\nexport default memoize(getStringWidth, function (str, style) {\n return str + \"_\" + JSON.stringify(style);\n});","var _excluded = [\"verticalAnchor\", \"scaleToFit\", \"angle\", \"width\", \"lineHeight\", \"capHeight\", \"children\", \"style\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport { useMemo } from 'react';\nimport reduceCSSCalc from 'reduce-css-calc';\nimport getStringWidth from '../util/getStringWidth';\nfunction isNumber(val) {\n return typeof val === 'number';\n}\nfunction isXOrYInValid(xOrY) {\n return (\n // number that is not NaN or Infinity\n typeof xOrY === 'number' && Number.isFinite(xOrY) ||\n // for percentage\n typeof xOrY === 'string'\n );\n}\nexport default function useText(props) {\n var _props$verticalAnchor = props.verticalAnchor,\n verticalAnchor = _props$verticalAnchor === void 0 ? 'end' : _props$verticalAnchor,\n _props$scaleToFit = props.scaleToFit,\n scaleToFit = _props$scaleToFit === void 0 ? false : _props$scaleToFit,\n angle = props.angle,\n width = props.width,\n _props$lineHeight = props.lineHeight,\n lineHeight = _props$lineHeight === void 0 ? '1em' : _props$lineHeight,\n _props$capHeight = props.capHeight,\n capHeight = _props$capHeight === void 0 ? '0.71em' : _props$capHeight,\n children = props.children,\n style = props.style,\n textProps = _objectWithoutPropertiesLoose(props, _excluded);\n var _textProps$x = textProps.x,\n x = _textProps$x === void 0 ? 0 : _textProps$x,\n _textProps$y = textProps.y,\n y = _textProps$y === void 0 ? 0 : _textProps$y;\n var isXOrYNotValid = !isXOrYInValid(x) || !isXOrYInValid(y);\n var _useMemo = useMemo(function () {\n var words = children == null ? [] : children.toString().split(/(?:(?!\\u00A0+)\\s+)/);\n return {\n wordsWithWidth: words.map(function (word) {\n return {\n word: word,\n wordWidth: getStringWidth(word, style) || 0\n };\n }),\n spaceWidth: getStringWidth(\"\\xA0\", style) || 0\n };\n }, [children, style]),\n wordsWithWidth = _useMemo.wordsWithWidth,\n spaceWidth = _useMemo.spaceWidth;\n var wordsByLines = useMemo(function () {\n if (isXOrYNotValid) {\n return [];\n }\n\n // Only perform calculations if using features that require them (multiline, scaleToFit)\n if (width || scaleToFit) {\n return wordsWithWidth.reduce(function (result, _ref) {\n var word = _ref.word,\n wordWidth = _ref.wordWidth;\n var currentLine = result[result.length - 1];\n if (currentLine && (width == null || scaleToFit || (currentLine.width || 0) + wordWidth + spaceWidth < width)) {\n // Word can be added to an existing line\n currentLine.words.push(word);\n currentLine.width = currentLine.width || 0;\n currentLine.width += wordWidth + spaceWidth;\n } else {\n // Add first word to line or word is too long to scaleToFit on existing line\n var newLine = {\n words: [word],\n width: wordWidth\n };\n result.push(newLine);\n }\n return result;\n }, []);\n }\n return [{\n words: children == null ? [] : children.toString().split(/(?:(?!\\u00A0+)\\s+)/)\n }];\n }, [isXOrYNotValid, width, scaleToFit, children, wordsWithWidth, spaceWidth]);\n var startDy = useMemo(function () {\n var startDyStr = isXOrYNotValid ? '' : verticalAnchor === 'start' ? reduceCSSCalc(\"calc(\" + capHeight + \")\") : verticalAnchor === 'middle' ? reduceCSSCalc(\"calc(\" + (wordsByLines.length - 1) / 2 + \" * -\" + lineHeight + \" + (\" + capHeight + \" / 2))\") : reduceCSSCalc(\"calc(\" + (wordsByLines.length - 1) + \" * -\" + lineHeight + \")\");\n return startDyStr;\n }, [isXOrYNotValid, verticalAnchor, capHeight, wordsByLines.length, lineHeight]);\n var transform = useMemo(function () {\n var transforms = [];\n if (isXOrYNotValid) {\n return '';\n }\n if (isNumber(x) && isNumber(y) && isNumber(width) && scaleToFit && wordsByLines.length > 0) {\n var lineWidth = wordsByLines[0].width || 1;\n var sx = scaleToFit === 'shrink-only' ? Math.min(width / lineWidth, 1) : width / lineWidth;\n var sy = sx;\n var originX = x - sx * x;\n var originY = y - sy * y;\n transforms.push(\"matrix(\" + sx + \", 0, 0, \" + sy + \", \" + originX + \", \" + originY + \")\");\n }\n if (angle) {\n transforms.push(\"rotate(\" + angle + \", \" + x + \", \" + y + \")\");\n }\n return transforms.length > 0 ? transforms.join(' ') : '';\n }, [isXOrYNotValid, x, y, width, scaleToFit, wordsByLines, angle]);\n return {\n wordsByLines: wordsByLines,\n startDy: startDy,\n transform: transform\n };\n}","var _excluded = [\"dx\", \"dy\", \"textAnchor\", \"innerRef\", \"innerTextRef\", \"verticalAnchor\", \"angle\", \"lineHeight\", \"scaleToFit\", \"capHeight\", \"width\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from 'react';\nimport useText from './hooks/useText';\nvar SVG_STYLE = {\n overflow: 'visible'\n};\nexport default function Text(props) {\n var _props$dx = props.dx,\n dx = _props$dx === void 0 ? 0 : _props$dx,\n _props$dy = props.dy,\n dy = _props$dy === void 0 ? 0 : _props$dy,\n _props$textAnchor = props.textAnchor,\n textAnchor = _props$textAnchor === void 0 ? 'start' : _props$textAnchor,\n innerRef = props.innerRef,\n innerTextRef = props.innerTextRef,\n verticalAnchor = props.verticalAnchor,\n angle = props.angle,\n _props$lineHeight = props.lineHeight,\n lineHeight = _props$lineHeight === void 0 ? '1em' : _props$lineHeight,\n _props$scaleToFit = props.scaleToFit,\n scaleToFit = _props$scaleToFit === void 0 ? false : _props$scaleToFit,\n capHeight = props.capHeight,\n width = props.width,\n textProps = _objectWithoutPropertiesLoose(props, _excluded);\n var _textProps$x = textProps.x,\n x = _textProps$x === void 0 ? 0 : _textProps$x,\n fontSize = textProps.fontSize;\n var _useText = useText(props),\n wordsByLines = _useText.wordsByLines,\n startDy = _useText.startDy,\n transform = _useText.transform;\n return /*#__PURE__*/React.createElement(\"svg\", {\n ref: innerRef,\n x: dx,\n y: dy,\n fontSize: fontSize,\n style: SVG_STYLE\n }, wordsByLines.length > 0 ? /*#__PURE__*/React.createElement(\"text\", _extends({\n ref: innerTextRef,\n transform: transform\n }, textProps, {\n textAnchor: textAnchor\n }), wordsByLines.map(function (line, index) {\n return /*#__PURE__*/React.createElement(\"tspan\", {\n key: index,\n x: x,\n dy: index === 0 ? startDy : lineHeight\n }, line.words.join(' '));\n })) : null);\n}","var Orientation = {\n top: 'top',\n left: 'left',\n right: 'right',\n bottom: 'bottom'\n};\nexport default Orientation;","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from 'react';\nimport cx from 'classnames';\nimport { Line } from '@visx/shape';\nimport { Group } from '@visx/group';\nimport { Text } from '@visx/text';\nimport Orientation from '../constants/orientation';\nexport default function Ticks(_ref) {\n var hideTicks = _ref.hideTicks,\n horizontal = _ref.horizontal,\n orientation = _ref.orientation,\n tickClassName = _ref.tickClassName,\n tickComponent = _ref.tickComponent,\n allTickLabelProps = _ref.tickLabelProps,\n _ref$tickStroke = _ref.tickStroke,\n tickStroke = _ref$tickStroke === void 0 ? '#222' : _ref$tickStroke,\n tickTransform = _ref.tickTransform,\n ticks = _ref.ticks,\n strokeWidth = _ref.strokeWidth,\n tickLineProps = _ref.tickLineProps;\n return ticks.map(function (_ref2) {\n var _allTickLabelProps$in;\n var value = _ref2.value,\n index = _ref2.index,\n from = _ref2.from,\n to = _ref2.to,\n formattedValue = _ref2.formattedValue;\n var tickLabelProps = (_allTickLabelProps$in = allTickLabelProps[index]) != null ? _allTickLabelProps$in : {};\n var tickLabelFontSize = Math.max(10, typeof tickLabelProps.fontSize === 'number' && tickLabelProps.fontSize || 0);\n var tickYCoord = to.y + (horizontal && orientation !== Orientation.top ? tickLabelFontSize : 0);\n return /*#__PURE__*/React.createElement(Group, {\n key: \"visx-tick-\" + value + \"-\" + index,\n className: cx('visx-axis-tick', tickClassName),\n transform: tickTransform\n }, !hideTicks && /*#__PURE__*/React.createElement(Line, _extends({\n from: from,\n to: to,\n stroke: tickStroke,\n strokeWidth: strokeWidth,\n strokeLinecap: \"square\"\n }, tickLineProps)), tickComponent ? tickComponent(_extends({}, tickLabelProps, {\n x: to.x,\n y: tickYCoord,\n formattedValue: formattedValue\n })) : /*#__PURE__*/React.createElement(Text, _extends({\n x: to.x,\n y: tickYCoord\n }, tickLabelProps), formattedValue));\n });\n}","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from 'react';\nimport cx from 'classnames';\nimport { Line } from '@visx/shape';\nimport { Text } from '@visx/text';\nimport getLabelTransform from '../utils/getLabelTransform';\nimport Ticks from './Ticks';\nimport { Orientation } from '..';\nvar defaultTextProps = {\n textAnchor: 'middle',\n fontFamily: 'Arial',\n fontSize: 10,\n fill: '#222'\n};\nexport default function AxisRenderer(_ref) {\n var axisFromPoint = _ref.axisFromPoint,\n axisLineClassName = _ref.axisLineClassName,\n axisToPoint = _ref.axisToPoint,\n hideAxisLine = _ref.hideAxisLine,\n hideTicks = _ref.hideTicks,\n horizontal = _ref.horizontal,\n _ref$label = _ref.label,\n label = _ref$label === void 0 ? '' : _ref$label,\n labelClassName = _ref.labelClassName,\n _ref$labelOffset = _ref.labelOffset,\n labelOffset = _ref$labelOffset === void 0 ? 14 : _ref$labelOffset,\n _ref$labelProps = _ref.labelProps,\n labelProps = _ref$labelProps === void 0 ? defaultTextProps : _ref$labelProps,\n _ref$orientation = _ref.orientation,\n orientation = _ref$orientation === void 0 ? Orientation.bottom : _ref$orientation,\n scale = _ref.scale,\n _ref$stroke = _ref.stroke,\n stroke = _ref$stroke === void 0 ? '#222' : _ref$stroke,\n strokeDasharray = _ref.strokeDasharray,\n _ref$strokeWidth = _ref.strokeWidth,\n strokeWidth = _ref$strokeWidth === void 0 ? 1 : _ref$strokeWidth,\n tickClassName = _ref.tickClassName,\n tickComponent = _ref.tickComponent,\n tickLineProps = _ref.tickLineProps,\n _ref$tickLabelProps = _ref.tickLabelProps,\n tickLabelProps = _ref$tickLabelProps === void 0 ? function /** tickValue, index, tickValues */ () {\n return defaultTextProps;\n } : _ref$tickLabelProps,\n _ref$tickLength = _ref.tickLength,\n tickLength = _ref$tickLength === void 0 ? 8 : _ref$tickLength,\n _ref$tickStroke = _ref.tickStroke,\n tickStroke = _ref$tickStroke === void 0 ? '#222' : _ref$tickStroke,\n tickTransform = _ref.tickTransform,\n ticks = _ref.ticks,\n _ref$ticksComponent = _ref.ticksComponent,\n ticksComponent = _ref$ticksComponent === void 0 ? Ticks : _ref$ticksComponent;\n // compute the max tick label size to compute label offset\n var allTickLabelProps = ticks.map(function (_ref2) {\n var value = _ref2.value,\n index = _ref2.index;\n return tickLabelProps(value, index, ticks);\n });\n var maxTickLabelFontSize = Math.max.apply(Math, [10].concat(allTickLabelProps.map(function (props) {\n return typeof props.fontSize === 'number' ? props.fontSize : 0;\n })));\n return /*#__PURE__*/React.createElement(React.Fragment, null, ticksComponent({\n hideTicks: hideTicks,\n horizontal: horizontal,\n orientation: orientation,\n scale: scale,\n tickClassName: tickClassName,\n tickComponent: tickComponent,\n tickLabelProps: allTickLabelProps,\n tickStroke: tickStroke,\n tickTransform: tickTransform,\n ticks: ticks,\n strokeWidth: strokeWidth,\n tickLineProps: tickLineProps\n }), !hideAxisLine && /*#__PURE__*/React.createElement(Line, {\n className: cx('visx-axis-line', axisLineClassName),\n from: axisFromPoint,\n to: axisToPoint,\n stroke: stroke,\n strokeWidth: strokeWidth,\n strokeDasharray: strokeDasharray\n }), label && /*#__PURE__*/React.createElement(Text, _extends({\n className: cx('visx-axis-label', labelClassName)\n }, getLabelTransform({\n labelOffset: labelOffset,\n labelProps: labelProps,\n orientation: orientation,\n range: scale.range(),\n tickLabelFontSize: maxTickLabelFontSize,\n tickLength: tickLength\n }), labelProps), label));\n}","import Orientation from '../constants/orientation';\nexport default function getLabelTransform(_ref) {\n var labelOffset = _ref.labelOffset,\n labelProps = _ref.labelProps,\n orientation = _ref.orientation,\n range = _ref.range,\n tickLabelFontSize = _ref.tickLabelFontSize,\n tickLength = _ref.tickLength;\n var sign = orientation === Orientation.left || orientation === Orientation.top ? -1 : 1;\n var x;\n var y;\n var transform;\n if (orientation === Orientation.top || orientation === Orientation.bottom) {\n var yBottomOffset = orientation === Orientation.bottom && typeof labelProps.fontSize === 'number' ? labelProps.fontSize : 0;\n x = (Number(range[0]) + Number(range[range.length - 1])) / 2;\n y = sign * (tickLength + labelOffset + tickLabelFontSize + yBottomOffset);\n } else {\n x = sign * ((Number(range[0]) + Number(range[range.length - 1])) / 2);\n y = -(tickLength + labelOffset);\n transform = \"rotate(\" + sign * 90 + \")\";\n }\n return {\n x: x,\n y: y,\n transform: transform\n };\n}","export default function toString(x) {\n return x == null ? void 0 : x.toString();\n}","var Point = /*#__PURE__*/function () {\n function Point(_ref) {\n var _ref$x = _ref.x,\n x = _ref$x === void 0 ? 0 : _ref$x,\n _ref$y = _ref.y,\n y = _ref$y === void 0 ? 0 : _ref$y;\n this.x = 0;\n this.y = 0;\n this.x = x;\n this.y = y;\n }\n var _proto = Point.prototype;\n _proto.value = function value() {\n return {\n x: this.x,\n y: this.y\n };\n };\n _proto.toArray = function toArray() {\n return [this.x, this.y];\n };\n return Point;\n}();\nexport { Point as default };","import { Point } from '@visx/point';\nexport default function createPoint(_ref, horizontal) {\n var x = _ref.x,\n y = _ref.y;\n return new Point(horizontal ? {\n x: x,\n y: y\n } : {\n x: y,\n y: x\n });\n}","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nexport var defaultAxisRangePadding = 0;\nexport default function getAxisRangePaddingConfig(originalRangePadding) {\n if (originalRangePadding === void 0) {\n originalRangePadding = defaultAxisRangePadding;\n }\n return typeof originalRangePadding === 'number' ? {\n start: originalRangePadding,\n end: originalRangePadding\n } : _extends({\n start: defaultAxisRangePadding,\n end: defaultAxisRangePadding\n }, originalRangePadding);\n}","import _pt from \"prop-types\";\nvar _excluded = [\"children\", \"axisClassName\", \"hideAxisLine\", \"hideTicks\", \"hideZero\", \"left\", \"numTicks\", \"orientation\", \"rangePadding\", \"scale\", \"tickFormat\", \"tickLength\", \"tickValues\", \"top\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from 'react';\nimport cx from 'classnames';\nimport { Group } from '@visx/group';\nimport { getTicks, coerceNumber } from '@visx/scale';\nimport AxisRenderer from './AxisRenderer';\nimport getTickPosition from '../utils/getTickPosition';\nimport getTickFormatter from '../utils/getTickFormatter';\nimport createPoint from '../utils/createPoint';\nimport Orientation from '../constants/orientation';\nimport getAxisRangePaddingConfig from '../utils/getAxisRangePaddingConfig';\nexport default function Axis(_ref) {\n var _ref$children = _ref.children,\n children = _ref$children === void 0 ? AxisRenderer : _ref$children,\n axisClassName = _ref.axisClassName,\n _ref$hideAxisLine = _ref.hideAxisLine,\n hideAxisLine = _ref$hideAxisLine === void 0 ? false : _ref$hideAxisLine,\n _ref$hideTicks = _ref.hideTicks,\n hideTicks = _ref$hideTicks === void 0 ? false : _ref$hideTicks,\n _ref$hideZero = _ref.hideZero,\n hideZero = _ref$hideZero === void 0 ? false : _ref$hideZero,\n _ref$left = _ref.left,\n left = _ref$left === void 0 ? 0 : _ref$left,\n _ref$numTicks = _ref.numTicks,\n numTicks = _ref$numTicks === void 0 ? 10 : _ref$numTicks,\n _ref$orientation = _ref.orientation,\n orientation = _ref$orientation === void 0 ? Orientation.bottom : _ref$orientation,\n _ref$rangePadding = _ref.rangePadding,\n rangePadding = _ref$rangePadding === void 0 ? 0 : _ref$rangePadding,\n scale = _ref.scale,\n tickFormat = _ref.tickFormat,\n _ref$tickLength = _ref.tickLength,\n tickLength = _ref$tickLength === void 0 ? 8 : _ref$tickLength,\n tickValues = _ref.tickValues,\n _ref$top = _ref.top,\n top = _ref$top === void 0 ? 0 : _ref$top,\n restProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n var format = tickFormat != null ? tickFormat : getTickFormatter(scale);\n var isLeft = orientation === Orientation.left;\n var isTop = orientation === Orientation.top;\n var horizontal = isTop || orientation === Orientation.bottom;\n var tickPosition = getTickPosition(scale);\n var tickSign = isLeft || isTop ? -1 : 1;\n var range = scale.range();\n var rangePaddingConfig = getAxisRangePaddingConfig(rangePadding);\n var axisFromPoint = createPoint({\n x: Number(range[0]) + 0.5 - rangePaddingConfig.start,\n y: 0\n }, horizontal);\n var axisToPoint = createPoint({\n x: Number(range[range.length - 1]) + 0.5 + rangePaddingConfig.end,\n y: 0\n }, horizontal);\n var filteredTickValues = (tickValues != null ? tickValues : getTicks(scale, numTicks)).filter(function (value) {\n return !hideZero || value !== 0 && value !== '0';\n }).map(function (value, index) {\n return {\n value: value,\n index: index\n };\n });\n var ticks = filteredTickValues.map(function (_ref2) {\n var value = _ref2.value,\n index = _ref2.index;\n var scaledValue = coerceNumber(tickPosition(value));\n return {\n value: value,\n index: index,\n from: createPoint({\n x: scaledValue,\n y: 0\n }, horizontal),\n to: createPoint({\n x: scaledValue,\n y: tickLength * tickSign\n }, horizontal),\n formattedValue: format(value, index, filteredTickValues)\n };\n });\n return /*#__PURE__*/React.createElement(Group, {\n className: cx('visx-axis', axisClassName),\n top: top,\n left: left\n }, children(_extends({}, restProps, {\n axisFromPoint: axisFromPoint,\n axisToPoint: axisToPoint,\n hideAxisLine: hideAxisLine,\n hideTicks: hideTicks,\n hideZero: hideZero,\n horizontal: horizontal,\n numTicks: numTicks,\n orientation: orientation,\n rangePadding: rangePadding,\n scale: scale,\n tickFormat: format,\n tickLength: tickLength,\n tickPosition: tickPosition,\n tickSign: tickSign,\n ticks: ticks\n })));\n}","import { toString } from '@visx/scale';\n/**\n * Returns a tick position for the given tick value\n */\nexport default function getTickFormatter(scale) {\n // Broaden type before using 'xxx' in s as typeguard.\n var s = scale;\n\n // For point or band scales,\n // have to add offset to make the tick centered.\n if ('tickFormat' in s) {\n return s.tickFormat();\n }\n return toString;\n}","/**\n * Create a function that returns a tick position for the given tick value\n */\nexport default function getTickPosition(scale, align) {\n if (align === void 0) {\n align = 'center';\n }\n // Broaden type before using 'xxx' in s as typeguard.\n var s = scale;\n\n // For point or band scales,\n // have to add offset to make the tick at center or end.\n if (align !== 'start' && 'bandwidth' in s) {\n var offset = s.bandwidth();\n if (align === 'center') offset /= 2;\n if (s.round()) offset = Math.round(offset);\n return function (d) {\n var scaledValue = s(d);\n return typeof scaledValue === 'number' ? scaledValue + offset : scaledValue;\n };\n }\n return scale;\n}","export default function getTicks(scale, numTicks) {\n // Because `Scale` is generic type which maybe a subset of AnyD3Scale\n // that may not have `ticks` field,\n // TypeScript will not let us do the `'ticks' in scale` check directly.\n // Have to manually cast and expand type first.\n var s = scale;\n if ('ticks' in s) {\n return s.ticks(numTicks);\n }\n return s.domain().filter(function (_, index, arr) {\n return numTicks == null || arr.length <= numTicks || index % Math.round((arr.length - 1) / numTicks) === 0;\n });\n}","export default function coerceNumber(val) {\n if ((typeof val === 'function' || typeof val === 'object' && !!val) && 'valueOf' in val) {\n var num = val.valueOf();\n if (typeof num === 'number') return num;\n }\n return val;\n}","var _excluded = [\"axisClassName\", \"labelOffset\", \"tickLabelProps\", \"tickLength\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from 'react';\nimport cx from 'classnames';\nimport Axis from './Axis';\nimport Orientation from '../constants/orientation';\nexport var leftTickLabelProps = function leftTickLabelProps( /** tickValue, index */\n) {\n return {\n dx: '-0.25em',\n dy: '0.25em',\n fill: '#222',\n fontFamily: 'Arial',\n fontSize: 10,\n textAnchor: 'end'\n };\n};\nexport default function AxisLeft(_ref) {\n var axisClassName = _ref.axisClassName,\n _ref$labelOffset = _ref.labelOffset,\n labelOffset = _ref$labelOffset === void 0 ? 36 : _ref$labelOffset,\n _ref$tickLabelProps = _ref.tickLabelProps,\n tickLabelProps = _ref$tickLabelProps === void 0 ? leftTickLabelProps : _ref$tickLabelProps,\n _ref$tickLength = _ref.tickLength,\n tickLength = _ref$tickLength === void 0 ? 8 : _ref$tickLength,\n restProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Axis, _extends({\n axisClassName: cx('visx-axis-left', axisClassName),\n labelOffset: labelOffset,\n orientation: Orientation.left,\n tickLabelProps: tickLabelProps,\n tickLength: tickLength\n }, restProps));\n}","var _excluded = [\"axisClassName\", \"labelOffset\", \"tickLabelProps\", \"tickLength\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from 'react';\nimport cx from 'classnames';\nimport Axis from './Axis';\nimport Orientation from '../constants/orientation';\nexport var bottomTickLabelProps = function bottomTickLabelProps( /** tickValue, index */\n) {\n return {\n dy: '0.25em',\n fill: '#222',\n fontFamily: 'Arial',\n fontSize: 10,\n textAnchor: 'middle'\n };\n};\nexport default function AxisBottom(_ref) {\n var axisClassName = _ref.axisClassName,\n _ref$labelOffset = _ref.labelOffset,\n labelOffset = _ref$labelOffset === void 0 ? 8 : _ref$labelOffset,\n _ref$tickLabelProps = _ref.tickLabelProps,\n tickLabelProps = _ref$tickLabelProps === void 0 ? bottomTickLabelProps : _ref$tickLabelProps,\n _ref$tickLength = _ref.tickLength,\n tickLength = _ref$tickLength === void 0 ? 8 : _ref$tickLength,\n restProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Axis, _extends({\n axisClassName: cx('visx-axis-bottom', axisClassName),\n labelOffset: labelOffset,\n orientation: Orientation.bottom,\n tickLabelProps: tickLabelProps,\n tickLength: tickLength\n }, restProps));\n}","var _excluded = [\"tooltipOpen\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport { useState, useCallback } from 'react';\nexport default function useTooltip( /** Optional initial TooltipState. */\ninitialTooltipState) {\n var _useState = useState(_extends({\n tooltipOpen: false\n }, initialTooltipState)),\n tooltipState = _useState[0],\n setTooltipState = _useState[1];\n var showTooltip = useCallback(function (showArgs) {\n return setTooltipState(typeof showArgs === 'function' ? function (_ref) {\n var tooltipOpen = _ref.tooltipOpen,\n show = _objectWithoutPropertiesLoose(_ref, _excluded);\n return _extends({}, showArgs(show), {\n tooltipOpen: true\n });\n } : {\n tooltipOpen: true,\n tooltipLeft: showArgs.tooltipLeft,\n tooltipTop: showArgs.tooltipTop,\n tooltipData: showArgs.tooltipData\n });\n }, [setTooltipState]);\n var hideTooltip = useCallback(function () {\n return setTooltipState({\n tooltipOpen: false,\n tooltipLeft: undefined,\n tooltipTop: undefined,\n tooltipData: undefined\n });\n }, [setTooltipState]);\n return {\n tooltipOpen: tooltipState.tooltipOpen,\n tooltipLeft: tooltipState.tooltipLeft,\n tooltipTop: tooltipState.tooltipTop,\n tooltipData: tooltipState.tooltipData,\n updateTooltip: setTooltipState,\n showTooltip: showTooltip,\n hideTooltip: hideTooltip\n };\n}","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n/* eslint react/no-did-mount-set-state: 0, react/no-find-dom-node: 0 */\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nvar emptyRect = {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n width: 0,\n height: 0\n};\nexport default function withBoundingRects(BaseComponent) {\n var _class;\n return _class = /*#__PURE__*/function (_React$PureComponent) {\n _inheritsLoose(WrappedComponent, _React$PureComponent);\n function WrappedComponent(props) {\n var _this;\n _this = _React$PureComponent.call(this, props) || this;\n _this.state = {\n rect: undefined,\n parentRect: undefined\n };\n _this.nodeRef = /*#__PURE__*/React.createRef();\n _this.getRects = _this.getRects.bind(_assertThisInitialized(_this));\n return _this;\n }\n var _proto = WrappedComponent.prototype;\n _proto.componentDidMount = function componentDidMount() {\n var _this$nodeRef,\n _this2 = this;\n this.node = (_this$nodeRef = this.nodeRef) != null && _this$nodeRef.current ? this.nodeRef.current : ReactDOM.findDOMNode(this);\n this.setState(function () {\n return _this2.getRects();\n });\n };\n _proto.getRects = function getRects() {\n if (!this.node) return this.state;\n var node = this.node;\n var parentNode = node.parentNode;\n var rect = node.getBoundingClientRect ? node.getBoundingClientRect() : emptyRect;\n var parentRect = parentNode != null && parentNode.getBoundingClientRect ? parentNode.getBoundingClientRect() : emptyRect;\n return {\n rect: rect,\n parentRect: parentRect\n };\n };\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(BaseComponent, _extends({\n nodeRef: this.nodeRef,\n getRects: this.getRects\n }, this.state, this.props));\n };\n return WrappedComponent;\n }(React.PureComponent), _class.displayName = \"withBoundingRects(\" + (BaseComponent.displayName || '') + \")\", _class;\n}","import _pt from \"prop-types\";\nvar _excluded = [\"className\", \"top\", \"left\", \"offsetLeft\", \"offsetTop\", \"style\", \"children\", \"unstyled\", \"applyPositionStyle\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from 'react';\nimport cx from 'classnames';\nexport var defaultStyles = {\n position: 'absolute',\n backgroundColor: 'white',\n color: '#666666',\n padding: '.3rem .5rem',\n borderRadius: '3px',\n fontSize: '14px',\n boxShadow: '0 1px 2px rgba(33,33,33,0.2)',\n lineHeight: '1em',\n pointerEvents: 'none'\n};\nvar Tooltip = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var className = _ref.className,\n top = _ref.top,\n left = _ref.left,\n _ref$offsetLeft = _ref.offsetLeft,\n offsetLeft = _ref$offsetLeft === void 0 ? 10 : _ref$offsetLeft,\n _ref$offsetTop = _ref.offsetTop,\n offsetTop = _ref$offsetTop === void 0 ? 10 : _ref$offsetTop,\n _ref$style = _ref.style,\n style = _ref$style === void 0 ? defaultStyles : _ref$style,\n children = _ref.children,\n _ref$unstyled = _ref.unstyled,\n unstyled = _ref$unstyled === void 0 ? false : _ref$unstyled,\n _ref$applyPositionSty = _ref.applyPositionStyle,\n applyPositionStyle = _ref$applyPositionSty === void 0 ? false : _ref$applyPositionSty,\n restProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: ref,\n className: cx('visx-tooltip', className),\n style: _extends({\n top: top == null || offsetTop == null ? top : top + offsetTop,\n left: left == null || offsetLeft == null ? left : left + offsetLeft\n }, applyPositionStyle && {\n position: 'absolute'\n }, !unstyled && style)\n }, restProps), children);\n});\nTooltip.propTypes = {\n children: _pt.node,\n className: _pt.string,\n left: _pt.number,\n offsetLeft: _pt.number,\n offsetTop: _pt.number,\n top: _pt.number,\n applyPositionStyle: _pt.bool,\n unstyled: _pt.bool\n};\nTooltip.displayName = 'Tooltip';\nexport default Tooltip;","import { createContext, useContext } from 'react';\nvar TooltipPositionContext = /*#__PURE__*/createContext({\n isFlippedVertically: false,\n isFlippedHorizontally: false\n});\nexport var TooltipPositionProvider = TooltipPositionContext.Provider;\nexport var TooltipPositionConsumer = TooltipPositionContext.Consumer;\nexport var useTooltipPosition = function useTooltipPosition() {\n return useContext(TooltipPositionContext);\n};","import _pt from \"prop-types\";\nvar _excluded = [\"children\", \"getRects\", \"left\", \"offsetLeft\", \"offsetTop\", \"parentRect\", \"rect\", \"style\", \"top\", \"unstyled\", \"nodeRef\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from 'react';\nimport { withBoundingRects } from '@visx/bounds';\nimport Tooltip, { defaultStyles } from './Tooltip';\nimport { TooltipPositionProvider } from '../context/TooltipPositionContext';\nfunction TooltipWithBounds(_ref) {\n var children = _ref.children,\n getRects = _ref.getRects,\n _ref$left = _ref.left,\n initialLeft = _ref$left === void 0 ? 0 : _ref$left,\n _ref$offsetLeft = _ref.offsetLeft,\n offsetLeft = _ref$offsetLeft === void 0 ? 10 : _ref$offsetLeft,\n _ref$offsetTop = _ref.offsetTop,\n offsetTop = _ref$offsetTop === void 0 ? 10 : _ref$offsetTop,\n parentBounds = _ref.parentRect,\n ownBounds = _ref.rect,\n _ref$style = _ref.style,\n style = _ref$style === void 0 ? defaultStyles : _ref$style,\n _ref$top = _ref.top,\n initialTop = _ref$top === void 0 ? 0 : _ref$top,\n _ref$unstyled = _ref.unstyled,\n unstyled = _ref$unstyled === void 0 ? false : _ref$unstyled,\n nodeRef = _ref.nodeRef,\n otherProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n var transform;\n var placeTooltipLeft = false;\n var placeTooltipUp = false;\n if (ownBounds && parentBounds) {\n var left = initialLeft;\n var top = initialTop;\n if (parentBounds.width) {\n var rightPlacementClippedPx = left + offsetLeft + ownBounds.width - parentBounds.width;\n var leftPlacementClippedPx = ownBounds.width - left - offsetLeft;\n placeTooltipLeft = rightPlacementClippedPx > 0 && rightPlacementClippedPx > leftPlacementClippedPx;\n } else {\n var _rightPlacementClippedPx = left + offsetLeft + ownBounds.width - window.innerWidth;\n var _leftPlacementClippedPx = ownBounds.width - left - offsetLeft;\n placeTooltipLeft = _rightPlacementClippedPx > 0 && _rightPlacementClippedPx > _leftPlacementClippedPx;\n }\n if (parentBounds.height) {\n var bottomPlacementClippedPx = top + offsetTop + ownBounds.height - parentBounds.height;\n var topPlacementClippedPx = ownBounds.height - top - offsetTop;\n placeTooltipUp = bottomPlacementClippedPx > 0 && bottomPlacementClippedPx > topPlacementClippedPx;\n } else {\n placeTooltipUp = top + offsetTop + ownBounds.height > window.innerHeight;\n }\n left = placeTooltipLeft ? left - ownBounds.width - offsetLeft : left + offsetLeft;\n top = placeTooltipUp ? top - ownBounds.height - offsetTop : top + offsetTop;\n left = Math.round(left);\n top = Math.round(top);\n transform = \"translate(\" + left + \"px, \" + top + \"px)\";\n }\n return /*#__PURE__*/React.createElement(Tooltip, _extends({\n ref: nodeRef,\n style: _extends({\n left: 0,\n top: 0,\n transform: transform\n }, !unstyled && style)\n }, otherProps), /*#__PURE__*/React.createElement(TooltipPositionProvider, {\n value: {\n isFlippedVertically: !placeTooltipUp,\n isFlippedHorizontally: !placeTooltipLeft\n }\n }, children));\n}\nTooltipWithBounds.propTypes = {\n nodeRef: _pt.oneOfType([_pt.string, _pt.func, _pt.object])\n};\nexport default withBoundingRects(TooltipWithBounds);","import { useState, useRef, useEffect, useMemo } from 'react';\nimport createDebounce from 'debounce';\n\nfunction useMeasure(_temp) {\n let {\n debounce,\n scroll,\n polyfill,\n offsetSize\n } = _temp === void 0 ? {\n debounce: 0,\n scroll: false,\n offsetSize: false\n } : _temp;\n const ResizeObserver = polyfill || (typeof window === 'undefined' ? class ResizeObserver {} : window.ResizeObserver);\n\n if (!ResizeObserver) {\n throw new Error('This browser does not support ResizeObserver out of the box. See: https://github.com/react-spring/react-use-measure/#resize-observer-polyfills');\n }\n\n const [bounds, set] = useState({\n left: 0,\n top: 0,\n width: 0,\n height: 0,\n bottom: 0,\n right: 0,\n x: 0,\n y: 0\n }); // keep all state in a ref\n\n const state = useRef({\n element: null,\n scrollContainers: null,\n resizeObserver: null,\n lastBounds: bounds\n }); // set actual debounce values early, so effects know if they should react accordingly\n\n const scrollDebounce = debounce ? typeof debounce === 'number' ? debounce : debounce.scroll : null;\n const resizeDebounce = debounce ? typeof debounce === 'number' ? debounce : debounce.resize : null; // make sure to update state only as long as the component is truly mounted\n\n const mounted = useRef(false);\n useEffect(() => {\n mounted.current = true;\n return () => void (mounted.current = false);\n }); // memoize handlers, so event-listeners know when they should update\n\n const [forceRefresh, resizeChange, scrollChange] = useMemo(() => {\n const callback = () => {\n if (!state.current.element) return;\n const {\n left,\n top,\n width,\n height,\n bottom,\n right,\n x,\n y\n } = state.current.element.getBoundingClientRect();\n const size = {\n left,\n top,\n width,\n height,\n bottom,\n right,\n x,\n y\n };\n\n if (state.current.element instanceof HTMLElement && offsetSize) {\n size.height = state.current.element.offsetHeight;\n size.width = state.current.element.offsetWidth;\n }\n\n Object.freeze(size);\n if (mounted.current && !areBoundsEqual(state.current.lastBounds, size)) set(state.current.lastBounds = size);\n };\n\n return [callback, resizeDebounce ? createDebounce(callback, resizeDebounce) : callback, scrollDebounce ? createDebounce(callback, scrollDebounce) : callback];\n }, [set, offsetSize, scrollDebounce, resizeDebounce]); // cleanup current scroll-listeners / observers\n\n function removeListeners() {\n if (state.current.scrollContainers) {\n state.current.scrollContainers.forEach(element => element.removeEventListener('scroll', scrollChange, true));\n state.current.scrollContainers = null;\n }\n\n if (state.current.resizeObserver) {\n state.current.resizeObserver.disconnect();\n state.current.resizeObserver = null;\n }\n } // add scroll-listeners / observers\n\n\n function addListeners() {\n if (!state.current.element) return;\n state.current.resizeObserver = new ResizeObserver(scrollChange);\n state.current.resizeObserver.observe(state.current.element);\n\n if (scroll && state.current.scrollContainers) {\n state.current.scrollContainers.forEach(scrollContainer => scrollContainer.addEventListener('scroll', scrollChange, {\n capture: true,\n passive: true\n }));\n }\n } // the ref we expose to the user\n\n\n const ref = node => {\n if (!node || node === state.current.element) return;\n removeListeners();\n state.current.element = node;\n state.current.scrollContainers = findScrollContainers(node);\n addListeners();\n }; // add general event listeners\n\n\n useOnWindowScroll(scrollChange, Boolean(scroll));\n useOnWindowResize(resizeChange); // respond to changes that are relevant for the listeners\n\n useEffect(() => {\n removeListeners();\n addListeners();\n }, [scroll, scrollChange, resizeChange]); // remove all listeners when the components unmounts\n\n useEffect(() => removeListeners, []);\n return [ref, bounds, forceRefresh];\n} // Adds native resize listener to window\n\n\nfunction useOnWindowResize(onWindowResize) {\n useEffect(() => {\n const cb = onWindowResize;\n window.addEventListener('resize', cb);\n return () => void window.removeEventListener('resize', cb);\n }, [onWindowResize]);\n}\n\nfunction useOnWindowScroll(onScroll, enabled) {\n useEffect(() => {\n if (enabled) {\n const cb = onScroll;\n window.addEventListener('scroll', cb, {\n capture: true,\n passive: true\n });\n return () => void window.removeEventListener('scroll', cb, true);\n }\n }, [onScroll, enabled]);\n} // Returns a list of scroll offsets\n\n\nfunction findScrollContainers(element) {\n const result = [];\n if (!element || element === document.body) return result;\n const {\n overflow,\n overflowX,\n overflowY\n } = window.getComputedStyle(element);\n if ([overflow, overflowX, overflowY].some(prop => prop === 'auto' || prop === 'scroll')) result.push(element);\n return [...result, ...findScrollContainers(element.parentElement)];\n} // Checks if element boundaries are equal\n\n\nconst keys = ['x', 'y', 'top', 'bottom', 'left', 'right', 'width', 'height'];\n\nconst areBoundsEqual = (a, b) => keys.every(key => a[key] === b[key]);\n\nexport { useMeasure as default };\n","var resizeObservers = [];\nexport { resizeObservers };\n","var ResizeObserverBoxOptions;\n(function (ResizeObserverBoxOptions) {\n ResizeObserverBoxOptions[\"BORDER_BOX\"] = \"border-box\";\n ResizeObserverBoxOptions[\"CONTENT_BOX\"] = \"content-box\";\n ResizeObserverBoxOptions[\"DEVICE_PIXEL_CONTENT_BOX\"] = \"device-pixel-content-box\";\n})(ResizeObserverBoxOptions || (ResizeObserverBoxOptions = {}));\nexport { ResizeObserverBoxOptions };\n","var msg = 'ResizeObserver loop completed with undelivered notifications.';\nvar deliverResizeLoopError = function () {\n var event;\n if (typeof ErrorEvent === 'function') {\n event = new ErrorEvent('error', {\n message: msg\n });\n }\n else {\n event = document.createEvent('Event');\n event.initEvent('error', false, false);\n event.message = msg;\n }\n window.dispatchEvent(event);\n};\nexport { deliverResizeLoopError };\n","export var freeze = function (obj) { return Object.freeze(obj); };\n","var trigger;\nvar callbacks = [];\nvar notify = function () { return callbacks.splice(0).forEach(function (cb) { return cb(); }); };\nvar queueMicroTask = function (callback) {\n if (!trigger) {\n var toggle_1 = 0;\n var el_1 = document.createTextNode('');\n var config = { characterData: true };\n new MutationObserver(function () { return notify(); }).observe(el_1, config);\n trigger = function () { el_1.textContent = \"\".concat(toggle_1 ? toggle_1-- : toggle_1++); };\n }\n callbacks.push(callback);\n trigger();\n};\nexport { queueMicroTask };\n","import { freeze } from './utils/freeze';\nvar ResizeObserverSize = (function () {\n function ResizeObserverSize(inlineSize, blockSize) {\n this.inlineSize = inlineSize;\n this.blockSize = blockSize;\n freeze(this);\n }\n return ResizeObserverSize;\n}());\nexport { ResizeObserverSize };\n","import { freeze } from './utils/freeze';\nvar DOMRectReadOnly = (function () {\n function DOMRectReadOnly(x, y, width, height) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n this.top = this.y;\n this.left = this.x;\n this.bottom = this.top + this.height;\n this.right = this.left + this.width;\n return freeze(this);\n }\n DOMRectReadOnly.prototype.toJSON = function () {\n var _a = this, x = _a.x, y = _a.y, top = _a.top, right = _a.right, bottom = _a.bottom, left = _a.left, width = _a.width, height = _a.height;\n return { x: x, y: y, top: top, right: right, bottom: bottom, left: left, width: width, height: height };\n };\n DOMRectReadOnly.fromRect = function (rectangle) {\n return new DOMRectReadOnly(rectangle.x, rectangle.y, rectangle.width, rectangle.height);\n };\n return DOMRectReadOnly;\n}());\nexport { DOMRectReadOnly };\n","var isSVG = function (target) { return target instanceof SVGElement && 'getBBox' in target; };\nvar isHidden = function (target) {\n if (isSVG(target)) {\n var _a = target.getBBox(), width = _a.width, height = _a.height;\n return !width && !height;\n }\n var _b = target, offsetWidth = _b.offsetWidth, offsetHeight = _b.offsetHeight;\n return !(offsetWidth || offsetHeight || target.getClientRects().length);\n};\nvar isElement = function (obj) {\n var _a;\n if (obj instanceof Element) {\n return true;\n }\n var scope = (_a = obj === null || obj === void 0 ? void 0 : obj.ownerDocument) === null || _a === void 0 ? void 0 : _a.defaultView;\n return !!(scope && obj instanceof scope.Element);\n};\nvar isReplacedElement = function (target) {\n switch (target.tagName) {\n case 'INPUT':\n if (target.type !== 'image') {\n break;\n }\n case 'VIDEO':\n case 'AUDIO':\n case 'EMBED':\n case 'OBJECT':\n case 'CANVAS':\n case 'IFRAME':\n case 'IMG':\n return true;\n }\n return false;\n};\nexport { isSVG, isHidden, isElement, isReplacedElement };\n","export var global = typeof window !== 'undefined' ? window : {};\n","import { ResizeObserverBoxOptions } from '../ResizeObserverBoxOptions';\nimport { ResizeObserverSize } from '../ResizeObserverSize';\nimport { DOMRectReadOnly } from '../DOMRectReadOnly';\nimport { isSVG, isHidden } from '../utils/element';\nimport { freeze } from '../utils/freeze';\nimport { global } from '../utils/global';\nvar cache = new WeakMap();\nvar scrollRegexp = /auto|scroll/;\nvar verticalRegexp = /^tb|vertical/;\nvar IE = (/msie|trident/i).test(global.navigator && global.navigator.userAgent);\nvar parseDimension = function (pixel) { return parseFloat(pixel || '0'); };\nvar size = function (inlineSize, blockSize, switchSizes) {\n if (inlineSize === void 0) { inlineSize = 0; }\n if (blockSize === void 0) { blockSize = 0; }\n if (switchSizes === void 0) { switchSizes = false; }\n return new ResizeObserverSize((switchSizes ? blockSize : inlineSize) || 0, (switchSizes ? inlineSize : blockSize) || 0);\n};\nvar zeroBoxes = freeze({\n devicePixelContentBoxSize: size(),\n borderBoxSize: size(),\n contentBoxSize: size(),\n contentRect: new DOMRectReadOnly(0, 0, 0, 0)\n});\nvar calculateBoxSizes = function (target, forceRecalculation) {\n if (forceRecalculation === void 0) { forceRecalculation = false; }\n if (cache.has(target) && !forceRecalculation) {\n return cache.get(target);\n }\n if (isHidden(target)) {\n cache.set(target, zeroBoxes);\n return zeroBoxes;\n }\n var cs = getComputedStyle(target);\n var svg = isSVG(target) && target.ownerSVGElement && target.getBBox();\n var removePadding = !IE && cs.boxSizing === 'border-box';\n var switchSizes = verticalRegexp.test(cs.writingMode || '');\n var canScrollVertically = !svg && scrollRegexp.test(cs.overflowY || '');\n var canScrollHorizontally = !svg && scrollRegexp.test(cs.overflowX || '');\n var paddingTop = svg ? 0 : parseDimension(cs.paddingTop);\n var paddingRight = svg ? 0 : parseDimension(cs.paddingRight);\n var paddingBottom = svg ? 0 : parseDimension(cs.paddingBottom);\n var paddingLeft = svg ? 0 : parseDimension(cs.paddingLeft);\n var borderTop = svg ? 0 : parseDimension(cs.borderTopWidth);\n var borderRight = svg ? 0 : parseDimension(cs.borderRightWidth);\n var borderBottom = svg ? 0 : parseDimension(cs.borderBottomWidth);\n var borderLeft = svg ? 0 : parseDimension(cs.borderLeftWidth);\n var horizontalPadding = paddingLeft + paddingRight;\n var verticalPadding = paddingTop + paddingBottom;\n var horizontalBorderArea = borderLeft + borderRight;\n var verticalBorderArea = borderTop + borderBottom;\n var horizontalScrollbarThickness = !canScrollHorizontally ? 0 : target.offsetHeight - verticalBorderArea - target.clientHeight;\n var verticalScrollbarThickness = !canScrollVertically ? 0 : target.offsetWidth - horizontalBorderArea - target.clientWidth;\n var widthReduction = removePadding ? horizontalPadding + horizontalBorderArea : 0;\n var heightReduction = removePadding ? verticalPadding + verticalBorderArea : 0;\n var contentWidth = svg ? svg.width : parseDimension(cs.width) - widthReduction - verticalScrollbarThickness;\n var contentHeight = svg ? svg.height : parseDimension(cs.height) - heightReduction - horizontalScrollbarThickness;\n var borderBoxWidth = contentWidth + horizontalPadding + verticalScrollbarThickness + horizontalBorderArea;\n var borderBoxHeight = contentHeight + verticalPadding + horizontalScrollbarThickness + verticalBorderArea;\n var boxes = freeze({\n devicePixelContentBoxSize: size(Math.round(contentWidth * devicePixelRatio), Math.round(contentHeight * devicePixelRatio), switchSizes),\n borderBoxSize: size(borderBoxWidth, borderBoxHeight, switchSizes),\n contentBoxSize: size(contentWidth, contentHeight, switchSizes),\n contentRect: new DOMRectReadOnly(paddingLeft, paddingTop, contentWidth, contentHeight)\n });\n cache.set(target, boxes);\n return boxes;\n};\nvar calculateBoxSize = function (target, observedBox, forceRecalculation) {\n var _a = calculateBoxSizes(target, forceRecalculation), borderBoxSize = _a.borderBoxSize, contentBoxSize = _a.contentBoxSize, devicePixelContentBoxSize = _a.devicePixelContentBoxSize;\n switch (observedBox) {\n case ResizeObserverBoxOptions.DEVICE_PIXEL_CONTENT_BOX:\n return devicePixelContentBoxSize;\n case ResizeObserverBoxOptions.BORDER_BOX:\n return borderBoxSize;\n default:\n return contentBoxSize;\n }\n};\nexport { calculateBoxSize, calculateBoxSizes };\n","import { calculateBoxSizes } from './algorithms/calculateBoxSize';\nimport { freeze } from './utils/freeze';\nvar ResizeObserverEntry = (function () {\n function ResizeObserverEntry(target) {\n var boxes = calculateBoxSizes(target);\n this.target = target;\n this.contentRect = boxes.contentRect;\n this.borderBoxSize = freeze([boxes.borderBoxSize]);\n this.contentBoxSize = freeze([boxes.contentBoxSize]);\n this.devicePixelContentBoxSize = freeze([boxes.devicePixelContentBoxSize]);\n }\n return ResizeObserverEntry;\n}());\nexport { ResizeObserverEntry };\n","import { isHidden } from '../utils/element';\nvar calculateDepthForNode = function (node) {\n if (isHidden(node)) {\n return Infinity;\n }\n var depth = 0;\n var parent = node.parentNode;\n while (parent) {\n depth += 1;\n parent = parent.parentNode;\n }\n return depth;\n};\nexport { calculateDepthForNode };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { ResizeObserverEntry } from '../ResizeObserverEntry';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nimport { calculateBoxSize } from './calculateBoxSize';\nvar broadcastActiveObservations = function () {\n var shallowestDepth = Infinity;\n var callbacks = [];\n resizeObservers.forEach(function processObserver(ro) {\n if (ro.activeTargets.length === 0) {\n return;\n }\n var entries = [];\n ro.activeTargets.forEach(function processTarget(ot) {\n var entry = new ResizeObserverEntry(ot.target);\n var targetDepth = calculateDepthForNode(ot.target);\n entries.push(entry);\n ot.lastReportedSize = calculateBoxSize(ot.target, ot.observedBox);\n if (targetDepth < shallowestDepth) {\n shallowestDepth = targetDepth;\n }\n });\n callbacks.push(function resizeObserverCallback() {\n ro.callback.call(ro.observer, entries, ro.observer);\n });\n ro.activeTargets.splice(0, ro.activeTargets.length);\n });\n for (var _i = 0, callbacks_1 = callbacks; _i < callbacks_1.length; _i++) {\n var callback = callbacks_1[_i];\n callback();\n }\n return shallowestDepth;\n};\nexport { broadcastActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nvar gatherActiveObservationsAtDepth = function (depth) {\n resizeObservers.forEach(function processObserver(ro) {\n ro.activeTargets.splice(0, ro.activeTargets.length);\n ro.skippedTargets.splice(0, ro.skippedTargets.length);\n ro.observationTargets.forEach(function processTarget(ot) {\n if (ot.isActive()) {\n if (calculateDepthForNode(ot.target) > depth) {\n ro.activeTargets.push(ot);\n }\n else {\n ro.skippedTargets.push(ot);\n }\n }\n });\n });\n};\nexport { gatherActiveObservationsAtDepth };\n","import { hasActiveObservations } from '../algorithms/hasActiveObservations';\nimport { hasSkippedObservations } from '../algorithms/hasSkippedObservations';\nimport { deliverResizeLoopError } from '../algorithms/deliverResizeLoopError';\nimport { broadcastActiveObservations } from '../algorithms/broadcastActiveObservations';\nimport { gatherActiveObservationsAtDepth } from '../algorithms/gatherActiveObservationsAtDepth';\nvar process = function () {\n var depth = 0;\n gatherActiveObservationsAtDepth(depth);\n while (hasActiveObservations()) {\n depth = broadcastActiveObservations();\n gatherActiveObservationsAtDepth(depth);\n }\n if (hasSkippedObservations()) {\n deliverResizeLoopError();\n }\n return depth > 0;\n};\nexport { process };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasActiveObservations = function () {\n return resizeObservers.some(function (ro) { return ro.activeTargets.length > 0; });\n};\nexport { hasActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasSkippedObservations = function () {\n return resizeObservers.some(function (ro) { return ro.skippedTargets.length > 0; });\n};\nexport { hasSkippedObservations };\n","import { process } from './process';\nimport { global } from './global';\nimport { queueResizeObserver } from './queueResizeObserver';\nvar watching = 0;\nvar isWatching = function () { return !!watching; };\nvar CATCH_PERIOD = 250;\nvar observerConfig = { attributes: true, characterData: true, childList: true, subtree: true };\nvar events = [\n 'resize',\n 'load',\n 'transitionend',\n 'animationend',\n 'animationstart',\n 'animationiteration',\n 'keyup',\n 'keydown',\n 'mouseup',\n 'mousedown',\n 'mouseover',\n 'mouseout',\n 'blur',\n 'focus'\n];\nvar time = function (timeout) {\n if (timeout === void 0) { timeout = 0; }\n return Date.now() + timeout;\n};\nvar scheduled = false;\nvar Scheduler = (function () {\n function Scheduler() {\n var _this = this;\n this.stopped = true;\n this.listener = function () { return _this.schedule(); };\n }\n Scheduler.prototype.run = function (timeout) {\n var _this = this;\n if (timeout === void 0) { timeout = CATCH_PERIOD; }\n if (scheduled) {\n return;\n }\n scheduled = true;\n var until = time(timeout);\n queueResizeObserver(function () {\n var elementsHaveResized = false;\n try {\n elementsHaveResized = process();\n }\n finally {\n scheduled = false;\n timeout = until - time();\n if (!isWatching()) {\n return;\n }\n if (elementsHaveResized) {\n _this.run(1000);\n }\n else if (timeout > 0) {\n _this.run(timeout);\n }\n else {\n _this.start();\n }\n }\n });\n };\n Scheduler.prototype.schedule = function () {\n this.stop();\n this.run();\n };\n Scheduler.prototype.observe = function () {\n var _this = this;\n var cb = function () { return _this.observer && _this.observer.observe(document.body, observerConfig); };\n document.body ? cb() : global.addEventListener('DOMContentLoaded', cb);\n };\n Scheduler.prototype.start = function () {\n var _this = this;\n if (this.stopped) {\n this.stopped = false;\n this.observer = new MutationObserver(this.listener);\n this.observe();\n events.forEach(function (name) { return global.addEventListener(name, _this.listener, true); });\n }\n };\n Scheduler.prototype.stop = function () {\n var _this = this;\n if (!this.stopped) {\n this.observer && this.observer.disconnect();\n events.forEach(function (name) { return global.removeEventListener(name, _this.listener, true); });\n this.stopped = true;\n }\n };\n return Scheduler;\n}());\nvar scheduler = new Scheduler();\nvar updateCount = function (n) {\n !watching && n > 0 && scheduler.start();\n watching += n;\n !watching && scheduler.stop();\n};\nexport { scheduler, updateCount };\n","import { queueMicroTask } from './queueMicroTask';\nvar queueResizeObserver = function (cb) {\n queueMicroTask(function ResizeObserver() {\n requestAnimationFrame(cb);\n });\n};\nexport { queueResizeObserver };\n","import { ResizeObserverBoxOptions } from './ResizeObserverBoxOptions';\nimport { calculateBoxSize } from './algorithms/calculateBoxSize';\nimport { isSVG, isReplacedElement } from './utils/element';\nvar skipNotifyOnElement = function (target) {\n return !isSVG(target)\n && !isReplacedElement(target)\n && getComputedStyle(target).display === 'inline';\n};\nvar ResizeObservation = (function () {\n function ResizeObservation(target, observedBox) {\n this.target = target;\n this.observedBox = observedBox || ResizeObserverBoxOptions.CONTENT_BOX;\n this.lastReportedSize = {\n inlineSize: 0,\n blockSize: 0\n };\n }\n ResizeObservation.prototype.isActive = function () {\n var size = calculateBoxSize(this.target, this.observedBox, true);\n if (skipNotifyOnElement(this.target)) {\n this.lastReportedSize = size;\n }\n if (this.lastReportedSize.inlineSize !== size.inlineSize\n || this.lastReportedSize.blockSize !== size.blockSize) {\n return true;\n }\n return false;\n };\n return ResizeObservation;\n}());\nexport { ResizeObservation };\n","var ResizeObserverDetail = (function () {\n function ResizeObserverDetail(resizeObserver, callback) {\n this.activeTargets = [];\n this.skippedTargets = [];\n this.observationTargets = [];\n this.observer = resizeObserver;\n this.callback = callback;\n }\n return ResizeObserverDetail;\n}());\nexport { ResizeObserverDetail };\n","import { scheduler, updateCount } from './utils/scheduler';\nimport { ResizeObservation } from './ResizeObservation';\nimport { ResizeObserverDetail } from './ResizeObserverDetail';\nimport { resizeObservers } from './utils/resizeObservers';\nvar observerMap = new WeakMap();\nvar getObservationIndex = function (observationTargets, target) {\n for (var i = 0; i < observationTargets.length; i += 1) {\n if (observationTargets[i].target === target) {\n return i;\n }\n }\n return -1;\n};\nvar ResizeObserverController = (function () {\n function ResizeObserverController() {\n }\n ResizeObserverController.connect = function (resizeObserver, callback) {\n var detail = new ResizeObserverDetail(resizeObserver, callback);\n observerMap.set(resizeObserver, detail);\n };\n ResizeObserverController.observe = function (resizeObserver, target, options) {\n var detail = observerMap.get(resizeObserver);\n var firstObservation = detail.observationTargets.length === 0;\n if (getObservationIndex(detail.observationTargets, target) < 0) {\n firstObservation && resizeObservers.push(detail);\n detail.observationTargets.push(new ResizeObservation(target, options && options.box));\n updateCount(1);\n scheduler.schedule();\n }\n };\n ResizeObserverController.unobserve = function (resizeObserver, target) {\n var detail = observerMap.get(resizeObserver);\n var index = getObservationIndex(detail.observationTargets, target);\n var lastObservation = detail.observationTargets.length === 1;\n if (index >= 0) {\n lastObservation && resizeObservers.splice(resizeObservers.indexOf(detail), 1);\n detail.observationTargets.splice(index, 1);\n updateCount(-1);\n }\n };\n ResizeObserverController.disconnect = function (resizeObserver) {\n var _this = this;\n var detail = observerMap.get(resizeObserver);\n detail.observationTargets.slice().forEach(function (ot) { return _this.unobserve(resizeObserver, ot.target); });\n detail.activeTargets.splice(0, detail.activeTargets.length);\n };\n return ResizeObserverController;\n}());\nexport { ResizeObserverController };\n","import { ResizeObserverController } from './ResizeObserverController';\nimport { isElement } from './utils/element';\nvar ResizeObserver = (function () {\n function ResizeObserver(callback) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (typeof callback !== 'function') {\n throw new TypeError(\"Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.\");\n }\n ResizeObserverController.connect(this, callback);\n }\n ResizeObserver.prototype.observe = function (target, options) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.observe(this, target, options);\n };\n ResizeObserver.prototype.unobserve = function (target) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.unobserve(this, target);\n };\n ResizeObserver.prototype.disconnect = function () {\n ResizeObserverController.disconnect(this);\n };\n ResizeObserver.toString = function () {\n return 'function ResizeObserver () { [polyfill code] }';\n };\n return ResizeObserver;\n}());\nexport { ResizeObserver };\n","function sign(x) {\n return x < 0 ? -1 : 1;\n}\n\n// Calculate the slopes of the tangents (Hermite-type interpolation) based on\n// the following paper: Steffen, M. 1990. A Simple Method for Monotonic\n// Interpolation in One Dimension. Astronomy and Astrophysics, Vol. 239, NO.\n// NOV(II), P. 443, 1990.\nfunction slope3(that, x2, y2) {\n var h0 = that._x1 - that._x0,\n h1 = x2 - that._x1,\n s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0),\n s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0),\n p = (s0 * h1 + s1 * h0) / (h0 + h1);\n return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\n}\n\n// Calculate a one-sided slope.\nfunction slope2(that, t) {\n var h = that._x1 - that._x0;\n return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;\n}\n\n// According to https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Representations\n// \"you can express cubic Hermite interpolation in terms of cubic Bézier curves\n// with respect to the four values p0, p0 + m0 / 3, p1 - m1 / 3, p1\".\nfunction point(that, t0, t1) {\n var x0 = that._x0,\n y0 = that._y0,\n x1 = that._x1,\n y1 = that._y1,\n dx = (x1 - x0) / 3;\n that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);\n}\n\nfunction MonotoneX(context) {\n this._context = context;\n}\n\nMonotoneX.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 =\n this._t0 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x1, this._y1); break;\n case 3: point(this, this._t0, slope2(this, this._t0)); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n var t1 = NaN;\n\n x = +x, y = +y;\n if (x === this._x1 && y === this._y1) return; // Ignore coincident points.\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; point(this, slope2(this, t1 = slope3(this, x, y)), t1); break;\n default: point(this, this._t0, t1 = slope3(this, x, y)); break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n this._t0 = t1;\n }\n}\n\nfunction MonotoneY(context) {\n this._context = new ReflectContext(context);\n}\n\n(MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x, y) {\n MonotoneX.prototype.point.call(this, y, x);\n};\n\nfunction ReflectContext(context) {\n this._context = context;\n}\n\nReflectContext.prototype = {\n moveTo: function(x, y) { this._context.moveTo(y, x); },\n closePath: function() { this._context.closePath(); },\n lineTo: function(x, y) { this._context.lineTo(y, x); },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) { this._context.bezierCurveTo(y1, x1, y2, x2, y, x); }\n};\n\nexport function monotoneX(context) {\n return new MonotoneX(context);\n}\n\nexport function monotoneY(context) {\n return new MonotoneY(context);\n}\n","import _taggedTemplateLiteral from \"@babel/runtime/helpers/taggedTemplateLiteral\";\n\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;\n\nimport styled from '@emotion/styled';\nimport { Box, Paper } from '@mui/material';\nimport React from 'react';\nimport Icon from '../Icon';\nimport { designTokens } from '../Theme.design-tokens';\nimport Typography from '../Typography';\nimport { transientOptions } from '../utils';\nexport var errorStyle = {\n fill: designTokens.colors.red050,\n outlineColor: designTokens.colors.red600,\n outlineStyle: 'dashed',\n outlineWidth: '2px',\n outlineOffset: '-2px'\n};\nexport var StyledSeriesIndicator = function StyledSeriesIndicator(_ref) {\n var $color = _ref.$color,\n $inactive = _ref.$inactive,\n $aux = _ref.$aux;\n return /*#__PURE__*/React.createElement(Box, {\n sx: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: '24px'\n }\n }, $aux ? /*#__PURE__*/React.createElement(Box, {\n sx: {\n borderBottom: \"3px solid \".concat($color),\n opacity: $inactive ? 0.5 : 1,\n width: '12px'\n }\n }) : /*#__PURE__*/React.createElement(Box, {\n sx: {\n display: 'flex',\n borderRadius: '50%',\n height: '12px',\n width: '12px',\n minWidth: '12px',\n background: !$inactive ? $color : 'none',\n border: $inactive ? \"\".concat($color, \" solid\") : 'none',\n opacity: $inactive ? 0.5 : 1\n }\n }));\n};\nexport var StyledSeriesLabel = styled('div', transientOptions)(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n max-width: calc(100% - 20px);\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n opacity: \", \";\\n\"])), function (_ref2) {\n var $inactive = _ref2.$inactive,\n $hovered = _ref2.$hovered;\n return $inactive || $hovered ? 0.5 : 1;\n});\nexport var StyledTableCell = styled('td', transientOptions)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n && {\\n font-size: inherit;\\n padding: 4px 8px;\\n text-align: \", \";\\n }\\n\"])), function (_ref3) {\n var $align = _ref3.$align;\n return $align || 'inherit';\n});\nexport var StyledTooltip = styled(Paper, transientOptions)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n &.MuiPaper-root {\\n background-color: inherit;\\n color: \", \";\\n padding: 0 16px;\\n max-height: \", \"px;\\n overflow: auto;\\n box-shadow: unset;\\n }\\n\\n & .MuiTypography-subtitle1 {\\n color: \", \";\\n }\\n & .MuiTypography-subtitle1 {\\n color: \", \";\\n }\\n & .MuiIcon-colorAction,\\n #percent-changed {\\n color: \", \";\\n }\\n\"])), function (_ref4) {\n var $tooltipColors = _ref4.$tooltipColors;\n return $tooltipColors.emphasisHigh;\n}, function (_ref5) {\n var $maxHeight = _ref5.$maxHeight;\n return $maxHeight;\n}, function (_ref6) {\n var $tooltipColors = _ref6.$tooltipColors;\n return $tooltipColors.emphasisHigh;\n}, function (_ref7) {\n var $tooltipColors = _ref7.$tooltipColors;\n return $tooltipColors.emphasisMedium;\n}, function (_ref8) {\n var $tooltipColors = _ref8.$tooltipColors;\n return $tooltipColors.emphasisLow;\n});\nexport var StyledLegendPagination = styled('div', transientOptions)(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n & ul {\\n flex-wrap: nowrap;\\n }\\n\\n .MuiPaginationItem-page {\\n display: \", \";\\n }\\n\"])), function (_ref9) {\n var $hidePaginationCount = _ref9.$hidePaginationCount;\n return $hidePaginationCount ? 'none' : '';\n});\nexport var MultiLineXAxisEllipsisDiv = styled('div')(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n && {\\n color: \", \";\\n font-size: \", \";\\n text-align: center;\\n word-break: break-word;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n display: -webkit-box;\\n -webkit-line-clamp: \", \";\\n -webkit-box-orient: vertical;\\n }\\n\"])), function (_ref10) {\n var $color = _ref10.$color;\n return $color || 'inherit';\n}, function (_ref11) {\n var $fontSize = _ref11.$fontSize;\n return $fontSize || 'inherit';\n}, function (_ref12) {\n var $lines = _ref12.$lines;\n return $lines || 2;\n});\nexport var SingleLineXAxisEllipsisDiv = styled('div')(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n && {\\n color: \", \";\\n font-size: \", \";\\n text-align: end;\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n }\\n\"])), function (_ref13) {\n var $color = _ref13.$color;\n return $color || 'inherit';\n}, function (_ref14) {\n var $fontSize = _ref14.$fontSize;\n return $fontSize || 'inherit';\n});\nexport var PercentChange = function PercentChange(_ref15) {\n var percentChange = _ref15.percentChange,\n isIncrease = _ref15.isIncrease;\n return /*#__PURE__*/React.createElement(\"div\", {\n id: \"percent-changed\",\n style: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-around'\n }\n }, percentChange && /*#__PURE__*/React.createElement(Icon, {\n fontSize: \"small\",\n body: isIncrease ? 'arrow_upward' : 'arrow_downward'\n }), /*#__PURE__*/React.createElement(Typography, {\n variant: \"caption\"\n }, percentChange || '—'));\n};\n//# sourceMappingURL=styles.js.map","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { DateTime, Interval } from 'luxon';\nimport { ChartIntervals } from '.';\n/**\n * @param start ISO-8601 date string\n * @param end ISO-8601 date string\n */\n\nvar diffNumDays = function diffNumDays(start, end) {\n var startDate = DateTime.fromISO(start);\n var endDate = DateTime.fromISO(end);\n var diff = Interval.fromDateTimes(startDate, endDate);\n return diff.length('days');\n};\n/**\n * @param dataPoint0 ISO-8601 date string\n * @param dataPoint1 ISO-8601 date string\n */\n\n\nexport var getInterval = function getInterval(dataPoint0, dataPoint1) {\n if (!dataPoint0 || !dataPoint1) {\n return ChartIntervals.MONTH;\n }\n\n var dayDiff = diffNumDays(dataPoint0, dataPoint1);\n\n if (dayDiff < 1) {\n return ChartIntervals.HOUR;\n }\n\n if (dayDiff <= 2) {\n return ChartIntervals.DAY;\n }\n\n if (dayDiff <= 27) {\n return ChartIntervals.WEEK;\n }\n\n if (dayDiff <= 84) {\n return ChartIntervals.MONTH;\n }\n\n if (dayDiff <= 93) {\n return ChartIntervals.QUARTER;\n }\n\n return ChartIntervals.ANNUAL;\n};\nexport var formatDate = function formatDate(date, interval, locale) {\n var _formatters;\n\n var formatters = (_formatters = {}, _defineProperty(_formatters, ChartIntervals.MINUTE, {\n day: 'numeric',\n month: 'short',\n hour: 'numeric',\n minute: 'numeric'\n }), _defineProperty(_formatters, ChartIntervals.HOUR, {\n day: 'numeric',\n month: 'short',\n hour: 'numeric'\n }), _defineProperty(_formatters, ChartIntervals.DAY, {\n day: 'numeric',\n month: 'short',\n year: 'numeric'\n }), _defineProperty(_formatters, ChartIntervals.WEEK, {\n day: 'numeric',\n month: 'numeric'\n }), _defineProperty(_formatters, ChartIntervals.MONTH, {\n month: 'short',\n year: 'numeric'\n }), _defineProperty(_formatters, ChartIntervals.QUARTER, {\n year: 'numeric'\n }), _defineProperty(_formatters, ChartIntervals.ANNUAL, {\n year: 'numeric'\n }), _formatters);\n var result = new Intl.DateTimeFormat(locale, formatters[interval]).format(new Date(date)).toString();\n\n if (interval === ChartIntervals.WEEK) {\n var endOfWeek = new Date(date);\n endOfWeek.setDate(endOfWeek.getDate() + 6);\n return result + '-' + new Intl.DateTimeFormat(locale, formatters[interval]).format(endOfWeek).toString();\n }\n\n if (interval === ChartIntervals.QUARTER) {\n var month = DateTime.fromISO(date).month;\n\n var quarterNumber = function () {\n if (month <= 3) {\n return 1;\n }\n\n if (month <= 6) {\n return 2;\n }\n\n if (month <= 9) {\n return 3;\n }\n\n if (month <= 12) {\n return 4;\n }\n }();\n\n return \"Q\".concat(quarterNumber, \" \").concat(result);\n }\n\n return result;\n};\n//# sourceMappingURL=dateUtils.js.map","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getPaginationUtilityClass(slot) {\n return generateUtilityClass('MuiPagination', slot);\n}\nconst paginationClasses = generateUtilityClasses('MuiPagination', ['root', 'ul', 'outlined', 'text']);\nexport default paginationClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"boundaryCount\", \"componentName\", \"count\", \"defaultPage\", \"disabled\", \"hideNextButton\", \"hidePrevButton\", \"onChange\", \"page\", \"showFirstButton\", \"showLastButton\", \"siblingCount\"];\nimport { unstable_useControlled as useControlled } from '@mui/utils';\nexport default function usePagination(props = {}) {\n // keep default values in sync with @default tags in Pagination.propTypes\n const {\n boundaryCount = 1,\n componentName = 'usePagination',\n count = 1,\n defaultPage = 1,\n disabled = false,\n hideNextButton = false,\n hidePrevButton = false,\n onChange: handleChange,\n page: pageProp,\n showFirstButton = false,\n showLastButton = false,\n siblingCount = 1\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const [page, setPageState] = useControlled({\n controlled: pageProp,\n default: defaultPage,\n name: componentName,\n state: 'page'\n });\n\n const handleClick = (event, value) => {\n if (!pageProp) {\n setPageState(value);\n }\n\n if (handleChange) {\n handleChange(event, value);\n }\n }; // https://dev.to/namirsab/comment/2050\n\n\n const range = (start, end) => {\n const length = end - start + 1;\n return Array.from({\n length\n }, (_, i) => start + i);\n };\n\n const startPages = range(1, Math.min(boundaryCount, count));\n const endPages = range(Math.max(count - boundaryCount + 1, boundaryCount + 1), count);\n const siblingsStart = Math.max(Math.min( // Natural start\n page - siblingCount, // Lower boundary when page is high\n count - boundaryCount - siblingCount * 2 - 1), // Greater than startPages\n boundaryCount + 2);\n const siblingsEnd = Math.min(Math.max( // Natural end\n page + siblingCount, // Upper boundary when page is low\n boundaryCount + siblingCount * 2 + 2), // Less than endPages\n endPages.length > 0 ? endPages[0] - 2 : count - 1); // Basic list of items to render\n // e.g. itemList = ['first', 'previous', 1, 'ellipsis', 4, 5, 6, 'ellipsis', 10, 'next', 'last']\n\n const itemList = [...(showFirstButton ? ['first'] : []), ...(hidePrevButton ? [] : ['previous']), ...startPages, // Start ellipsis\n // eslint-disable-next-line no-nested-ternary\n ...(siblingsStart > boundaryCount + 2 ? ['start-ellipsis'] : boundaryCount + 1 < count - boundaryCount ? [boundaryCount + 1] : []), // Sibling pages\n ...range(siblingsStart, siblingsEnd), // End ellipsis\n // eslint-disable-next-line no-nested-ternary\n ...(siblingsEnd < count - boundaryCount - 1 ? ['end-ellipsis'] : count - boundaryCount > boundaryCount ? [count - boundaryCount] : []), ...endPages, ...(hideNextButton ? [] : ['next']), ...(showLastButton ? ['last'] : [])]; // Map the button type to its page number\n\n const buttonPage = type => {\n switch (type) {\n case 'first':\n return 1;\n\n case 'previous':\n return page - 1;\n\n case 'next':\n return page + 1;\n\n case 'last':\n return count;\n\n default:\n return null;\n }\n }; // Convert the basic item list to PaginationItem props objects\n\n\n const items = itemList.map(item => {\n return typeof item === 'number' ? {\n onClick: event => {\n handleClick(event, item);\n },\n type: 'page',\n page: item,\n selected: item === page,\n disabled,\n 'aria-current': item === page ? 'true' : undefined\n } : {\n onClick: event => {\n handleClick(event, buttonPage(item));\n },\n type: item,\n page: buttonPage(item),\n selected: false,\n disabled: disabled || item.indexOf('ellipsis') === -1 && (item === 'next' || item === 'last' ? page >= count : page <= 1)\n };\n });\n return _extends({\n items\n }, other);\n}","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getPaginationItemUtilityClass(slot) {\n return generateUtilityClass('MuiPaginationItem', slot);\n}\nconst paginationItemClasses = generateUtilityClasses('MuiPaginationItem', ['root', 'page', 'sizeSmall', 'sizeLarge', 'text', 'textPrimary', 'textSecondary', 'outlined', 'outlinedPrimary', 'outlinedSecondary', 'rounded', 'ellipsis', 'firstLast', 'previousNext', 'focusVisible', 'disabled', 'selected', 'icon']);\nexport default paginationItemClasses;","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\"\n}), 'NavigateBefore');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"\n}), 'NavigateNext');","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"component\", \"components\", \"disabled\", \"page\", \"selected\", \"shape\", \"size\", \"type\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport useThemeProps from '../styles/useThemeProps';\nimport paginationItemClasses, { getPaginationItemUtilityClass } from './paginationItemClasses';\nimport useTheme from '../styles/useTheme';\nimport ButtonBase from '../ButtonBase';\nimport capitalize from '../utils/capitalize';\nimport FirstPageIcon from '../internal/svg-icons/FirstPage';\nimport LastPageIcon from '../internal/svg-icons/LastPage';\nimport NavigateBeforeIcon from '../internal/svg-icons/NavigateBefore';\nimport NavigateNextIcon from '../internal/svg-icons/NavigateNext';\nimport styled from '../styles/styled';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], styles[`size${capitalize(ownerState.size)}`], ownerState.variant === 'text' && styles[`text${capitalize(ownerState.color)}`], ownerState.variant === 'outlined' && styles[`outlined${capitalize(ownerState.color)}`], ownerState.shape === 'rounded' && styles.rounded, ownerState.type === 'page' && styles.page, (ownerState.type === 'start-ellipsis' || ownerState.type === 'end-ellipsis') && styles.ellipsis, (ownerState.type === 'previous' || ownerState.type === 'next') && styles.previousNext, (ownerState.type === 'first' || ownerState.type === 'last') && styles.firstLast];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n disabled,\n selected,\n size,\n shape,\n type,\n variant\n } = ownerState;\n const slots = {\n root: ['root', `size${capitalize(size)}`, variant, shape, color !== 'standard' && `${variant}${capitalize(color)}`, disabled && 'disabled', selected && 'selected', {\n page: 'page',\n first: 'firstLast',\n last: 'firstLast',\n 'start-ellipsis': 'ellipsis',\n 'end-ellipsis': 'ellipsis',\n previous: 'previousNext',\n next: 'previousNext'\n }[type]],\n icon: ['icon']\n };\n return composeClasses(slots, getPaginationItemUtilityClass, classes);\n};\n\nconst PaginationItemEllipsis = styled('div', {\n name: 'MuiPaginationItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body2, {\n borderRadius: 32 / 2,\n textAlign: 'center',\n boxSizing: 'border-box',\n minWidth: 32,\n padding: '0 6px',\n margin: '0 3px',\n color: (theme.vars || theme).palette.text.primary,\n height: 'auto',\n [`&.${paginationItemClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n }\n}, ownerState.size === 'small' && {\n minWidth: 26,\n borderRadius: 26 / 2,\n margin: '0 1px',\n padding: '0 4px'\n}, ownerState.size === 'large' && {\n minWidth: 40,\n borderRadius: 40 / 2,\n padding: '0 10px',\n fontSize: theme.typography.pxToRem(15)\n}));\nconst PaginationItemPage = styled(ButtonBase, {\n name: 'MuiPaginationItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body2, {\n borderRadius: 32 / 2,\n textAlign: 'center',\n boxSizing: 'border-box',\n minWidth: 32,\n height: 32,\n padding: '0 6px',\n margin: '0 3px',\n color: (theme.vars || theme).palette.text.primary,\n [`&.${paginationItemClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`&.${paginationItemClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n },\n transition: theme.transitions.create(['color', 'background-color'], {\n duration: theme.transitions.duration.short\n }),\n '&:hover': {\n backgroundColor: (theme.vars || theme).palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${paginationItemClasses.selected}`]: {\n backgroundColor: (theme.vars || theme).palette.action.selected,\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.selected} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.action.selected, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: (theme.vars || theme).palette.action.selected\n }\n },\n [`&.${paginationItemClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.selected} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.action.selected, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n },\n [`&.${paginationItemClasses.disabled}`]: {\n opacity: 1,\n color: (theme.vars || theme).palette.action.disabled,\n backgroundColor: (theme.vars || theme).palette.action.selected\n }\n }\n}, ownerState.size === 'small' && {\n minWidth: 26,\n height: 26,\n borderRadius: 26 / 2,\n margin: '0 1px',\n padding: '0 4px'\n}, ownerState.size === 'large' && {\n minWidth: 40,\n height: 40,\n borderRadius: 40 / 2,\n padding: '0 10px',\n fontSize: theme.typography.pxToRem(15)\n}, ownerState.shape === 'rounded' && {\n borderRadius: (theme.vars || theme).shape.borderRadius\n}), ({\n theme,\n ownerState\n}) => _extends({}, ownerState.variant === 'text' && {\n [`&.${paginationItemClasses.selected}`]: _extends({}, ownerState.color !== 'standard' && {\n color: (theme.vars || theme).palette[ownerState.color].contrastText,\n backgroundColor: (theme.vars || theme).palette[ownerState.color].main,\n '&:hover': {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].dark,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].main\n }\n },\n [`&.${paginationItemClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].dark\n }\n }, {\n [`&.${paginationItemClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n }\n })\n}, ownerState.variant === 'outlined' && {\n border: theme.vars ? `1px solid rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : `1px solid ${theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)'}`,\n [`&.${paginationItemClasses.selected}`]: _extends({}, ownerState.color !== 'standard' && {\n color: (theme.vars || theme).palette[ownerState.color].main,\n border: `1px solid ${theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / 0.5)` : alpha(theme.palette[ownerState.color].main, 0.5)}`,\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / ${theme.vars.palette.action.activatedOpacity})` : alpha(theme.palette[ownerState.color].main, theme.palette.action.activatedOpacity),\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / calc(${theme.vars.palette.action.activatedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette[ownerState.color].main, theme.palette.action.activatedOpacity + theme.palette.action.focusOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${paginationItemClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / calc(${theme.vars.palette.action.activatedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette[ownerState.color].main, theme.palette.action.activatedOpacity + theme.palette.action.focusOpacity)\n }\n }, {\n [`&.${paginationItemClasses.disabled}`]: {\n borderColor: (theme.vars || theme).palette.action.disabledBackground,\n color: (theme.vars || theme).palette.action.disabled\n }\n })\n}));\nconst PaginationItemPageIcon = styled('div', {\n name: 'MuiPaginationItem',\n slot: 'Icon',\n overridesResolver: (props, styles) => styles.icon\n})(({\n theme,\n ownerState\n}) => _extends({\n fontSize: theme.typography.pxToRem(20),\n margin: '0 -8px'\n}, ownerState.size === 'small' && {\n fontSize: theme.typography.pxToRem(18)\n}, ownerState.size === 'large' && {\n fontSize: theme.typography.pxToRem(22)\n}));\nconst PaginationItem = /*#__PURE__*/React.forwardRef(function PaginationItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPaginationItem'\n });\n\n const {\n className,\n color = 'standard',\n component,\n components = {\n first: FirstPageIcon,\n last: LastPageIcon,\n next: NavigateNextIcon,\n previous: NavigateBeforeIcon\n },\n disabled = false,\n page,\n selected = false,\n shape = 'circular',\n size = 'medium',\n type = 'page',\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n color,\n disabled,\n selected,\n shape,\n size,\n type,\n variant\n });\n\n const theme = useTheme();\n const classes = useUtilityClasses(ownerState);\n const normalizedIcons = theme.direction === 'rtl' ? {\n previous: components.next || NavigateNextIcon,\n next: components.previous || NavigateBeforeIcon,\n last: components.first || FirstPageIcon,\n first: components.last || LastPageIcon\n } : {\n previous: components.previous || NavigateBeforeIcon,\n next: components.next || NavigateNextIcon,\n first: components.first || FirstPageIcon,\n last: components.last || LastPageIcon\n };\n const Icon = normalizedIcons[type];\n return type === 'start-ellipsis' || type === 'end-ellipsis' ? /*#__PURE__*/_jsx(PaginationItemEllipsis, {\n ref: ref,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n children: \"\\u2026\"\n }) : /*#__PURE__*/_jsxs(PaginationItemPage, _extends({\n ref: ref,\n ownerState: ownerState,\n component: component,\n disabled: disabled,\n className: clsx(classes.root, className)\n }, other, {\n children: [type === 'page' && page, Icon ? /*#__PURE__*/_jsx(PaginationItemPageIcon, {\n as: Icon,\n ownerState: ownerState,\n className: classes.icon\n }) : null]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? PaginationItem.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * @ignore\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The active color.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).\n * @default 'standard'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['primary', 'secondary', 'standard']), PropTypes.string]),\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * The components used for first, last, next & previous item type\n * @default {\n * first: FirstPageIcon,\n * last: LastPageIcon,\n * next: NavigateNextIcon,\n * previous: NavigateBeforeIcon,\n * }\n */\n components: PropTypes.shape({\n first: PropTypes.elementType,\n last: PropTypes.elementType,\n next: PropTypes.elementType,\n previous: PropTypes.elementType\n }),\n\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n\n /**\n * The current page number.\n */\n page: PropTypes.node,\n\n /**\n * If `true` the pagination item is selected.\n * @default false\n */\n selected: PropTypes.bool,\n\n /**\n * The shape of the pagination item.\n * @default 'circular'\n */\n shape: PropTypes.oneOf(['circular', 'rounded']),\n\n /**\n * The size of the component.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['small', 'medium', 'large']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The type of pagination item.\n * @default 'page'\n */\n type: PropTypes.oneOf(['end-ellipsis', 'first', 'last', 'next', 'page', 'previous', 'start-ellipsis']),\n\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['outlined', 'text']), PropTypes.string])\n} : void 0;\nexport default PaginationItem;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"boundaryCount\", \"className\", \"color\", \"count\", \"defaultPage\", \"disabled\", \"getItemAriaLabel\", \"hideNextButton\", \"hidePrevButton\", \"onChange\", \"page\", \"renderItem\", \"shape\", \"showFirstButton\", \"showLastButton\", \"siblingCount\", \"size\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { integerPropType } from '@mui/utils';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getPaginationUtilityClass } from './paginationClasses';\nimport usePagination from '../usePagination';\nimport PaginationItem from '../PaginationItem';\nimport styled from '../styles/styled';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant\n } = ownerState;\n const slots = {\n root: ['root', variant],\n ul: ['ul']\n };\n return composeClasses(slots, getPaginationUtilityClass, classes);\n};\n\nconst PaginationRoot = styled('nav', {\n name: 'MuiPagination',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant]];\n }\n})({});\nconst PaginationUl = styled('ul', {\n name: 'MuiPagination',\n slot: 'Ul',\n overridesResolver: (props, styles) => styles.ul\n})({\n display: 'flex',\n flexWrap: 'wrap',\n alignItems: 'center',\n padding: 0,\n margin: 0,\n listStyle: 'none'\n});\n\nfunction defaultGetAriaLabel(type, page, selected) {\n if (type === 'page') {\n return `${selected ? '' : 'Go to '}page ${page}`;\n }\n\n return `Go to ${type} page`;\n}\n\nconst Pagination = /*#__PURE__*/React.forwardRef(function Pagination(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPagination'\n });\n\n const {\n boundaryCount = 1,\n className,\n color = 'standard',\n count = 1,\n defaultPage = 1,\n disabled = false,\n getItemAriaLabel = defaultGetAriaLabel,\n hideNextButton = false,\n hidePrevButton = false,\n renderItem = item => /*#__PURE__*/_jsx(PaginationItem, _extends({}, item)),\n shape = 'circular',\n showFirstButton = false,\n showLastButton = false,\n siblingCount = 1,\n size = 'medium',\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const {\n items\n } = usePagination(_extends({}, props, {\n componentName: 'Pagination'\n }));\n\n const ownerState = _extends({}, props, {\n boundaryCount,\n color,\n count,\n defaultPage,\n disabled,\n getItemAriaLabel,\n hideNextButton,\n hidePrevButton,\n renderItem,\n shape,\n showFirstButton,\n showLastButton,\n siblingCount,\n size,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(PaginationRoot, _extends({\n \"aria-label\": \"pagination navigation\",\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: /*#__PURE__*/_jsx(PaginationUl, {\n className: classes.ul,\n ownerState: ownerState,\n children: items.map((item, index) => /*#__PURE__*/_jsx(\"li\", {\n children: renderItem(_extends({}, item, {\n color,\n 'aria-label': getItemAriaLabel(item.type, item.page, item.selected),\n shape,\n size,\n variant\n }))\n }, index))\n })\n }));\n}); // @default tags synced with default values from usePagination\n\nprocess.env.NODE_ENV !== \"production\" ? Pagination.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * Number of always visible pages at the beginning and end.\n * @default 1\n */\n boundaryCount: integerPropType,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The active color.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).\n * @default 'standard'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['primary', 'secondary', 'standard']), PropTypes.string]),\n\n /**\n * The total number of pages.\n * @default 1\n */\n count: integerPropType,\n\n /**\n * The page selected by default when the component is uncontrolled.\n * @default 1\n */\n defaultPage: integerPropType,\n\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n\n /**\n * Accepts a function which returns a string value that provides a user-friendly name for the current page.\n * This is important for screen reader users.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @param {string} type The link or button type to format ('page' | 'first' | 'last' | 'next' | 'previous'). Defaults to 'page'.\n * @param {number} page The page number to format.\n * @param {bool} selected If true, the current page is selected.\n * @returns {string}\n */\n getItemAriaLabel: PropTypes.func,\n\n /**\n * If `true`, hide the next-page button.\n * @default false\n */\n hideNextButton: PropTypes.bool,\n\n /**\n * If `true`, hide the previous-page button.\n * @default false\n */\n hidePrevButton: PropTypes.bool,\n\n /**\n * Callback fired when the page is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * @param {number} page The page selected.\n */\n onChange: PropTypes.func,\n\n /**\n * The current page.\n */\n page: integerPropType,\n\n /**\n * Render the item.\n * @param {PaginationRenderItemParams} params The props to spread on a PaginationItem.\n * @returns {ReactNode}\n * @default (item) => \n */\n renderItem: PropTypes.func,\n\n /**\n * The shape of the pagination items.\n * @default 'circular'\n */\n shape: PropTypes.oneOf(['circular', 'rounded']),\n\n /**\n * If `true`, show the first-page button.\n * @default false\n */\n showFirstButton: PropTypes.bool,\n\n /**\n * If `true`, show the last-page button.\n * @default false\n */\n showLastButton: PropTypes.bool,\n\n /**\n * Number of always visible pages before and after the current page.\n * @default 1\n */\n siblingCount: integerPropType,\n\n /**\n * The size of the component.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['small', 'medium', 'large']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['outlined', 'text']), PropTypes.string])\n} : void 0;\nexport default Pagination;","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { Box, Pagination, Tooltip } from '@mui/material';\nimport React, { useEffect } from 'react';\nimport { StyledLegendPagination, StyledSeriesIndicator, StyledSeriesLabel } from '../styles';\nexport var ToggleSeries = function ToggleSeries(_ref) {\n var _outerBoxRef$current2;\n\n var allData = _ref.allData,\n setData = _ref.setData,\n allSeries = _ref.allSeries,\n setSeries = _ref.setSeries,\n setAuxSeries = _ref.setAuxSeries,\n colorScale = _ref.colorScale,\n leftPadding = _ref.leftPadding,\n hidePaginationCount = _ref.hidePaginationCount,\n disableToggle = _ref.disableToggle,\n categoryAxis = _ref.categoryAxis,\n toggleSeriesWidth = _ref.toggleSeriesWidth;\n var maxWidth = toggleSeriesWidth || 125;\n var outerBoxRef = React.useRef();\n\n var _React$useState = React.useState(1),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n currentPage = _React$useState2[0],\n setCurrentPage = _React$useState2[1];\n\n var _React$useState3 = React.useState(1),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n totalPages = _React$useState4[0],\n setTotalPages = _React$useState4[1];\n\n var _React$useState5 = React.useState(null),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n hoveredEl = _React$useState6[0],\n setHoveredEl = _React$useState6[1];\n\n var _React$useState7 = React.useState((allSeries === null || allSeries === void 0 ? void 0 : allSeries.length) || 1),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n legendsPerPage = _React$useState8[0],\n setLegendsPerPage = _React$useState8[1];\n\n var _React$useState9 = React.useState(allSeries === null || allSeries === void 0 ? void 0 : allSeries.filter(function (s) {\n return !s.initHidden;\n })),\n _React$useState10 = _slicedToArray(_React$useState9, 2),\n activeSeries = _React$useState10[0],\n setActiveSeries = _React$useState10[1];\n\n useEffect(function () {\n if (activeSeries) {\n setSeries(activeSeries.filter(function (_ref2) {\n var aux = _ref2.aux;\n return !aux;\n }).map(function (_ref3) {\n var key = _ref3.key;\n return key;\n }));\n setAuxSeries(activeSeries.filter(function (_ref4) {\n var aux = _ref4.aux;\n return aux;\n }).map(function (_ref5) {\n var key = _ref5.key;\n return key;\n }));\n var newData = allData.map(function (datum) {\n var newDatum = _defineProperty({}, categoryAxis, datum[categoryAxis]);\n\n activeSeries.forEach(function (_ref6) {\n var key = _ref6.key;\n return newDatum[key] = datum[key];\n });\n return newDatum;\n });\n setData(newData);\n }\n }, [activeSeries]);\n\n var toggleSeriesKey = function toggleSeriesKey(key) {\n var shouldRemove = !!(activeSeries !== null && activeSeries !== void 0 && activeSeries.some(function (s) {\n return s.key === key;\n }));\n var insertSeries = allSeries === null || allSeries === void 0 ? void 0 : allSeries.find(function (s) {\n return s.key === key;\n });\n\n if (shouldRemove) {\n setActiveSeries(activeSeries === null || activeSeries === void 0 ? void 0 : activeSeries.filter(function (s) {\n return s.key !== key;\n }));\n } else if (insertSeries) {\n setActiveSeries([].concat(_toConsumableArray(activeSeries || []), [insertSeries]).sort(function (a, b) {\n return a.key.localeCompare(b.key);\n }));\n }\n };\n\n useEffect(function () {\n setActiveSeries(allSeries === null || allSeries === void 0 ? void 0 : allSeries.filter(function (s) {\n return !s.initHidden;\n }));\n }, [allSeries]);\n useEffect(function () {\n var _outerBoxRef$current;\n\n var outerBoxWidth = (_outerBoxRef$current = outerBoxRef.current) === null || _outerBoxRef$current === void 0 ? void 0 : _outerBoxRef$current.clientWidth;\n\n if (outerBoxWidth && allSeries !== null && allSeries !== void 0 && allSeries.length) {\n var seriesCount = allSeries.length;\n var tempLegendsCount = Math.floor(outerBoxWidth / (maxWidth + 16)) * 2 || 1; // 16 => margin in each legend\n\n var tempTotalPages = Math.ceil(seriesCount / tempLegendsCount);\n setLegendsPerPage(tempLegendsCount);\n setTotalPages(tempTotalPages);\n\n if (currentPage > tempTotalPages) {\n setCurrentPage(tempTotalPages);\n }\n }\n }, [(_outerBoxRef$current2 = outerBoxRef.current) === null || _outerBoxRef$current2 === void 0 ? void 0 : _outerBoxRef$current2.clientWidth, allSeries, currentPage]);\n return /*#__PURE__*/React.createElement(\"div\", {\n style: {\n display: 'flex',\n alignItems: 'center'\n }\n }, /*#__PURE__*/React.createElement(Box, {\n ref: outerBoxRef,\n sx: {\n justifyContent: 'center',\n flexWrap: 'wrap',\n display: 'flex',\n margin: \"0 10px 0 \".concat(leftPadding || 10, \"px\"),\n maxHeight: 64,\n overflow: 'hidden',\n width: '100%'\n }\n }, allSeries === null || allSeries === void 0 ? void 0 : allSeries.map(function (_ref7, i) {\n var key = _ref7.key,\n label = _ref7.label,\n aux = _ref7.aux;\n\n if (i < (currentPage - 1) * legendsPerPage || i >= currentPage * legendsPerPage) {\n return;\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n key: key,\n onMouseOver: function onMouseOver() {\n return setHoveredEl(i);\n },\n onMouseLeave: function onMouseLeave() {\n return setHoveredEl(null);\n }\n }, /*#__PURE__*/React.createElement(Tooltip, {\n arrow: true,\n title: label || key\n }, /*#__PURE__*/React.createElement(Box, {\n sx: {\n display: 'flex',\n alignItems: 'center',\n margin: 1,\n gap: 1,\n cursor: disableToggle ? 'default' : 'pointer',\n width: maxWidth\n },\n onClick: function onClick() {\n return disableToggle ? null : toggleSeriesKey(key);\n }\n }, /*#__PURE__*/React.createElement(StyledSeriesIndicator, {\n $color: colorScale(key),\n $inactive: !(activeSeries !== null && activeSeries !== void 0 && activeSeries.some(function (s) {\n return s.key === key;\n })),\n $aux: aux\n }), /*#__PURE__*/React.createElement(StyledSeriesLabel, {\n $inactive: !(activeSeries !== null && activeSeries !== void 0 && activeSeries.some(function (s) {\n return s.key === key;\n })),\n $hovered: hoveredEl === i\n }, label || key))));\n })), totalPages > 1 && /*#__PURE__*/React.createElement(StyledLegendPagination, {\n $hidePaginationCount: !!hidePaginationCount\n }, /*#__PURE__*/React.createElement(Pagination, {\n count: totalPages,\n page: currentPage,\n onChange: function onChange(e, pg) {\n return setCurrentPage(pg);\n },\n siblingCount: 0,\n boundaryCount: 0\n })));\n};\n//# sourceMappingURL=ToggleSeries.js.map","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport { isMouseEvent, isTouchEvent } from './typeGuards';\nvar DEFAULT_POINT = {\n x: 0,\n y: 0\n};\nexport default function getXAndYFromEvent(event) {\n if (!event) return _extends({}, DEFAULT_POINT);\n if (isTouchEvent(event)) {\n return event.changedTouches.length > 0 ? {\n x: event.changedTouches[0].clientX,\n y: event.changedTouches[0].clientY\n } : _extends({}, DEFAULT_POINT);\n }\n if (isMouseEvent(event)) {\n return {\n x: event.clientX,\n y: event.clientY\n };\n }\n\n // for focus events try to extract the center position of the target element\n var target = event == null ? void 0 : event.target;\n var boundingClientRect = target && 'getBoundingClientRect' in target ? target.getBoundingClientRect() : null;\n if (!boundingClientRect) return _extends({}, DEFAULT_POINT);\n return {\n x: boundingClientRect.x + boundingClientRect.width / 2,\n y: boundingClientRect.y + boundingClientRect.height / 2\n };\n}","import { Point } from '@visx/point';\nimport { isSVGElement, isSVGGraphicsElement, isSVGSVGElement } from './typeGuards';\nimport getXAndYFromEvent from './getXAndYFromEvent';\nexport default function localPoint(node, event) {\n if (!node || !event) return null;\n var coords = getXAndYFromEvent(event);\n\n // find top-most SVG\n var svg = isSVGElement(node) ? node.ownerSVGElement : node;\n var screenCTM = isSVGGraphicsElement(svg) ? svg.getScreenCTM() : null;\n if (isSVGSVGElement(svg) && screenCTM) {\n var point = svg.createSVGPoint();\n point.x = coords.x;\n point.y = coords.y;\n point = point.matrixTransform(screenCTM.inverse());\n return new Point({\n x: point.x,\n y: point.y\n });\n }\n\n // fall back to bounding box\n var rect = node.getBoundingClientRect();\n return new Point({\n x: coords.x - rect.left - node.clientLeft,\n y: coords.y - rect.top - node.clientTop\n });\n}","export function isElement(elem) {\n return !!elem && elem instanceof Element;\n}\n\n// functional definition of isSVGElement. Note that SVGSVGElements are HTMLElements\nexport function isSVGElement(elem) {\n return !!elem && (elem instanceof SVGElement || 'ownerSVGElement' in elem);\n}\n\n// functional definition of SVGGElement\nexport function isSVGSVGElement(elem) {\n return !!elem && 'createSVGPoint' in elem;\n}\nexport function isSVGGraphicsElement(elem) {\n return !!elem && 'getScreenCTM' in elem;\n}\n\n// functional definition of TouchEvent\nexport function isTouchEvent(event) {\n return !!event && 'changedTouches' in event;\n}\n\n// functional definition of MouseEvent\nexport function isMouseEvent(event) {\n return !!event && 'clientX' in event;\n}\n\n// functional definition of event\nexport function isEvent(event) {\n return !!event && (event instanceof Event || 'nativeEvent' in event && event.nativeEvent instanceof Event);\n}","import localPointGeneric from './localPointGeneric';\nimport { isElement, isEvent } from './typeGuards';\n\n/** Handles two signatures for backwards compatibility. */\nexport default function localPoint(nodeOrEvent, maybeEvent) {\n // localPoint(node, event)\n if (isElement(nodeOrEvent) && maybeEvent) {\n return localPointGeneric(nodeOrEvent, maybeEvent);\n }\n // localPoint(event)\n if (isEvent(nodeOrEvent)) {\n var event = nodeOrEvent;\n var node = event.target;\n if (node) return localPointGeneric(node, event);\n }\n return null;\n}","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width === undefined ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\n\nexport default {\n \"%\": (x, p) => (x * 100).toFixed(p),\n \"b\": (x) => Math.round(x).toString(2),\n \"c\": (x) => x + \"\",\n \"d\": formatDecimal,\n \"e\": (x, p) => x.toExponential(p),\n \"f\": (x, p) => x.toFixed(p),\n \"g\": (x, p) => x.toPrecision(p),\n \"o\": (x) => Math.round(x).toString(8),\n \"p\": (x, p) => formatRounded(x * 100, p),\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": (x) => Math.round(x).toString(16).toUpperCase(),\n \"x\": (x) => Math.round(x).toString(16)\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport {prefixExponent} from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\n\nvar map = Array.prototype.map,\n prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"−\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : minus) : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function tickFormat(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","import { scaleLinear } from 'd3-scale';\nimport scaleOperator from '../operators/scaleOperator';\nexport var updateLinearScale = scaleOperator('domain', 'range', 'reverse', 'clamp', 'interpolate', 'nice', 'round', 'zero');\nexport default function createLinearScale(config) {\n return updateLinearScale(scaleLinear(), config);\n}","import {range as sequence} from \"d3-array\";\nimport {initRange} from \"./init.js\";\nimport ordinal from \"./ordinal.js\";\n\nexport default function band() {\n var scale = ordinal().unknown(undefined),\n domain = scale.domain,\n ordinalRange = scale.range,\n r0 = 0,\n r1 = 1,\n step,\n bandwidth,\n round = false,\n paddingInner = 0,\n paddingOuter = 0,\n align = 0.5;\n\n delete scale.unknown;\n\n function rescale() {\n var n = domain().length,\n reverse = r1 < r0,\n start = reverse ? r1 : r0,\n stop = reverse ? r0 : r1;\n step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);\n if (round) step = Math.floor(step);\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);\n var values = sequence(n).map(function(i) { return start + step * i; });\n return ordinalRange(reverse ? values.reverse() : values);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? ([r0, r1] = _, r0 = +r0, r1 = +r1, rescale()) : [r0, r1];\n };\n\n scale.rangeRound = function(_) {\n return [r0, r1] = _, r0 = +r0, r1 = +r1, round = true, rescale();\n };\n\n scale.bandwidth = function() {\n return bandwidth;\n };\n\n scale.step = function() {\n return step;\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, rescale()) : round;\n };\n\n scale.padding = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, paddingOuter = +_), rescale()) : paddingInner;\n };\n\n scale.paddingInner = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, _), rescale()) : paddingInner;\n };\n\n scale.paddingOuter = function(_) {\n return arguments.length ? (paddingOuter = +_, rescale()) : paddingOuter;\n };\n\n scale.align = function(_) {\n return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;\n };\n\n scale.copy = function() {\n return band(domain(), [r0, r1])\n .round(round)\n .paddingInner(paddingInner)\n .paddingOuter(paddingOuter)\n .align(align);\n };\n\n return initRange.apply(rescale(), arguments);\n}\n\nfunction pointish(scale) {\n var copy = scale.copy;\n\n scale.padding = scale.paddingOuter;\n delete scale.paddingInner;\n delete scale.paddingOuter;\n\n scale.copy = function() {\n return pointish(copy());\n };\n\n return scale;\n}\n\nexport function point() {\n return pointish(band.apply(null, arguments).paddingInner(1));\n}\n","export default function(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n}\n","import { scaleBand } from 'd3-scale';\nimport scaleOperator from '../operators/scaleOperator';\nexport var updateBandScale = scaleOperator('domain', 'range', 'reverse', 'align', 'padding', 'round');\nexport default function createBandScale(config) {\n return updateBandScale(scaleBand(), config);\n}","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { localPoint } from '@visx/event';\nimport { scaleBand, scaleLinear } from '@visx/scale';\nimport { bisector } from 'd3-array';\nimport * as React from 'react';\nimport { formatDate, getInterval as intervalUtil } from './dateUtils';\n\n// Strategy for Horizontal Bar Charts\nvar HorizontalStrategy = function HorizontalStrategy(_ref) {\n var arbitraryX = _ref.arbitraryX,\n stacked = _ref.stacked;\n var categoryAxis = 'y';\n\n var getMaxTooltipHeight = function getMaxTooltipHeight() {\n return undefined;\n };\n\n var getDate = function getDate(d) {\n return new Date(d.y);\n };\n\n var getValue = function getValue(d) {\n return d.x;\n };\n\n var bisectDate = bisector(getDate).center;\n\n var getCategory = function getCategory(d) {\n return arbitraryX ? d === null || d === void 0 ? void 0 : d.y : getDate(d);\n };\n\n var getDataIndexFromEvent = function getDataIndexFromEvent(_ref2) {\n var event = _ref2.event,\n data = _ref2.data,\n topPadding = _ref2.topPadding,\n yScale = _ref2.yScale;\n\n var _ref3 = localPoint(event) || {\n y: 0\n },\n y = _ref3.y;\n\n var rangeValue = y - topPadding;\n var y0 = yScale.domain()[Math.min(Math.round((rangeValue - yScale.step() / 2) / yScale.step()), yScale.domain().length - 1)];\n\n if (arbitraryX) {\n return data.findIndex(function (d) {\n return d.y === y0;\n });\n }\n\n var bisectIndex = bisectDate(data, y0, 0);\n var index = !bisectIndex ? 0 : bisectIndex;\n var invertIndex = data.length - 1 - index;\n return invertIndex;\n };\n\n var getTooltipData = function getTooltipData(_ref4) {\n var index = _ref4.index,\n data = _ref4.data,\n xScaleBand = _ref4.xScaleBand,\n yScale = _ref4.yScale,\n sumPositiveValues = _ref4.sumPositiveValues;\n var d = data[index];\n\n var dCopy = _objectSpread({}, d);\n\n delete dCopy.y;\n var yValues = Object.values(dCopy);\n return {\n tooltipData: index,\n tooltipTop: yScale(getCategory(d)) + yScale.step() / 2,\n tooltipLeft: xScaleBand(stacked ? sumPositiveValues(d, index, data, true) : Math.max.apply(Math, _toConsumableArray(yValues)))\n };\n };\n\n var useGetXScale = function useGetXScale(_ref5) {\n var hasNegativeValue = _ref5.hasNegativeValue,\n sumNegativeValues = _ref5.sumNegativeValues,\n data = _ref5.data,\n sumPositiveValues = _ref5.sumPositiveValues,\n allDataValues = _ref5.allDataValues,\n xMax = _ref5.xMax,\n leftPadding = _ref5.leftPadding;\n return scaleLinear({\n domain: stacked ? [hasNegativeValue ? Math.min.apply(Math, _toConsumableArray(data.map(sumNegativeValues))) : 0, Math.max.apply(Math, _toConsumableArray(data.map(sumPositiveValues)))] : [hasNegativeValue ? Math.min.apply(Math, _toConsumableArray(allDataValues)) : 0, Math.max.apply(Math, _toConsumableArray(allDataValues))],\n range: [0, xMax - leftPadding - 16],\n nice: true\n });\n };\n\n var useGetYScale = function useGetYScale(_ref6) {\n var data = _ref6.data,\n height = _ref6.height,\n topPadding = _ref6.topPadding,\n bottomPadding = _ref6.bottomPadding;\n return scaleBand({\n domain: data.map(getCategory),\n range: [height - topPadding - bottomPadding, 0],\n padding: 0.1\n });\n };\n\n var getInterval = function getInterval(data) {\n var _data$, _data$2;\n\n return intervalUtil((_data$ = data[0]) === null || _data$ === void 0 ? void 0 : _data$.y, (_data$2 = data[1]) === null || _data$2 === void 0 ? void 0 : _data$2.y);\n };\n\n var getLeftPadContentMax = function getLeftPadContentMax(_ref7) {\n var _data$3;\n\n var data = _ref7.data,\n yFormatter = _ref7.yFormatter;\n return yFormatter((_data$3 = data[0]) === null || _data$3 === void 0 ? void 0 : _data$3.y).length;\n };\n\n var getXFormatter = function getXFormatter(_ref8) {\n var locale = _ref8.locale,\n _ref8$numberFormatOpt = _ref8.numberFormatOptions,\n numberFormatOptions = _ref8$numberFormatOpt === void 0 ? {} : _ref8$numberFormatOpt;\n return function (item) {\n return new Intl.NumberFormat(locale, _objectSpread(_objectSpread({}, numberFormatOptions), {}, {\n notation: 'compact',\n compactDisplay: 'short'\n })).format(item);\n };\n };\n\n var getYFormatter = function getYFormatter(_ref9) {\n var locale = _ref9.locale,\n interval = _ref9.interval;\n return function (item) {\n return arbitraryX ? item : formatDate(new Date(item).toISOString(), interval, locale);\n };\n };\n\n var getBarWidth = function getBarWidth(_ref10) {\n var _yScale$bandwidth;\n\n var yScale = _ref10.yScale;\n return ((_yScale$bandwidth = yScale.bandwidth) === null || _yScale$bandwidth === void 0 ? void 0 : _yScale$bandwidth.call(yScale)) || 0;\n };\n\n return {\n getCategory: getCategory,\n getDataIndexFromEvent: getDataIndexFromEvent,\n useGetXScale: useGetXScale,\n useGetYScale: useGetYScale,\n getInterval: getInterval,\n getLeftPadContentMax: getLeftPadContentMax,\n getValue: getValue,\n getDate: getDate,\n getXFormatter: getXFormatter,\n getYFormatter: getYFormatter,\n defaultSeries: [{\n key: 'x'\n }],\n categoryAxis: categoryAxis,\n getTooltipData: getTooltipData,\n getMaxTooltipHeight: getMaxTooltipHeight,\n getBarWidth: getBarWidth\n };\n}; // Strategy for Vertical Bar & Line Charts\n\n\nvar VerticalStrategy = function VerticalStrategy(_ref11) {\n var arbitraryX = _ref11.arbitraryX,\n type = _ref11.type,\n stacked = _ref11.stacked;\n var categoryAxis = 'x';\n\n var getMaxTooltipHeight = function getMaxTooltipHeight(_ref12) {\n var height = _ref12.height,\n tooltipTop = _ref12.tooltipTop,\n topPadding = _ref12.topPadding;\n return height - (tooltipTop || 0) - (topPadding || 0);\n };\n\n var getDate = function getDate(d) {\n return new Date(d.x);\n };\n\n var getValue = function getValue(d) {\n return d.y;\n };\n\n var bisectDate = bisector(getDate).center;\n\n var getCategory = function getCategory(d) {\n return arbitraryX ? d === null || d === void 0 ? void 0 : d.x : getDate(d);\n };\n\n var getDataIndexFromEvent = function getDataIndexFromEvent(_ref13) {\n var event = _ref13.event,\n leftPadding = _ref13.leftPadding,\n xScale = _ref13.xScale,\n xScaleBand = _ref13.xScaleBand,\n data = _ref13.data;\n\n var _ref14 = localPoint(event) || {\n x: 0\n },\n x = _ref14.x;\n\n var rangeValue = x - leftPadding;\n var x0 = type === 'bar' ? xScaleBand.domain()[Math.min(Math.round((rangeValue - xScaleBand.step() / 2) / xScaleBand.step()), xScaleBand.domain().length - 1)] : xScale.invert(rangeValue);\n\n if (arbitraryX) {\n return data.findIndex(function (d) {\n return d.x === x0;\n });\n }\n\n var bisectIndex = bisectDate(data, x0, 0);\n var index = !bisectIndex ? 0 : bisectIndex;\n return index;\n };\n\n var getTooltipData = function getTooltipData(_ref15) {\n var index = _ref15.index,\n data = _ref15.data,\n xScaleBand = _ref15.xScaleBand,\n xScale = _ref15.xScale,\n yScale = _ref15.yScale,\n sumPositiveValues = _ref15.sumPositiveValues;\n var d = data[index];\n\n var dCopy = _objectSpread({}, d);\n\n delete dCopy.x;\n var yValues = Object.values(dCopy);\n return {\n tooltipData: index,\n tooltipLeft: type === 'bar' ? xScaleBand(getCategory(d)) + xScaleBand.step() / 2 : xScale(getDate(d)),\n tooltipTop: yScale(stacked ? sumPositiveValues(d, index, data, true) : Math.max.apply(Math, _toConsumableArray(yValues)))\n };\n };\n\n var useGetXScale = function useGetXScale(_ref16) {\n var data = _ref16.data,\n leftPadding = _ref16.leftPadding,\n xMax = _ref16.xMax,\n combinedSeries = _ref16.combinedSeries;\n return React.useMemo(function () {\n return scaleBand({\n domain: data.map(getCategory),\n range: [0, xMax - leftPadding],\n padding: 0.1\n });\n }, [xMax, data, combinedSeries]);\n };\n\n var useGetYScale = function useGetYScale(_ref17) {\n var hasNegativeValue = _ref17.hasNegativeValue,\n sumNegativeValues = _ref17.sumNegativeValues,\n data = _ref17.data,\n sumPositiveValues = _ref17.sumPositiveValues,\n allDataValues = _ref17.allDataValues,\n bottomPadding = _ref17.bottomPadding,\n topPadding = _ref17.topPadding,\n height = _ref17.height,\n combinedSeries = _ref17.combinedSeries;\n return React.useMemo(function () {\n return scaleLinear({\n domain: stacked ? [hasNegativeValue ? Math.min.apply(Math, _toConsumableArray(data.map(sumNegativeValues))) : 0, Math.max.apply(Math, _toConsumableArray(data.map(sumPositiveValues)))] : [hasNegativeValue ? Math.min.apply(Math, _toConsumableArray(allDataValues)) : 0, Math.max.apply(Math, _toConsumableArray(allDataValues))],\n range: [height - bottomPadding - topPadding, 0],\n nice: true\n });\n }, [height, data, hasNegativeValue, sumNegativeValues, sumPositiveValues, stacked, combinedSeries]);\n };\n\n var getInterval = function getInterval(data) {\n var _data$4, _data$5;\n\n return intervalUtil((_data$4 = data[0]) === null || _data$4 === void 0 ? void 0 : _data$4.x, (_data$5 = data[1]) === null || _data$5 === void 0 ? void 0 : _data$5.x);\n };\n\n var getLeftPadContentMax = function getLeftPadContentMax(_ref18) {\n var yFormatter = _ref18.yFormatter,\n allDataValues = _ref18.allDataValues;\n var minYValueString = yFormatter(Math.min.apply(Math, _toConsumableArray(allDataValues)));\n var maxYValueString = yFormatter(Math.max.apply(Math, _toConsumableArray(allDataValues)));\n var max = Math.max(minYValueString.length, maxYValueString.length);\n return max;\n };\n\n var getXFormatter = function getXFormatter(_ref19) {\n var locale = _ref19.locale,\n interval = _ref19.interval;\n return function (item) {\n return arbitraryX ? item : formatDate(new Date(item).toISOString(), interval, locale);\n };\n };\n\n var getYFormatter = function getYFormatter(_ref20) {\n var locale = _ref20.locale,\n _ref20$numberFormatOp = _ref20.numberFormatOptions,\n numberFormatOptions = _ref20$numberFormatOp === void 0 ? {} : _ref20$numberFormatOp;\n return function (item) {\n return new Intl.NumberFormat(locale, _objectSpread(_objectSpread({}, numberFormatOptions), {}, {\n notation: 'compact',\n compactDisplay: 'short'\n })).format(item);\n };\n };\n\n var getBarWidth = function getBarWidth(_ref21) {\n var _xScaleBand$bandwidth;\n\n var xScaleBand = _ref21.xScaleBand;\n return ((_xScaleBand$bandwidth = xScaleBand.bandwidth) === null || _xScaleBand$bandwidth === void 0 ? void 0 : _xScaleBand$bandwidth.call(xScaleBand)) || 0;\n };\n\n return {\n getCategory: getCategory,\n getDataIndexFromEvent: getDataIndexFromEvent,\n useGetXScale: useGetXScale,\n useGetYScale: useGetYScale,\n getInterval: getInterval,\n getLeftPadContentMax: getLeftPadContentMax,\n getValue: getValue,\n getDate: getDate,\n getXFormatter: getXFormatter,\n getYFormatter: getYFormatter,\n defaultSeries: [{\n key: 'y'\n }],\n categoryAxis: categoryAxis,\n getTooltipData: getTooltipData,\n getMaxTooltipHeight: getMaxTooltipHeight,\n getBarWidth: getBarWidth\n };\n};\n\nexport var useChartStrategy = function useChartStrategy(_ref22) {\n var type = _ref22.type,\n orientation = _ref22.orientation,\n arbitraryX = _ref22.arbitraryX,\n stacked = _ref22.stacked;\n return orientation === 'vertical' || type === 'line' ? VerticalStrategy({\n arbitraryX: arbitraryX,\n stacked: stacked,\n type: type\n }) : HorizontalStrategy({\n arbitraryX: arbitraryX,\n stacked: stacked\n });\n};\n//# sourceMappingURL=hooks.js.map","export default function getBandwidth(scale) {\n if ('bandwidth' in scale) {\n return scale.bandwidth();\n }\n var range = scale.range();\n var domain = scale.domain();\n return Math.abs(range[range.length - 1] - range[0]) / domain.length;\n}","var _excluded = [\"data\", \"className\", \"top\", \"left\", \"x\", \"y0\", \"y0Scale\", \"y1Scale\", \"xScale\", \"color\", \"keys\", \"width\", \"children\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from 'react';\nimport cx from 'classnames';\nimport { Group } from '@visx/group';\nimport Bar from './Bar';\nimport getBandwidth from '../util/getBandwidth';\nexport default function BarGroupHorizontal(_ref) {\n var data = _ref.data,\n className = _ref.className,\n top = _ref.top,\n left = _ref.left,\n _ref$x = _ref.x,\n x = _ref$x === void 0 ? function /** val */ () {\n return 0;\n } : _ref$x,\n y0 = _ref.y0,\n y0Scale = _ref.y0Scale,\n y1Scale = _ref.y1Scale,\n xScale = _ref.xScale,\n color = _ref.color,\n keys = _ref.keys,\n width = _ref.width,\n children = _ref.children,\n restProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n var barHeight = getBandwidth(y1Scale);\n var barGroups = data.map(function (group, i) {\n return {\n index: i,\n y0: y0Scale(y0(group)) || 0,\n bars: keys.map(function (key, j) {\n var value = group[key];\n return {\n index: j,\n key: key,\n value: value,\n height: barHeight,\n x: x(value) || 0,\n y: y1Scale(key) || 0,\n color: color(key, j),\n width: xScale(value) || 0\n };\n })\n };\n });\n if (children) return /*#__PURE__*/React.createElement(React.Fragment, null, children(barGroups));\n return /*#__PURE__*/React.createElement(Group, {\n className: cx('visx-bar-group-horizontal', className),\n top: top,\n left: left\n }, barGroups.map(function (barGroup) {\n return /*#__PURE__*/React.createElement(Group, {\n key: \"bar-group-\" + barGroup.index + \"-\" + barGroup.y0,\n top: barGroup.y0\n }, barGroup.bars.map(function (bar) {\n return /*#__PURE__*/React.createElement(Bar, _extends({\n key: \"bar-group-bar-\" + barGroup.index + \"-\" + bar.index + \"-\" + bar.value + \"-\" + bar.key,\n x: bar.x,\n y: bar.y,\n width: bar.width,\n height: bar.height,\n fill: bar.color\n }, restProps));\n }));\n }));\n}","import { Group } from '@visx/group';\nimport { scaleBand } from '@visx/scale';\nimport { BarGroupHorizontal } from '@visx/shape';\nimport * as React from 'react';\nexport var HorizontalBars = function HorizontalBars(_ref) {\n var data = _ref.data,\n series = _ref.series,\n width = _ref.width,\n getCategory = _ref.getCategory,\n yScale = _ref.yScale,\n xScaleBand = _ref.xScaleBand,\n colorScale = _ref.colorScale,\n arbitraryX = _ref.arbitraryX,\n multiColors = _ref.multiColors;\n return /*#__PURE__*/React.createElement(BarGroupHorizontal, {\n data: data,\n keys: series,\n width: width,\n y0: getCategory,\n y0Scale: yScale,\n y1Scale: scaleBand({\n domain: series,\n range: [0, yScale.step()],\n padding: 0.1\n }),\n xScale: xScaleBand,\n color: colorScale\n }, function (barGroups) {\n return barGroups.map(function (barGroup, i) {\n return /*#__PURE__*/React.createElement(Group, {\n key: \"bar-group-\".concat(barGroup.index, \"-\").concat(barGroup.y0),\n top: barGroup.y0\n }, barGroup.bars.map(function (bar) {\n return /*#__PURE__*/React.createElement(\"rect\", {\n key: \"bar-group-bar-\".concat(barGroup.index, \"-\").concat(bar.index, \"-\").concat(bar.value, \"-\").concat(bar.key),\n x: bar.value > 0 ? xScaleBand(0) : xScaleBand(bar.value),\n y: bar.y,\n width: xScaleBand(Math.abs(bar.value)) - xScaleBand(0),\n height: bar.height,\n fill: arbitraryX && barGroups.length > 1 ? multiColors[i] : bar.color\n });\n }));\n });\n });\n};\n//# sourceMappingURL=HorizontalBars.js.map","var _excluded = [\"data\", \"className\", \"top\", \"left\", \"x0\", \"x0Scale\", \"x1Scale\", \"yScale\", \"color\", \"keys\", \"height\", \"children\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from 'react';\nimport cx from 'classnames';\nimport { Group } from '@visx/group';\nimport Bar from './Bar';\nimport getBandwidth from '../util/getBandwidth';\n/**\n * Generates bar groups as an array of objects and renders ``s for each datum grouped by `key`. A general setup might look like this:\n *\n * ```js\n * const data = [{\n * date: date1,\n * key1: value,\n * key2: value,\n * key3: value\n * }, {\n * date: date2,\n * key1: value,\n * key2: value,\n * key3: value,\n * }];\n *\n * const x0 = d => d.date;\n * const keys = [key1, key2, key3];\n *\n * const x0Scale = scaleBand({\n * domain: data.map(x0),\n * padding: 0.2\n * });\n * const x1Scale = scaleBand({\n * domain: keys,\n * padding: 0.1\n * });\n * const yScale = scaleLinear({\n * domain: [0, Math.max(...data.map(d => Math.max(...keys.map(key => d[key]))))]\n * });\n * const color = scaleOrdinal({\n * domain: keys,\n * range: [blue, green, purple]\n * });\n * ```\n *\n * Example: [https://airbnb.io/visx/bargroup](https://airbnb.io/visx/bargroup)\n */\nexport default function BarGroup(_ref) {\n var data = _ref.data,\n className = _ref.className,\n top = _ref.top,\n left = _ref.left,\n x0 = _ref.x0,\n x0Scale = _ref.x0Scale,\n x1Scale = _ref.x1Scale,\n yScale = _ref.yScale,\n color = _ref.color,\n keys = _ref.keys,\n height = _ref.height,\n children = _ref.children,\n restProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n var barWidth = getBandwidth(x1Scale);\n var barGroups = data.map(function (group, i) {\n return {\n index: i,\n x0: x0Scale(x0(group)),\n bars: keys.map(function (key, j) {\n var value = group[key];\n return {\n index: j,\n key: key,\n value: value,\n width: barWidth,\n x: x1Scale(key) || 0,\n y: yScale(value) || 0,\n color: color(key, j),\n height: height - (yScale(value) || 0)\n };\n })\n };\n });\n if (children) return /*#__PURE__*/React.createElement(React.Fragment, null, children(barGroups));\n return /*#__PURE__*/React.createElement(Group, {\n className: cx('visx-bar-group', className),\n top: top,\n left: left\n }, barGroups.map(function (barGroup) {\n return /*#__PURE__*/React.createElement(Group, {\n key: \"bar-group-\" + barGroup.index + \"-\" + barGroup.x0,\n left: barGroup.x0\n }, barGroup.bars.map(function (bar) {\n return /*#__PURE__*/React.createElement(Bar, _extends({\n key: \"bar-group-bar-\" + barGroup.index + \"-\" + bar.index + \"-\" + bar.value + \"-\" + bar.key,\n x: bar.x,\n y: bar.y,\n width: bar.width,\n height: bar.height,\n fill: bar.color\n }, restProps));\n }));\n }));\n}","import { Group } from '@visx/group';\nimport { scaleBand } from '@visx/scale';\nimport { BarGroup } from '@visx/shape';\nimport * as React from 'react';\nexport var VerticalBars = function VerticalBars(_ref) {\n var data = _ref.data,\n series = _ref.series,\n height = _ref.height,\n getCategory = _ref.getCategory,\n xScaleBand = _ref.xScaleBand,\n yScale = _ref.yScale,\n colorScale = _ref.colorScale,\n arbitraryX = _ref.arbitraryX,\n multiColors = _ref.multiColors;\n return /*#__PURE__*/React.createElement(BarGroup, {\n data: data,\n keys: series,\n height: height,\n x0: getCategory,\n x0Scale: xScaleBand,\n x1Scale: scaleBand({\n domain: series,\n range: [0, xScaleBand.step()],\n padding: 0.1\n }),\n yScale: yScale,\n color: colorScale\n }, function (barGroups) {\n return barGroups.map(function (barGroup, i) {\n return /*#__PURE__*/React.createElement(Group, {\n key: \"bar-group-\".concat(barGroup.index, \"-\").concat(barGroup.x0),\n left: barGroup.x0\n }, barGroup.bars.map(function (bar) {\n return /*#__PURE__*/React.createElement(\"rect\", {\n key: \"bar-group-bar-\".concat(barGroup.index, \"-\").concat(bar.index, \"-\").concat(bar.value, \"-\").concat(bar.key),\n x: bar.x,\n y: bar.value < 0 ? yScale(0) : yScale(bar.value),\n width: bar.width,\n height: yScale(0) - yScale(Math.abs(bar.value)),\n fill: arbitraryX && barGroups.length > 1 ? multiColors[i] : bar.color\n });\n }));\n });\n });\n};\n//# sourceMappingURL=VerticalBars.js.map","export var slice = Array.prototype.slice;\n","export default function(series, order) {\n if (!((n = series.length) > 1)) return;\n for (var i = 1, j, s0, s1 = series[order[0]], n, m = s1.length; i < n; ++i) {\n s0 = s1, s1 = series[order[i]];\n for (j = 0; j < m; ++j) {\n s1[j][1] += s1[j][0] = isNaN(s0[j][1]) ? s0[j][0] : s0[j][1];\n }\n }\n}\n","export default function(series) {\n var n = series.length, o = new Array(n);\n while (--n >= 0) o[n] = n;\n return o;\n}\n","import {slice} from \"./array.js\";\nimport constant from \"./constant.js\";\nimport offsetNone from \"./offset/none.js\";\nimport orderNone from \"./order/none.js\";\n\nfunction stackValue(d, key) {\n return d[key];\n}\n\nexport default function() {\n var keys = constant([]),\n order = orderNone,\n offset = offsetNone,\n value = stackValue;\n\n function stack(data) {\n var kz = keys.apply(this, arguments),\n i,\n m = data.length,\n n = kz.length,\n sz = new Array(n),\n oz;\n\n for (i = 0; i < n; ++i) {\n for (var ki = kz[i], si = sz[i] = new Array(m), j = 0, sij; j < m; ++j) {\n si[j] = sij = [0, +value(data[j], ki, j, data)];\n sij.data = data[j];\n }\n si.key = ki;\n }\n\n for (i = 0, oz = order(sz); i < n; ++i) {\n sz[oz[i]].index = i;\n }\n\n offset(sz, oz);\n return sz;\n }\n\n stack.keys = function(_) {\n return arguments.length ? (keys = typeof _ === \"function\" ? _ : constant(slice.call(_)), stack) : keys;\n };\n\n stack.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), stack) : value;\n };\n\n stack.order = function(_) {\n return arguments.length ? (order = _ == null ? orderNone : typeof _ === \"function\" ? _ : constant(slice.call(_)), stack) : order;\n };\n\n stack.offset = function(_) {\n return arguments.length ? (offset = _ == null ? offsetNone : _, stack) : offset;\n };\n\n return stack;\n}\n","export function getX(l) {\n return typeof (l == null ? void 0 : l.x) === 'number' ? l == null ? void 0 : l.x : 0;\n}\nexport function getY(l) {\n return typeof (l == null ? void 0 : l.y) === 'number' ? l == null ? void 0 : l.y : 0;\n}\nexport function getSource(l) {\n return l == null ? void 0 : l.source;\n}\nexport function getTarget(l) {\n return l == null ? void 0 : l.target;\n}\nexport function getFirstItem(d) {\n return d == null ? void 0 : d[0];\n}\nexport function getSecondItem(d) {\n return d == null ? void 0 : d[1];\n}","import none from \"./none.js\";\n\nexport default function(series) {\n var sums = series.map(sum);\n return none(series).sort(function(a, b) { return sums[a] - sums[b]; });\n}\n\nexport function sum(series) {\n var s = 0, i = -1, n = series.length, v;\n while (++i < n) if (v = +series[i][1]) s += v;\n return s;\n}\n","import none from \"./none.js\";\n\nexport default function(series) {\n var peaks = series.map(peak);\n return none(series).sort(function(a, b) { return peaks[a] - peaks[b]; });\n}\n\nfunction peak(series) {\n var i = -1, j = 0, n = series.length, vi, vj = -Infinity;\n while (++i < n) if ((vi = +series[i][1]) > vj) vj = vi, j = i;\n return j;\n}\n","import { stackOrderAscending, stackOrderDescending, stackOrderInsideOut, stackOrderNone, stackOrderReverse } from 'd3-shape';\nexport var STACK_ORDERS = {\n ascending: stackOrderAscending,\n descending: stackOrderDescending,\n insideout: stackOrderInsideOut,\n none: stackOrderNone,\n reverse: stackOrderReverse\n};\nexport var STACK_ORDER_NAMES = Object.keys(STACK_ORDERS);\nexport default function stackOrder(order) {\n return order && STACK_ORDERS[order] || STACK_ORDERS.none;\n}","import ascending from \"./ascending.js\";\n\nexport default function(series) {\n return ascending(series).reverse();\n}\n","import appearance from \"./appearance.js\";\nimport {sum} from \"./ascending.js\";\n\nexport default function(series) {\n var n = series.length,\n i,\n j,\n sums = series.map(sum),\n order = appearance(series),\n top = 0,\n bottom = 0,\n tops = [],\n bottoms = [];\n\n for (i = 0; i < n; ++i) {\n j = order[i];\n if (top < bottom) {\n top += sums[j];\n tops.push(j);\n } else {\n bottom += sums[j];\n bottoms.push(j);\n }\n }\n\n return bottoms.reverse().concat(tops);\n}\n","import none from \"./none.js\";\n\nexport default function(series) {\n return none(series).reverse();\n}\n","import { stackOffsetExpand, stackOffsetDiverging, stackOffsetNone, stackOffsetSilhouette, stackOffsetWiggle } from 'd3-shape';\nexport var STACK_OFFSETS = {\n expand: stackOffsetExpand,\n diverging: stackOffsetDiverging,\n none: stackOffsetNone,\n silhouette: stackOffsetSilhouette,\n wiggle: stackOffsetWiggle\n};\nexport var STACK_OFFSET_NAMES = Object.keys(STACK_OFFSETS);\nexport default function stackOffset(offset) {\n return offset && STACK_OFFSETS[offset] || STACK_OFFSETS.none;\n}","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var i, n, j = 0, m = series[0].length, y; j < m; ++j) {\n for (y = i = 0; i < n; ++i) y += series[i][j][1] || 0;\n if (y) for (i = 0; i < n; ++i) series[i][j][1] /= y;\n }\n none(series, order);\n}\n","export default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var i, j = 0, d, dy, yp, yn, n, m = series[order[0]].length; j < m; ++j) {\n for (yp = yn = 0, i = 0; i < n; ++i) {\n if ((dy = (d = series[order[i]][j])[1] - d[0]) > 0) {\n d[0] = yp, d[1] = yp += dy;\n } else if (dy < 0) {\n d[1] = yn, d[0] = yn += dy;\n } else {\n d[0] = 0, d[1] = dy;\n }\n }\n }\n}\n","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var j = 0, s0 = series[order[0]], n, m = s0.length; j < m; ++j) {\n for (var i = 0, y = 0; i < n; ++i) y += series[i][j][1] || 0;\n s0[j][1] += s0[j][0] = -y / 2;\n }\n none(series, order);\n}\n","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0) || !((m = (s0 = series[order[0]]).length) > 0)) return;\n for (var y = 0, j = 1, s0, m, n; j < m; ++j) {\n for (var i = 0, s1 = 0, s2 = 0; i < n; ++i) {\n var si = series[order[i]],\n sij0 = si[j][1] || 0,\n sij1 = si[j - 1][1] || 0,\n s3 = (sij0 - sij1) / 2;\n for (var k = 0; k < i; ++k) {\n var sk = series[order[k]],\n skj0 = sk[j][1] || 0,\n skj1 = sk[j - 1][1] || 0;\n s3 += skj0 - skj1;\n }\n s1 += sij0, s2 += s3 * sij0;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n if (s1) y -= s2 / s1;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n none(series, order);\n}\n","var _excluded = [\"data\", \"className\", \"top\", \"left\", \"y\", \"x0\", \"x1\", \"xScale\", \"yScale\", \"color\", \"keys\", \"value\", \"order\", \"offset\", \"children\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from 'react';\nimport cx from 'classnames';\nimport { stack as d3stack } from 'd3-shape';\nimport { Group } from '@visx/group';\nimport { getFirstItem, getSecondItem } from '../util/accessors';\nimport getBandwidth from '../util/getBandwidth';\nimport setNumOrAccessor from '../util/setNumberOrNumberAccessor';\nimport stackOrder from '../util/stackOrder';\nimport stackOffset from '../util/stackOffset';\nimport Bar from './Bar';\nexport default function BarStackHorizontal(_ref) {\n var data = _ref.data,\n className = _ref.className,\n top = _ref.top,\n left = _ref.left,\n y = _ref.y,\n _ref$x = _ref.x0,\n x0 = _ref$x === void 0 ? getFirstItem : _ref$x,\n _ref$x2 = _ref.x1,\n x1 = _ref$x2 === void 0 ? getSecondItem : _ref$x2,\n xScale = _ref.xScale,\n yScale = _ref.yScale,\n color = _ref.color,\n keys = _ref.keys,\n value = _ref.value,\n order = _ref.order,\n offset = _ref.offset,\n children = _ref.children,\n restProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n var stack = d3stack();\n if (keys) stack.keys(keys);\n if (value) setNumOrAccessor(stack.value, value);\n if (order) stack.order(stackOrder(order));\n if (offset) stack.offset(stackOffset(offset));\n var stacks = stack(data);\n var barHeight = getBandwidth(yScale);\n var barStacks = stacks.map(function (barStack, i) {\n var key = barStack.key;\n return {\n index: i,\n key: key,\n bars: barStack.map(function (bar, j) {\n var barWidth = (xScale(x1(bar)) || 0) - (xScale(x0(bar)) || 0);\n var barX = xScale(x0(bar));\n var barY = 'bandwidth' in yScale ? yScale(y(bar.data)) : Math.max((yScale(y(bar.data)) || 0) - barWidth / 2);\n return {\n bar: bar,\n key: key,\n index: j,\n height: barHeight,\n width: barWidth,\n x: barX || 0,\n y: barY || 0,\n color: color(barStack.key, j)\n };\n })\n };\n });\n if (children) return /*#__PURE__*/React.createElement(React.Fragment, null, children(barStacks));\n return /*#__PURE__*/React.createElement(Group, {\n className: cx('visx-bar-stack-horizontal', className),\n top: top,\n left: left\n }, barStacks.map(function (barStack) {\n return barStack.bars.map(function (bar) {\n return /*#__PURE__*/React.createElement(Bar, _extends({\n key: \"bar-stack-\" + barStack.index + \"-\" + bar.index,\n x: bar.x,\n y: bar.y,\n height: bar.height,\n width: bar.width,\n fill: bar.color\n }, restProps));\n });\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport * as React from 'react';\nimport { BarStackHorizontal } from '@visx/shape';\nexport var HorizontalStacked = function HorizontalStacked(_ref) {\n var data = _ref.data,\n series = _ref.series,\n xScaleBand = _ref.xScaleBand,\n yScale = _ref.yScale,\n colorScale = _ref.colorScale,\n hasNegativeValue = _ref.hasNegativeValue,\n errorStyle = _ref.errorStyle,\n getCategory = _ref.getCategory;\n return /*#__PURE__*/React.createElement(BarStackHorizontal, _extends({\n data: data,\n keys: series,\n y: getCategory,\n xScale: xScaleBand,\n yScale: yScale,\n color: colorScale\n }, hasNegativeValue && {\n offset: 'diverging'\n }), function (barStacks) {\n return barStacks.map(function (barStack) {\n return barStack.bars.map(function (bar) {\n return /*#__PURE__*/React.createElement(\"rect\", {\n key: \"bar-stack-\".concat(barStack.index, \"-\").concat(bar.index),\n x: bar.x,\n y: bar.y,\n height: bar.height,\n width: bar.width,\n fill: bar.color,\n style: bar.color === errorStyle.fill ? errorStyle : undefined,\n pointerEvents: \"auto\"\n });\n });\n });\n });\n};\n//# sourceMappingURL=HorizontalStacked.js.map","var _excluded = [\"data\", \"className\", \"top\", \"left\", \"x\", \"y0\", \"y1\", \"xScale\", \"yScale\", \"color\", \"keys\", \"value\", \"order\", \"offset\", \"children\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React from 'react';\nimport cx from 'classnames';\nimport { stack as d3stack } from 'd3-shape';\nimport { Group } from '@visx/group';\nimport { getFirstItem, getSecondItem } from '../util/accessors';\nimport getBandwidth from '../util/getBandwidth';\nimport setNumOrAccessor from '../util/setNumberOrNumberAccessor';\nimport stackOrder from '../util/stackOrder';\nimport stackOffset from '../util/stackOffset';\nimport Bar from './Bar';\nexport default function BarStack(_ref) {\n var data = _ref.data,\n className = _ref.className,\n top = _ref.top,\n left = _ref.left,\n x = _ref.x,\n _ref$y = _ref.y0,\n y0 = _ref$y === void 0 ? getFirstItem : _ref$y,\n _ref$y2 = _ref.y1,\n y1 = _ref$y2 === void 0 ? getSecondItem : _ref$y2,\n xScale = _ref.xScale,\n yScale = _ref.yScale,\n color = _ref.color,\n keys = _ref.keys,\n value = _ref.value,\n order = _ref.order,\n offset = _ref.offset,\n children = _ref.children,\n restProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n var stack = d3stack();\n if (keys) stack.keys(keys);\n if (value) setNumOrAccessor(stack.value, value);\n if (order) stack.order(stackOrder(order));\n if (offset) stack.offset(stackOffset(offset));\n var stacks = stack(data);\n var barWidth = getBandwidth(xScale);\n var barStacks = stacks.map(function (barStack, i) {\n var key = barStack.key;\n return {\n index: i,\n key: key,\n bars: barStack.map(function (bar, j) {\n var barHeight = (yScale(y0(bar)) || 0) - (yScale(y1(bar)) || 0);\n var barY = yScale(y1(bar));\n var barX = 'bandwidth' in xScale ? xScale(x(bar.data)) : Math.max((xScale(x(bar.data)) || 0) - barWidth / 2);\n return {\n bar: bar,\n key: key,\n index: j,\n height: barHeight,\n width: barWidth,\n x: barX || 0,\n y: barY || 0,\n color: color(barStack.key, j)\n };\n })\n };\n });\n if (children) return /*#__PURE__*/React.createElement(React.Fragment, null, children(barStacks));\n return /*#__PURE__*/React.createElement(Group, {\n className: cx('visx-bar-stack', className),\n top: top,\n left: left\n }, barStacks.map(function (barStack) {\n return barStack.bars.map(function (bar) {\n return /*#__PURE__*/React.createElement(Bar, _extends({\n key: \"bar-stack-\" + barStack.index + \"-\" + bar.index,\n x: bar.x,\n y: bar.y,\n height: bar.height,\n width: bar.width,\n fill: bar.color\n }, restProps));\n });\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport { BarStack } from '@visx/shape';\nimport * as React from 'react';\nexport var VerticalStacked = function VerticalStacked(_ref) {\n var data = _ref.data,\n series = _ref.series,\n xScaleBand = _ref.xScaleBand,\n yScale = _ref.yScale,\n colorScale = _ref.colorScale,\n hasNegativeValue = _ref.hasNegativeValue,\n errorStyle = _ref.errorStyle,\n getCategory = _ref.getCategory;\n return /*#__PURE__*/React.createElement(BarStack, _extends({\n data: data,\n keys: series,\n x: getCategory,\n xScale: xScaleBand,\n yScale: yScale,\n color: colorScale\n }, hasNegativeValue && {\n offset: 'diverging'\n }), function (barStacks) {\n return barStacks.map(function (barStack) {\n return barStack.bars.map(function (bar) {\n return /*#__PURE__*/React.createElement(\"rect\", {\n key: \"bar-stack-\".concat(barStack.index, \"-\").concat(bar.index),\n x: bar.x,\n y: bar.y,\n height: bar.height,\n width: bar.width,\n fill: bar.color,\n style: bar.color === errorStyle.fill ? errorStyle : undefined,\n pointerEvents: \"auto\"\n });\n });\n });\n });\n};\n//# sourceMappingURL=VerticalStacked.js.map","import _extends from \"@babel/runtime/helpers/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _isEqual from \"lodash/isEqual\";\nvar _excluded = [\"type\", \"data\", \"height\", \"series\", \"tooltip\", \"tooltipWithXAxisLabel\", \"numberFormatOptions\", \"yAxisIntegerOnly\", \"locale\", \"colorPalette\", \"dsOnChartElClick\", \"xInterval\", \"toggleSeries\", \"hideToggleSeriesPaginationCount\", \"axisTitles\", \"disablePercentChange\", \"tooltipUnit\", \"tooltipColorInverted\", \"toggleSeriesWidth\"];\nimport * as React from 'react';\nimport { Group } from '@visx/group';\nimport { LinePath, Bar, AreaClosed } from '@visx/shape';\nimport { scaleTime, scaleOrdinal } from '@visx/scale';\nimport { extent, ticks } from 'd3-array';\nimport { multiColors, multiPointColors, singleColors } from './chartColors';\nimport { AxisBottom, AxisLeft } from '@visx/axis';\nimport { Text } from '@visx/text';\nimport { useThemeTokens } from '../Theme';\nimport '@formatjs/intl-numberformat';\nimport '@formatjs/intl-numberformat/locale-data/en';\nimport { useTooltip, TooltipWithBounds } from '@visx/tooltip';\nimport useMeasure from 'react-use-measure';\nimport { ResizeObserver } from '@juggle/resize-observer';\nimport { curveMonotoneX } from '@visx/curve';\nimport { useTheme } from '@mui/material';\nimport { designTokens, Typography } from '..';\nimport { formatDate } from './dateUtils';\nimport { useEffect } from 'react';\nimport { errorStyle, MultiLineXAxisEllipsisDiv, PercentChange, SingleLineXAxisEllipsisDiv, StyledSeriesIndicator, StyledTableCell, StyledTooltip } from './styles';\nimport { ToggleSeries } from './components/ToggleSeries';\nimport { useChartStrategy } from './hooks';\nimport { HorizontalBars } from './components/HorizontalBars';\nimport { VerticalBars } from './components/VerticalBars';\nimport { HorizontalStacked } from './components/HorizontalStacked';\nimport { VerticalStacked } from './components/VerticalStacked';\nimport { Baseline } from './components/Baseline';\n/** All charts must have a minimum of one series ('y').\n * Additional series can be passed in ('y1', 'y2', etc.) */\n\nexport var ChartIntervals;\n\n(function (ChartIntervals) {\n ChartIntervals[\"MINUTE\"] = \"MINUTE\";\n ChartIntervals[\"HOUR\"] = \"HOUR\";\n ChartIntervals[\"DAY\"] = \"DAY\";\n ChartIntervals[\"WEEK\"] = \"WEEK\";\n ChartIntervals[\"MONTH\"] = \"MONTH\";\n ChartIntervals[\"QUARTER\"] = \"QUARTER\";\n ChartIntervals[\"ANNUAL\"] = \"ANNUAL\";\n})(ChartIntervals || (ChartIntervals = {}));\n\nvar defaultLeftPadding = 48;\nvar topPadding = 16;\nvar defaultBarOptions = {\n orientation: 'vertical'\n};\n\nvar Chart = function Chart(_ref) {\n var _inputSeries3, _inputSeries4;\n\n var _ref$type = _ref.type,\n type = _ref$type === void 0 ? 'line' : _ref$type,\n _ref$data = _ref.data,\n inputData = _ref$data === void 0 ? [] : _ref$data,\n _ref$height = _ref.height,\n height = _ref$height === void 0 ? 350 : _ref$height,\n inputSeries = _ref.series,\n Tooltip = _ref.tooltip,\n tooltipWithXAxisLabel = _ref.tooltipWithXAxisLabel,\n numberFormatOptions = _ref.numberFormatOptions,\n _ref$yAxisIntegerOnly = _ref.yAxisIntegerOnly,\n yAxisIntegerOnly = _ref$yAxisIntegerOnly === void 0 ? false : _ref$yAxisIntegerOnly,\n _ref$locale = _ref.locale,\n locale = _ref$locale === void 0 ? 'en-US' : _ref$locale,\n _ref$colorPalette = _ref.colorPalette,\n colorPalette = _ref$colorPalette === void 0 ? 'multi' : _ref$colorPalette,\n dsOnChartElClick = _ref.dsOnChartElClick,\n xInterval = _ref.xInterval,\n toggleSeries = _ref.toggleSeries,\n hideToggleSeriesPaginationCount = _ref.hideToggleSeriesPaginationCount,\n axisTitles = _ref.axisTitles,\n disablePercentChange = _ref.disablePercentChange,\n tooltipUnit = _ref.tooltipUnit,\n _ref$tooltipColorInve = _ref.tooltipColorInverted,\n tooltipColorInverted = _ref$tooltipColorInve === void 0 ? true : _ref$tooltipColorInve,\n toggleSeriesWidth = _ref.toggleSeriesWidth,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n var _ref2 = rest,\n stacked = _ref2.stacked,\n arbitraryX = _ref2.arbitraryX,\n showAllXAxisLabel = _ref2.showAllXAxisLabel,\n _ref2$barOptions = _ref2.barOptions,\n barOptions = _ref2$barOptions === void 0 ? {} : _ref2$barOptions;\n\n var _defaultBarOptions$ba = _objectSpread(_objectSpread({}, defaultBarOptions), barOptions),\n orientation = _defaultBarOptions$ba.orientation;\n\n var _useChartStrategy = useChartStrategy({\n type: type,\n orientation: orientation,\n arbitraryX: arbitraryX,\n stacked: stacked\n }),\n getCategory = _useChartStrategy.getCategory,\n useGetYScale = _useChartStrategy.useGetYScale,\n useGetXScale = _useChartStrategy.useGetXScale,\n getInterval = _useChartStrategy.getInterval,\n getLeftPadContentMax = _useChartStrategy.getLeftPadContentMax,\n getValue = _useChartStrategy.getValue,\n getDate = _useChartStrategy.getDate,\n getXFormatter = _useChartStrategy.getXFormatter,\n getYFormatter = _useChartStrategy.getYFormatter,\n defaultSeries = _useChartStrategy.defaultSeries,\n categoryAxis = _useChartStrategy.categoryAxis,\n getDataIndexFromEvent = _useChartStrategy.getDataIndexFromEvent,\n getTooltipData = _useChartStrategy.getTooltipData,\n getBarWidth = _useChartStrategy.getBarWidth,\n getMaxTooltipHeight = _useChartStrategy.getMaxTooltipHeight;\n\n inputSeries = inputSeries || defaultSeries;\n\n var hasAxisTitle = function hasAxisTitle(axisKey) {\n return axisTitles === null || axisTitles === void 0 ? void 0 : axisTitles.some(function (axis) {\n return axis.key.toLowerCase() === axisKey;\n });\n };\n\n var bottomPadding = showAllXAxisLabel ? hasAxisTitle('x') ? 124 : 100 : 48;\n\n var _React$useState = React.useState(inputData),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n data = _React$useState2[0],\n setData = _React$useState2[1];\n\n var _React$useState3 = React.useState(inputSeries.filter(function (_ref3) {\n var aux = _ref3.aux;\n return !aux;\n }).map(function (item) {\n return item.key;\n })),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n series = _React$useState4[0],\n setSeries = _React$useState4[1];\n\n var _React$useState5 = React.useState(inputSeries.filter(function (_ref4) {\n var aux = _ref4.aux;\n return aux;\n }).map(function (item) {\n return item.key;\n })),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n auxSeries = _React$useState6[0],\n setAuxSeries = _React$useState6[1];\n\n var combinedSeries = [].concat(_toConsumableArray(series), _toConsumableArray(auxSeries));\n var isSingleSeries = inputSeries.length === 1;\n var themeTokens = useThemeTokens();\n var invertedThemeTokens = useThemeTokens(true);\n\n var _useMeasure = useMeasure({\n polyfill: ResizeObserver\n }),\n _useMeasure2 = _slicedToArray(_useMeasure, 2),\n ref = _useMeasure2[0],\n xMax = _useMeasure2[1].width;\n\n var graphRef = React.useRef(null);\n var theme = useTheme();\n var tooltipRef = React.useRef();\n var barRef = React.useRef();\n var interval = xInterval || getInterval(data);\n useEffect(function () {\n if (inputData && !_isEqual(inputData, data)) {\n setData(inputData);\n }\n }, [inputData]);\n useEffect(function () {\n if (inputSeries && !_isEqual(inputSeries.map(function (_ref5) {\n var key = _ref5.key;\n return key;\n }), combinedSeries)) {\n setSeries(inputSeries.filter(function (_ref6) {\n var aux = _ref6.aux;\n return !aux;\n }).map(function (item) {\n return item.key;\n }));\n setAuxSeries(inputSeries.filter(function (_ref7) {\n var aux = _ref7.aux;\n return aux;\n }).map(function (item) {\n return item.key;\n }));\n }\n }, [inputSeries]);\n var colors;\n\n switch (colorPalette) {\n case 'multi-point':\n colors = multiPointColors;\n break;\n\n case 'multi':\n colors = multiColors;\n break;\n\n case 'single':\n colors = singleColors;\n break;\n }\n\n var _useTooltip = useTooltip(),\n tooltipData = _useTooltip.tooltipData,\n tooltipLeft = _useTooltip.tooltipLeft,\n tooltipTop = _useTooltip.tooltipTop,\n showTooltip = _useTooltip.showTooltip,\n hideTooltip = _useTooltip.hideTooltip;\n\n var hasNegativeValue = data.some(function (datum) {\n return combinedSeries.some(function (key) {\n return datum[key] < 0;\n });\n });\n var sumPositiveValues = React.useCallback(function (d, _index, _dataArr, excludeAux) {\n return (excludeAux ? series : combinedSeries).map(function (s) {\n return d[s];\n }).filter(function (val) {\n return val > 0;\n }).reduce(function (a, b) {\n return a + b;\n }, 0);\n }, [combinedSeries]);\n var sumNegativeValues = React.useCallback(function (d) {\n return combinedSeries.map(function (s) {\n return d[s];\n }).filter(function (val) {\n return val < 0;\n }).reduce(function (a, b) {\n return a + b;\n }, 0);\n }, [combinedSeries]);\n var colorScale = React.useMemo(function () {\n var _inputSeries, _inputSeries2;\n\n var seriesAliasKeys = (_inputSeries = inputSeries) === null || _inputSeries === void 0 ? void 0 : _inputSeries.map(function (_ref8) {\n var key = _ref8.key;\n return key;\n });\n var domain = inputSeries && !_isEqual(seriesAliasKeys, combinedSeries) ? seriesAliasKeys : series;\n return scaleOrdinal({\n domain: domain,\n range: (_inputSeries2 = inputSeries) === null || _inputSeries2 === void 0 ? void 0 : _inputSeries2.map(function (item, i) {\n if (item.error) {\n return errorStyle.fill;\n } else if (item.color) {\n return item.color;\n } else {\n return colors[i];\n }\n })\n });\n }, [inputSeries]);\n var xFormatter = getXFormatter({\n locale: locale,\n interval: interval,\n numberFormatOptions: numberFormatOptions\n });\n var yFormatter = getYFormatter({\n locale: locale,\n interval: interval,\n numberFormatOptions: numberFormatOptions\n });\n var allDataValues = React.useMemo(function () {\n return data.reduce(function (acc, curr) {\n var values = combinedSeries.map(function (seriesName) {\n return curr[seriesName];\n });\n return [].concat(_toConsumableArray(acc), _toConsumableArray(values));\n }, []);\n }, [data, combinedSeries]);\n\n var dateFormatter = function dateFormatter(item) {\n return arbitraryX ? item : formatDate(new Date(item).toISOString(), interval, locale);\n };\n\n var yScale = useGetYScale({\n data: data,\n height: height,\n topPadding: topPadding,\n bottomPadding: bottomPadding,\n xMax: xMax,\n combinedSeries: combinedSeries,\n hasNegativeValue: hasNegativeValue,\n sumNegativeValues: sumNegativeValues,\n sumPositiveValues: sumPositiveValues,\n allDataValues: allDataValues\n });\n var leftPadding = React.useMemo(function () {\n var max = getLeftPadContentMax({\n data: data,\n allDataValues: allDataValues,\n yFormatter: yFormatter\n });\n var hasYAxisTitle = hasAxisTitle('y');\n var basis = 0;\n\n if (type !== 'line') {\n if (hasYAxisTitle) {\n basis = Math.max(36, max * 8);\n basis += combinedSeries ? 8 : 0;\n } else {\n basis = 24;\n }\n } else {\n basis = hasYAxisTitle ? 36 : 16;\n }\n\n return (max * 8 || defaultLeftPadding) + basis;\n }, [data, combinedSeries]);\n var xScaleBand = useGetXScale({\n data: data,\n leftPadding: leftPadding,\n xMax: xMax,\n combinedSeries: combinedSeries,\n hasNegativeValue: hasNegativeValue,\n sumNegativeValues: sumNegativeValues,\n sumPositiveValues: sumPositiveValues,\n allDataValues: allDataValues\n });\n var xScale = React.useMemo(function () {\n return scaleTime({\n domain: extent(data, getDate),\n range: [0, xMax - leftPadding]\n });\n }, [xMax, data, combinedSeries]);\n var handleTooltip = React.useCallback(function (event) {\n var index = getDataIndexFromEvent({\n event: event,\n data: data,\n leftPadding: leftPadding,\n topPadding: topPadding,\n yScale: yScale,\n xScale: xScale,\n xScaleBand: xScaleBand\n });\n\n if (index === tooltipData || series.length < 1) {\n return;\n }\n\n var newTooltipData = getTooltipData({\n index: index,\n data: data,\n xScaleBand: xScaleBand,\n xScale: xScale,\n yScale: yScale,\n sumPositiveValues: sumPositiveValues\n });\n console.log({\n newTooltipData: newTooltipData\n });\n showTooltip(newTooltipData);\n }, [showTooltip, xScale, xScaleBand, yScale, data, series, type, sumPositiveValues, stacked, tooltipData]);\n\n var handleClick = function handleClick(event) {\n var index = getDataIndexFromEvent({\n event: event,\n data: data,\n leftPadding: leftPadding,\n topPadding: topPadding,\n yScale: yScale,\n xScale: xScale,\n xScaleBand: xScaleBand\n });\n var d = data[index];\n dsOnChartElClick === null || dsOnChartElClick === void 0 ? void 0 : dsOnChartElClick(d);\n };\n\n var getLabelOffset = function getLabelOffset() {\n var pad = 0;\n\n if (type === 'bar') {\n pad = getBarWidth({\n yScale: yScale,\n xScaleBand: xScaleBand\n }) < 80 ? bottomPadding + 56 : bottomPadding;\n } else {\n pad = leftPadding;\n }\n\n return pad / 2;\n };\n\n var getAxisProps = function getAxisProps(axisType) {\n var commonAxisProps = {\n stroke: hasNegativeValue ? 'transparent' : themeTokens.emphasisLow,\n hideAxisLine: axisType === 'y',\n hideTicks: true,\n tickComponent: axisType === categoryAxis && showAllXAxisLabel ? function (props) {\n var barWidth = getBarWidth({\n yScale: yScale,\n xScaleBand: xScaleBand\n });\n var foreignObjectProps = barWidth >= 80 ? {\n x: props.x - 0.5 * (barWidth - 10),\n y: props.y / 2,\n width: barWidth - 10,\n height: 40\n } : {\n transform: \"translate(\".concat(props.x - 80, \", \").concat(props.y + 60, \") rotate(-45)\"),\n width: 110,\n height: 20\n };\n return /*#__PURE__*/React.createElement(\"foreignObject\", foreignObjectProps, barWidth >= 80 ? /*#__PURE__*/React.createElement(MultiLineXAxisEllipsisDiv, {\n $lines: 2,\n $color: props.fill,\n $fontSize: props.fontSize\n }, props.formattedValue) : /*#__PURE__*/React.createElement(SingleLineXAxisEllipsisDiv, {\n $color: props.fill,\n $fontSize: props.fontSize\n }, props.formattedValue));\n } : undefined,\n tickLabelProps: function tickLabelProps(value) {\n return {\n fill: themeTokens.emphasisMedium,\n fontSize: '0.75rem',\n fontWeight: '400',\n textAnchor: function () {\n if (axisType === 'y') {\n return 'end';\n }\n\n if (axisType === 'x' && type === 'bar') {\n return 'middle';\n }\n\n var valueDateString = value.toISOString();\n var isXStart = data[0].x === valueDateString;\n var isXEnd = data[data.length - 1].x === valueDateString;\n var result = isXStart ? 'start' : isXEnd ? 'end' : 'middle';\n return result;\n }(),\n dominantBaseline: axisType === 'y' ? 'middle' : undefined\n };\n }\n };\n return commonAxisProps;\n };\n\n var noMeasurement = xMax <= 0;\n\n var getDesiredNumTicks = function getDesiredNumTicks() {\n if (xMax) {\n var scale = type === 'bar' ? xScaleBand : xScale;\n var sampleTick = dateFormatter(scale.domain()[0]);\n var maxTickWidth = sampleTick.length * 12;\n return Math.min(Math.round((xMax - leftPadding) / maxTickWidth), 10);\n } else {\n return 10;\n }\n };\n\n var getXNumTicks = function getXNumTicks() {\n var numTicks = getDesiredNumTicks();\n\n if (showAllXAxisLabel) {\n return data.length;\n } else if (type === 'line') {\n var estimatedTicks = [];\n var i = numTicks;\n\n do {\n estimatedTicks = ticks(Number(xScale.domain()[0]), Number(xScale.domain()[1]), i);\n i--;\n } while (estimatedTicks.length > numTicks);\n\n return estimatedTicks.length;\n } else if (type === 'bar') {\n return numTicks;\n }\n };\n\n var getYaxisNumTicks = function getYaxisNumTicks() {\n if (yAxisIntegerOnly) {\n var val = Math.min(Math.round(height / 50), Math.round(yScale.domain()[1] - yScale.domain()[0]));\n\n if (val < 1) {\n return 1;\n } else {\n return val;\n }\n } else {\n return Math.round(height / 50);\n }\n };\n\n var getAxisTitle = function getAxisTitle(axis) {\n var axisExists = axisTitles === null || axisTitles === void 0 ? void 0 : axisTitles.some(function (s) {\n return s.key.toLowerCase() === axis;\n });\n\n if (axisExists) {\n var _axisTitles$find;\n\n return (axisTitles === null || axisTitles === void 0 ? void 0 : (_axisTitles$find = axisTitles.find(function (s) {\n return s.key.toLowerCase() === axis;\n })) === null || _axisTitles$find === void 0 ? void 0 : _axisTitles$find.label) || axis;\n } else {\n return undefined;\n }\n };\n\n var getNoDataLeftOffset = function getNoDataLeftOffset() {\n var offset = xMax - leftPadding - 40;\n return offset / 2;\n };\n\n var LinePathComponent = function LinePathComponent(seriesName) {\n var isAuxSeries = auxSeries.find(function (key) {\n return key === seriesName;\n });\n var x = isAuxSeries ? function (d) {\n return xScaleBand(getCategory(d)) + xScaleBand.step() / 2;\n } : function (d) {\n return xScale(getDate(d)) || 0;\n };\n return /*#__PURE__*/React.createElement(LinePath, {\n key: seriesName,\n style: {\n stroke: colorScale(seriesName),\n strokeWidth: (data === null || data === void 0 ? void 0 : data.length) === 1 ? 8 : 2\n },\n curve: curveMonotoneX,\n data: data,\n x: x,\n y: function y(d) {\n return yScale(d[seriesName]) || 0;\n }\n });\n };\n\n var chart = noMeasurement ? null : /*#__PURE__*/React.createElement(\"svg\", {\n width: \"\".concat(xMax, \"px\"),\n height: \"\".concat(height, \"px\"),\n preserveAspectRatio: \"xMinYMin meet\",\n viewBox: \"0 0 \".concat(xMax, \" \").concat(height)\n }, data && data.length ? /*#__PURE__*/React.createElement(Group, {\n left: leftPadding,\n top: topPadding,\n innerRef: graphRef\n }, hasNegativeValue && /*#__PURE__*/React.createElement(Baseline, {\n orientation: orientation,\n xScaleBand: xScaleBand,\n yScale: yScale,\n height: height,\n bottomPadding: bottomPadding,\n xMax: xMax\n }), type === 'line' && /*#__PURE__*/React.createElement(React.Fragment, null, series.map(LinePathComponent), isSingleSeries && /*#__PURE__*/React.createElement(AreaClosed, {\n style: {\n fill: ((_inputSeries3 = inputSeries) === null || _inputSeries3 === void 0 ? void 0 : _inputSeries3[0].color) || colors[0],\n opacity: 0.1\n },\n curve: curveMonotoneX,\n data: data,\n x: function x(d) {\n return xScale(getDate(d)) || 0;\n },\n y: function y(d) {\n return yScale(getValue(d)) || 0;\n },\n y0: Math.min(yScale(0), yScale.range()[0]),\n yScale: yScale\n })), type === 'bar' && orientation === 'vertical' && !stacked && /*#__PURE__*/React.createElement(VerticalBars, {\n data: data,\n series: series,\n height: height - topPadding - bottomPadding,\n getCategory: getCategory,\n xScaleBand: xScaleBand,\n yScale: yScale,\n colorScale: colorScale,\n arbitraryX: arbitraryX,\n multiColors: multiColors\n }), type === 'bar' && orientation === 'vertical' && stacked && /*#__PURE__*/React.createElement(VerticalStacked, {\n data: data,\n series: series,\n xScaleBand: xScaleBand,\n yScale: yScale,\n colorScale: colorScale,\n hasNegativeValue: hasNegativeValue,\n errorStyle: errorStyle,\n getCategory: getCategory\n }), type === 'bar' && orientation === 'horizontal' && !stacked && /*#__PURE__*/React.createElement(HorizontalBars, {\n data: data,\n series: series,\n width: xMax - leftPadding,\n getCategory: getCategory,\n yScale: yScale,\n xScaleBand: xScaleBand,\n colorScale: colorScale,\n arbitraryX: arbitraryX,\n multiColors: multiColors\n }), type === 'bar' && orientation === 'horizontal' && stacked && /*#__PURE__*/React.createElement(HorizontalStacked, {\n data: data,\n series: series,\n xScaleBand: xScaleBand,\n yScale: yScale,\n colorScale: colorScale,\n hasNegativeValue: hasNegativeValue,\n errorStyle: errorStyle,\n getCategory: getCategory\n }), orientation !== 'horizontal' && auxSeries.map(LinePathComponent), /*#__PURE__*/React.createElement(Bar, {\n width: xMax - leftPadding,\n height: height - topPadding - bottomPadding,\n innerRef: barRef,\n fill: \"transparent\",\n onClick: handleClick,\n onTouchStart: handleTooltip,\n onTouchMove: handleTooltip,\n onMouseMove: handleTooltip,\n onMouseLeave: function onMouseLeave(e) {\n if (e.target === (barRef === null || barRef === void 0 ? void 0 : barRef.current)) {\n return;\n }\n\n hideTooltip();\n },\n cursor: dsOnChartElClick ? 'pointer' : 'auto'\n }), typeof tooltipData === 'number' && !(type === 'bar' && !stacked) && /*#__PURE__*/React.createElement(\"circle\", {\n cx: tooltipLeft,\n cy: tooltipTop,\n r: 4,\n fill: designTokens.colors.darkEmphasisHigh,\n stroke: ((_inputSeries4 = inputSeries) === null || _inputSeries4 === void 0 ? void 0 : _inputSeries4[0].color) || colors[0],\n strokeWidth: 2,\n pointerEvents: \"none\"\n })) : /*#__PURE__*/React.createElement(Group, {\n left: getNoDataLeftOffset(),\n top: height / 2,\n innerRef: graphRef\n }, /*#__PURE__*/React.createElement(Text, {\n style: {\n fontSize: '1rem',\n fontWeight: 550\n }\n }, \"No data to display\")), /*#__PURE__*/React.createElement(AxisLeft, _extends({\n left: leftPadding,\n top: topPadding,\n scale: yScale,\n tickFormat: yFormatter,\n numTicks: data.length ? getYaxisNumTicks() : 0,\n label: getAxisTitle('y'),\n labelOffset: getLabelOffset(),\n labelProps: {\n fontSize: '0.8rem',\n textAnchor: 'middle'\n }\n }, getAxisProps('y'))), /*#__PURE__*/React.createElement(AxisBottom, _extends({\n left: leftPadding,\n top: height - bottomPadding,\n scale: type === 'bar' ? xScaleBand : xScale,\n tickFormat: xFormatter,\n numTicks: data.length ? getXNumTicks() : 0,\n label: getAxisTitle('x'),\n labelOffset: getLabelOffset(),\n labelProps: {\n fontSize: '0.8rem',\n textAnchor: 'middle'\n }\n }, getAxisProps('x'))));\n var DefaultTooltip = React.useCallback(function () {\n var _inputSeries5, _inputSeries6;\n\n var currData = data[tooltipData];\n var xAxisVal = arbitraryX ? currData[categoryAxis] : formatDate(currData[categoryAxis], interval, locale);\n\n var getChange = function getChange(seriesKey) {\n var _data;\n\n var oldNum = (_data = data[tooltipData - 1]) === null || _data === void 0 ? void 0 : _data[seriesKey];\n var newNum = currData[seriesKey];\n var change = (newNum - oldNum) / Math.abs(oldNum);\n var percentChange = oldNum && change !== Infinity && !isNaN(change) ? change.toLocaleString(undefined, {\n style: 'percent',\n minimumFractionDigits: 1\n }) : undefined;\n var isIncrease = newNum - oldNum >= 0;\n return {\n percentChange: percentChange,\n isIncrease: isIncrease,\n newNum: newNum,\n oldNum: oldNum,\n theme: theme\n };\n };\n\n return /*#__PURE__*/React.createElement(Typography, {\n variant: \"caption\"\n }, isSingleSeries ? (_inputSeries5 = inputSeries) === null || _inputSeries5 === void 0 ? void 0 : _inputSeries5.map(function (_ref9) {\n var key = _ref9.key;\n\n var _getChange = getChange(key),\n isIncrease = _getChange.isIncrease,\n percentChange = _getChange.percentChange,\n newNum = _getChange.newNum;\n\n var value = new Intl.NumberFormat(locale, numberFormatOptions).format(newNum);\n return /*#__PURE__*/React.createElement(React.Fragment, {\n key: key\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n textAlign: 'center'\n }\n }, /*#__PURE__*/React.createElement(Typography, {\n variant: \"h5\"\n }, tooltipUnit ? \"\".concat(value, \" \").concat(tooltipUnit) : value), /*#__PURE__*/React.createElement(Typography, {\n variant: \"subtitle1\",\n body: xAxisVal\n }), !disablePercentChange && /*#__PURE__*/React.createElement(PercentChange, {\n percentChange: percentChange,\n isIncrease: isIncrease\n })));\n }) : /*#__PURE__*/React.createElement(React.Fragment, null, tooltipWithXAxisLabel && /*#__PURE__*/React.createElement(\"div\", {\n style: {\n textAlign: 'center'\n }\n }, /*#__PURE__*/React.createElement(Typography, {\n variant: \"subtitle1\",\n body: xAxisVal\n })), /*#__PURE__*/React.createElement(\"table\", {\n style: {\n tableLayout: 'fixed'\n }\n }, /*#__PURE__*/React.createElement(\"tbody\", null, (_inputSeries6 = inputSeries) === null || _inputSeries6 === void 0 ? void 0 : _inputSeries6.filter(function (s) {\n return combinedSeries.some(function (seriesKey) {\n return seriesKey === s.key;\n });\n }).map(function (_ref10) {\n var key = _ref10.key,\n label = _ref10.label,\n aux = _ref10.aux;\n var currData = data[tooltipData];\n\n var _getChange2 = getChange(key),\n isIncrease = _getChange2.isIncrease,\n percentChange = _getChange2.percentChange;\n\n var value = new Intl.NumberFormat(locale, numberFormatOptions).format(currData[key]);\n return /*#__PURE__*/React.createElement(\"tr\", {\n key: key\n }, /*#__PURE__*/React.createElement(StyledTableCell, null, /*#__PURE__*/React.createElement(StyledSeriesIndicator, {\n $color: colorScale(key),\n $aux: aux\n })), /*#__PURE__*/React.createElement(StyledTableCell, null, label || key), /*#__PURE__*/React.createElement(StyledTableCell, {\n $align: \"right\"\n }, tooltipUnit ? \"\".concat(value, \" \").concat(tooltipUnit) : value), !disablePercentChange && /*#__PURE__*/React.createElement(StyledTableCell, {\n $align: \"right\"\n }, /*#__PURE__*/React.createElement(PercentChange, {\n percentChange: percentChange,\n isIncrease: isIncrease\n })));\n })))));\n }, [data, series, isSingleSeries, tooltipData, numberFormatOptions, locale, theme]);\n var TooltipComponent = Tooltip || DefaultTooltip;\n var tooltipBGColor = (tooltipColorInverted ? themeTokens : invertedThemeTokens).emphasisHigh;\n var tooltipTextColor = tooltipColorInverted ? invertedThemeTokens : themeTokens;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n ref: ref,\n style: {\n position: 'relative'\n },\n onMouseLeave: function onMouseLeave() {\n hideTooltip();\n }\n }, chart, typeof tooltipData === 'number' && /*#__PURE__*/React.createElement(React.Fragment, null, data && data.length && /*#__PURE__*/React.createElement(TooltipWithBounds, {\n top: tooltipTop,\n left: tooltipLeft + leftPadding,\n style: {\n position: 'absolute',\n zIndex: theme.zIndex.tooltip,\n // pointerEvents: 'none',\n backgroundColor: tooltipBGColor,\n padding: '8px 0',\n borderRadius: '4px'\n },\n ref: tooltipRef\n }, /*#__PURE__*/React.createElement(StyledTooltip, {\n $tooltipColors: tooltipTextColor,\n $maxHeight: isSingleSeries ? undefined : getMaxTooltipHeight({\n height: height,\n tooltipTop: tooltipTop,\n topPadding: topPadding\n })\n }, /*#__PURE__*/React.createElement(TooltipComponent, {\n currIndex: tooltipData\n }))))), toggleSeries && /*#__PURE__*/React.createElement(ToggleSeries, {\n colorScale: colorScale,\n allData: inputData,\n setData: setData,\n allSeries: inputSeries,\n setSeries: setSeries,\n setAuxSeries: setAuxSeries,\n leftPadding: leftPadding,\n hidePaginationCount: !!hideToggleSeriesPaginationCount,\n disableToggle: isSingleSeries,\n categoryAxis: categoryAxis,\n toggleSeriesWidth: toggleSeriesWidth\n }));\n};\n\nexport default Chart;\n//# sourceMappingURL=index.js.map","import * as React from 'react';\nimport { useThemeTokens } from '../../Theme';\nexport var Baseline = function Baseline(_ref) {\n var orientation = _ref.orientation,\n xScaleBand = _ref.xScaleBand,\n yScale = _ref.yScale,\n height = _ref.height,\n bottomPadding = _ref.bottomPadding,\n xMax = _ref.xMax;\n var themeTokens = useThemeTokens();\n return orientation === 'vertical' ? /*#__PURE__*/React.createElement(\"line\", {\n x1: \"0\",\n x2: xMax,\n y1: yScale(0),\n y2: yScale(0),\n stroke: themeTokens.emphasisLow\n }) : /*#__PURE__*/React.createElement(\"line\", {\n x1: xScaleBand(0),\n x2: xScaleBand(0),\n y1: 0,\n y2: height - bottomPadding * 2,\n stroke: themeTokens.emphasisLow\n });\n};\n//# sourceMappingURL=Baseline.js.map","'use strict';\nmodule.exports = balanced;\nfunction balanced(a, b, str) {\n if (a instanceof RegExp) a = maybeMatch(a, str);\n if (b instanceof RegExp) b = maybeMatch(b, str);\n\n var r = range(a, b, str);\n\n return r && {\n start: r[0],\n end: r[1],\n pre: str.slice(0, r[0]),\n body: str.slice(r[0] + a.length, r[1]),\n post: str.slice(r[1] + b.length)\n };\n}\n\nfunction maybeMatch(reg, str) {\n var m = str.match(reg);\n return m ? m[0] : null;\n}\n\nbalanced.range = range;\nfunction range(a, b, str) {\n var begs, beg, left, right, result;\n var ai = str.indexOf(a);\n var bi = str.indexOf(b, ai + 1);\n var i = ai;\n\n if (ai >= 0 && bi > 0) {\n if(a===b) {\n return [ai, bi];\n }\n begs = [];\n left = str.length;\n\n while (i >= 0 && !result) {\n if (i == ai) {\n begs.push(i);\n ai = str.indexOf(a, i + 1);\n } else if (begs.length == 1) {\n result = [ begs.pop(), bi ];\n } else {\n beg = begs.pop();\n if (beg < left) {\n left = beg;\n right = bi;\n }\n\n bi = str.indexOf(b, i + 1);\n }\n\n i = ai < bi && ai >= 0 ? ai : bi;\n }\n\n if (begs.length) {\n result = [ left, right ];\n }\n }\n\n return result;\n}\n","/**\n * Returns a function, that, as long as it continues to be invoked, will not\n * be triggered. The function will be called after it stops being called for\n * N milliseconds. If `immediate` is passed, trigger the function on the\n * leading edge, instead of the trailing. The function also has a property 'clear' \n * that is a function which will clear the timer to prevent previously scheduled executions. \n *\n * @source underscore.js\n * @see http://unscriptable.com/2009/03/20/debouncing-javascript-methods/\n * @param {Function} function to wrap\n * @param {Number} timeout in ms (`100`)\n * @param {Boolean} whether to execute at the beginning (`false`)\n * @api public\n */\nfunction debounce(func, wait, immediate){\n var timeout, args, context, timestamp, result;\n if (null == wait) wait = 100;\n\n function later() {\n var last = Date.now() - timestamp;\n\n if (last < wait && last >= 0) {\n timeout = setTimeout(later, wait - last);\n } else {\n timeout = null;\n if (!immediate) {\n result = func.apply(context, args);\n context = args = null;\n }\n }\n };\n\n var debounced = function(){\n context = this;\n args = arguments;\n timestamp = Date.now();\n var callNow = immediate && !timeout;\n if (!timeout) timeout = setTimeout(later, wait);\n if (callNow) {\n result = func.apply(context, args);\n context = args = null;\n }\n\n return result;\n };\n\n debounced.clear = function() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n };\n \n debounced.flush = function() {\n if (timeout) {\n result = func.apply(context, args);\n context = args = null;\n \n clearTimeout(timeout);\n timeout = null;\n }\n };\n\n return debounced;\n};\n\n// Adds compatibility for ES modules\ndebounce.debounce = debounce;\n\nmodule.exports = debounce;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var Mexp=require('./postfix_evaluator.js');\r\nMexp.prototype.formulaEval = function () {\r\n\t\"use strict\";\r\n\tvar stack=[],pop1,pop2,pop3;\r\n\tvar disp=[];\r\n\tvar temp='';\r\n\tvar arr=this.value;\r\n\tfor(var i=0;i\"+pop2.value+\"\"+arr[i].show+\"\"+pop1.value+\"\",type:10});\r\n\t\t\telse disp.push({value:(pop2.type!=1?\"(\":\"\")+pop2.value+(pop2.type!=1?\")\":\"\")+\"\"+pop1.value+\"\",type:1});\r\n\t\t}\r\n\t\telse if(arr[i].type===2||arr[i].type===9){\r\n\t\t\tpop1=disp.pop();\r\n\t\t\tpop2=disp.pop();\r\n\t\t\tdisp.push({value:(pop2.type!=1?\"(\":\"\")+pop2.value+(pop2.type!=1?\")\":\"\")+arr[i].show+(pop1.type!=1?\"(\":\"\")+pop1.value+(pop1.type!=1?\")\":\"\"),type:arr[i].type});\r\n\t\t}\r\n\t\telse if(arr[i].type===12){\r\n\t\t\tpop1=disp.pop();\r\n\t\t\tpop2=disp.pop();\r\n\t\t\tpop3=disp.pop();\r\n\t\t\tdisp.push({value:arr[i].show+\"(\"+pop3.value+\",\"+pop2.value+\",\"+pop1.value+\")\",type:12});\r\n\t\t}\r\n\t}\r\n\treturn disp[0].value;\r\n};\r\nmodule.exports=Mexp;","'use strict'\r\nvar Mexp = require('./math_function.js')\r\nfunction inc(arr, val) {\r\n\tfor (var i = 0; i < arr.length; i++) {\r\n\t\tarr[i] += val\r\n\t}\r\n\treturn arr\r\n}\r\nvar tokens = [\r\n\t{ token: 'sin', show: 'sin', type: 0, value: Mexp.math.sin },\r\n\t{ token: 'cos', show: 'cos', type: 0, value: Mexp.math.cos },\r\n\t{ token: 'tan', show: 'tan', type: 0, value: Mexp.math.tan },\r\n\t{ token: 'pi', show: 'π', type: 3, value: 'PI' },\r\n\t{ token: '(', show: '(', type: 4, value: '(' },\r\n\t{ token: ')', show: ')', type: 5, value: ')' },\r\n\t{ token: 'P', show: 'P', type: 10, value: Mexp.math.P },\r\n\t{ token: 'C', show: 'C', type: 10, value: Mexp.math.C },\r\n\t{ token: ' ', show: ' ', type: 14, value: ' '.anchor },\r\n\t{ token: 'asin', show: 'asin', type: 0, value: Mexp.math.asin },\r\n\t{ token: 'acos', show: 'acos', type: 0, value: Mexp.math.acos },\r\n\t{ token: 'atan', show: 'atan', type: 0, value: Mexp.math.atan },\r\n\t{ token: '7', show: '7', type: 1, value: '7' },\r\n\t{ token: '8', show: '8', type: 1, value: '8' },\r\n\t{ token: '9', show: '9', type: 1, value: '9' },\r\n\t{ token: 'int', show: 'Int', type: 0, value: Math.floor },\r\n\t{ token: 'cosh', show: 'cosh', type: 0, value: Mexp.math.cosh },\r\n\t{ token: 'acosh', show: 'acosh', type: 0, value: Mexp.math.acosh },\r\n\t{ token: 'ln', show: ' ln', type: 0, value: Math.log },\r\n\t{ token: '^', show: '^', type: 10, value: Math.pow },\r\n\t{ token: 'root', show: 'root', type: 0, value: Math.sqrt },\r\n\t{ token: '4', show: '4', type: 1, value: '4' },\r\n\t{ token: '5', show: '5', type: 1, value: '5' },\r\n\t{ token: '6', show: '6', type: 1, value: '6' },\r\n\t{ token: '/', show: '÷', type: 2, value: Mexp.math.div },\r\n\t{ token: '!', show: '!', type: 7, value: Mexp.math.fact },\r\n\t{ token: 'tanh', show: 'tanh', type: 0, value: Mexp.math.tanh },\r\n\t{ token: 'atanh', show: 'atanh', type: 0, value: Mexp.math.atanh },\r\n\t{ token: 'Mod', show: ' Mod ', type: 2, value: Mexp.math.mod },\r\n\t{ token: '1', show: '1', type: 1, value: '1' },\r\n\t{ token: '2', show: '2', type: 1, value: '2' },\r\n\t{ token: '3', show: '3', type: 1, value: '3' },\r\n\t{ token: '*', show: '×', type: 2, value: Mexp.math.mul },\r\n\t{ token: 'sinh', show: 'sinh', type: 0, value: Mexp.math.sinh },\r\n\t{ token: 'asinh', show: 'asinh', type: 0, value: Mexp.math.asinh },\r\n\t{ token: 'e', show: 'e', type: 3, value: 'E' },\r\n\t{ token: 'log', show: ' log', type: 0, value: Mexp.math.log },\r\n\t{ token: '0', show: '0', type: 1, value: '0' },\r\n\t{ token: '.', show: '.', type: 6, value: '.' },\r\n\t{ token: '+', show: '+', type: 9, value: Mexp.math.add },\r\n\t{ token: '-', show: '-', type: 9, value: Mexp.math.sub },\r\n\t{ token: ',', show: ',', type: 11, value: ',' },\r\n\t{ token: 'Sigma', show: 'Σ', type: 12, value: Mexp.math.sigma },\r\n\t{ token: 'n', show: 'n', type: 13, value: 'n' },\r\n\t{ token: 'Pi', show: 'Π', type: 12, value: Mexp.math.Pi },\r\n\t{ token: 'pow', show: 'pow', type: 8, value: Math.pow, numberOfArguments: 2 },\r\n\t{ token: '&', show: '&', type: 9, value: Mexp.math.and },\r\n]\r\nvar preced = {\r\n\t0: 11,\r\n\t1: 0,\r\n\t2: 3,\r\n\t3: 0,\r\n\t4: 0,\r\n\t5: 0,\r\n\t6: 0,\r\n\t7: 11,\r\n\t8: 11,\r\n\t9: 1,\r\n\t10: 10,\r\n\t11: 0,\r\n\t12: 11,\r\n\t13: 0,\r\n\t14: -1,\r\n\t15: 11, // will be filtered after lexer\r\n} // stores precedence by types\r\nfor (var i = 0; i < tokens.length; i++) {\r\n\ttokens[i].precedence = preced[tokens[i].type]\r\n}\r\nvar type0 = {\r\n\t0: true,\r\n\t1: true,\r\n\t3: true,\r\n\t4: true,\r\n\t6: true,\r\n\t8: true,\r\n\t9: true,\r\n\t12: true,\r\n\t13: true,\r\n\t14: true,\r\n\t15: true,\r\n} // type2:true,type4:true,type9:true,type11:true,type21:true,type22\r\nvar type1 = {\r\n\t0: true,\r\n\t1: true,\r\n\t2: true,\r\n\t3: true,\r\n\t4: true,\r\n\t5: true,\r\n\t6: true,\r\n\t7: true,\r\n\t8: true,\r\n\t9: true,\r\n\t10: true,\r\n\t11: true,\r\n\t12: true,\r\n\t13: true,\r\n\t15: true,\r\n} // type3:true,type5:true,type7:true,type23\r\nvar type1Asterick = {\r\n\t0: true,\r\n\t3: true,\r\n\t4: true,\r\n\t8: true,\r\n\t12: true,\r\n\t13: true,\r\n\t15: true,\r\n}\r\nvar empty = {}\r\nvar type3Asterick = {\r\n\t0: true,\r\n\t1: true,\r\n\t3: true,\r\n\t4: true,\r\n\t6: true,\r\n\t8: true,\r\n\t12: true,\r\n\t13: true,\r\n\t15: true,\r\n} // type_5:true,type_7:true,type_23\r\nvar type6 = {\r\n\t1: true,\r\n}\r\nvar newAr = [\r\n\t[],\r\n\t[\r\n\t\t'1',\r\n\t\t'2',\r\n\t\t'3',\r\n\t\t'7',\r\n\t\t'8',\r\n\t\t'9',\r\n\t\t'4',\r\n\t\t'5',\r\n\t\t'6',\r\n\t\t'+',\r\n\t\t'-',\r\n\t\t'*',\r\n\t\t'/',\r\n\t\t'(',\r\n\t\t')',\r\n\t\t'^',\r\n\t\t'!',\r\n\t\t'P',\r\n\t\t'C',\r\n\t\t'e',\r\n\t\t'0',\r\n\t\t'.',\r\n\t\t',',\r\n\t\t'n',\r\n\t\t' ',\r\n\t\t'&',\r\n\t],\r\n\t['pi', 'ln', 'Pi'],\r\n\t['sin', 'cos', 'tan', 'Del', 'int', 'Mod', 'log', 'pow'],\r\n\t['asin', 'acos', 'atan', 'cosh', 'root', 'tanh', 'sinh'],\r\n\t['acosh', 'atanh', 'asinh', 'Sigma'],\r\n]\r\n\r\nfunction match(str1, str2, i, x) {\r\n\tfor (var f = 0; f < x; f++) {\r\n\t\tif (str1[i + f] !== str2[f]) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t}\r\n\treturn true\r\n}\r\nMexp.tokenTypes = {\r\n\tFUNCTION_WITH_ONE_ARG: 0,\r\n\tNUMBER: 1,\r\n\tBINARY_OPERATOR_HIGH_PRECENDENCE: 2,\r\n\tCONSTANT: 3,\r\n\tOPENING_PARENTHESIS: 4,\r\n\tCLOSING_PARENTHESIS: 5,\r\n\tDECIMAL: 6,\r\n\tPOSTFIX_FUNCTION_WITH_ONE_ARG: 7,\r\n\tFUNCTION_WITH_N_ARGS: 8,\r\n\tBINARY_OPERATOR_LOW_PRECENDENCE: 9,\r\n\tBINARY_OPERATOR_PERMUTATION: 10,\r\n\tCOMMA: 11,\r\n\tEVALUATED_FUNCTION: 12,\r\n\tEVALUATED_FUNCTION_PARAMETER: 13,\r\n\tSPACE: 14,\r\n}\r\n/**\r\n \r\n 0 : function with syntax function_name(Maths_exp)\r\n 1 : numbers\r\n 2 : binary operators like * / Mod left associate and same precedence\r\n 3 : Math constant values like e,pi,Cruncher ans\r\n 4 : opening bracket\r\n 5 : closing bracket\r\n 6 : decimal\r\n 7 : function with syntax (Math_exp)function_name\r\n 8: function with syntax function_name(Math_exp1,Math_exp2)\r\n 9 : binary operator like +,-\r\n 10: binary operator like P C or ^\r\n 11: ,\r\n 12: function with , seperated three parameters and third parameter is a string that will be mexp string\r\n 13: variable of Sigma function\r\n */\r\nMexp.addToken = function (newTokens) {\r\n\tfor (var i = 0; i < newTokens.length; i++) {\r\n\t\tvar x = newTokens[i].token.length\r\n\t\tvar temp = -1\r\n\t\tif (newTokens[i].type === Mexp.tokenTypes.FUNCTION_WITH_N_ARGS && newTokens[i].numberOfArguments === undefined) {\r\n\t\t\tnewTokens[i].numberOfArguments = 2\r\n\t\t}\r\n\r\n\t\t// newAr is a specially designed data structure index of 1d array = length of tokens\r\n\t\tnewAr[x] = newAr[x] || []\r\n\t\tfor (var y = 0; y < newAr[x].length; y++) {\r\n\t\t\tif (newTokens[i].token === newAr[x][y]) {\r\n\t\t\t\ttemp = indexOfToken(newAr[x][y], tokens)\r\n\t\t\t\tbreak\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (temp === -1) {\r\n\t\t\ttokens.push(newTokens[i])\r\n\t\t\tnewTokens[i].precedence = preced[newTokens[i].type]\r\n\t\t\tif (newAr.length <= newTokens[i].token.length) {\r\n\t\t\t\tnewAr[newTokens[i].token.length] = []\r\n\t\t\t}\r\n\t\t\tnewAr[newTokens[i].token.length].push(newTokens[i].token)\r\n\t\t} else {\r\n\t\t\t// overwrite\r\n\t\t\ttokens[temp] = newTokens[i]\r\n\t\t\tnewTokens[i].precedence = preced[newTokens[i].type]\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction indexOfToken(key, tokens) {\r\n\tfor (var search = 0; search < tokens.length; search++) {\r\n\t\tif (tokens[search].token === key) return search\r\n\t}\r\n\treturn -1\r\n}\r\nfunction tokenize(string) {\r\n\tvar nodes = []\r\n\tvar length = string.length\r\n\tvar key, x, y\r\n\tfor (var i = 0; i < length; i++) {\r\n\t\tif (i < length - 1 && string[i] === ' ' && string[i + 1] === ' ') {\r\n\t\t\tcontinue\r\n\t\t}\r\n\t\tkey = ''\r\n\t\tfor (x = string.length - i > newAr.length - 2 ? newAr.length - 1 : string.length - i; x > 0; x--) {\r\n\t\t\tif (newAr[x] === undefined) continue\r\n\t\t\tfor (y = 0; y < newAr[x].length; y++) {\r\n\t\t\t\tif (match(string, newAr[x][y], i, x)) {\r\n\t\t\t\t\tkey = newAr[x][y]\r\n\t\t\t\t\ty = newAr[x].length\r\n\t\t\t\t\tx = 0\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\ti += key.length - 1\r\n\t\tif (key === '') {\r\n\t\t\tthrow new Mexp.Exception(\"Can't understand after \" + string.slice(i))\r\n\t\t}\r\n\t\tnodes.push(tokens[indexOfToken(key, tokens)])\r\n\t}\r\n\treturn nodes\r\n}\r\n\r\nvar changeSignObj = {\r\n\tvalue: Mexp.math.changeSign,\r\n\ttype: 0,\r\n\tpre: 21,\r\n\tshow: '-',\r\n}\r\nvar closingParObj = {\r\n\tvalue: ')',\r\n\tshow: ')',\r\n\ttype: 5,\r\n\tpre: 0,\r\n}\r\nvar openingParObj = {\r\n\tvalue: '(',\r\n\ttype: 4,\r\n\tpre: 0,\r\n\tshow: '(',\r\n}\r\nMexp.lex = function (inp, tokens) {\r\n\t'use strict'\r\n\r\n\tvar str = [openingParObj]\r\n\r\n\tvar ptc = [] // Parenthesis to close at the beginning is after one token\r\n\tvar inpStr = inp\r\n\tvar allowed = type0\r\n\tvar bracToClose = 0\r\n\tvar asterick = empty\r\n\tvar prevKey = ''\r\n\tvar i\r\n\tif (typeof tokens !== 'undefined') {\r\n\t\tMexp.addToken(tokens)\r\n\t}\r\n\tvar obj = {}\r\n\tvar nodes = tokenize(inpStr)\r\n\tfor (i = 0; i < nodes.length; i++) {\r\n\t\tvar node = nodes[i]\r\n\t\tif (node.type === 14) {\r\n\t\t\tif (\r\n\t\t\t\ti > 0 &&\r\n\t\t\t\ti < nodes.length - 1 &&\r\n\t\t\t\tnodes[i + 1].type === 1 &&\r\n\t\t\t\t(nodes[i - 1].type === 1 || nodes[i - 1].type === 6)\r\n\t\t\t) {\r\n\t\t\t\tthrow new Mexp.Exception('Unexpected Space')\r\n\t\t\t}\r\n\t\t\tcontinue\r\n\t\t}\r\n\t\tvar cToken = node.token\r\n\t\tvar cType = node.type\r\n\t\tvar cEv = node.value\r\n\t\tvar cPre = node.precedence\r\n\t\tvar cShow = node.show\r\n\t\tvar pre = str[str.length - 1]\r\n\t\tvar j\r\n\t\tfor (j = ptc.length; j--; ) {\r\n\t\t\t// loop over ptc\r\n\t\t\tif (ptc[j] === 0) {\r\n\t\t\t\tif ([0, 2, 3, 4, 5, 9, 11, 12, 13].indexOf(cType) !== -1) {\r\n\t\t\t\t\tif (allowed[cType] !== true) {\r\n\t\t\t\t\t\tthrow new Mexp.Exception(cToken + ' is not allowed after ' + prevKey)\r\n\t\t\t\t\t}\r\n\t\t\t\t\tstr.push(closingParObj)\r\n\t\t\t\t\tallowed = type1\r\n\t\t\t\t\tasterick = type3Asterick\r\n\t\t\t\t\tptc.pop()\r\n\t\t\t\t}\r\n\t\t\t} else break\r\n\t\t}\r\n\t\tif (allowed[cType] !== true) {\r\n\t\t\tthrow new Mexp.Exception(cToken + ' is not allowed after ' + prevKey)\r\n\t\t}\r\n\t\tif (asterick[cType] === true) {\r\n\t\t\tcType = 2\r\n\t\t\tcEv = Mexp.math.mul\r\n\t\t\tcShow = '×'\r\n\t\t\tcPre = 3\r\n\t\t\ti = i - 1\r\n\t\t}\r\n\t\tobj = {\r\n\t\t\tvalue: cEv,\r\n\t\t\ttype: cType,\r\n\t\t\tpre: cPre,\r\n\t\t\tshow: cShow,\r\n\t\t\tnumberOfArguments: node.numberOfArguments,\r\n\t\t}\r\n\t\tif (cType === 0) {\r\n\t\t\tallowed = type0\r\n\t\t\tasterick = empty\r\n\t\t\tinc(ptc, 2)\r\n\t\t\tstr.push(obj)\r\n\t\t\tif (nodes[i + 1].type !== 4) {\r\n\t\t\t\tstr.push(openingParObj)\r\n\t\t\t\tptc.push(2)\r\n\t\t\t}\r\n\t\t\t// bracToClose++\r\n\t\t} else if (cType === 1) {\r\n\t\t\tif (pre.type === 1) {\r\n\t\t\t\tpre.value += cEv\r\n\t\t\t\tinc(ptc, 1)\r\n\t\t\t} else {\r\n\t\t\t\tstr.push(obj)\r\n\t\t\t}\r\n\t\t\tallowed = type1\r\n\t\t\tasterick = type1Asterick\r\n\t\t} else if (cType === 2) {\r\n\t\t\tallowed = type0\r\n\t\t\tasterick = empty\r\n\t\t\tinc(ptc, 2)\r\n\t\t\tstr.push(obj)\r\n\t\t} else if (cType === 3) {\r\n\t\t\t// constant\r\n\t\t\tstr.push(obj)\r\n\t\t\tallowed = type1\r\n\t\t\tasterick = type3Asterick\r\n\t\t} else if (cType === 4) {\r\n\t\t\tinc(ptc, 1)\r\n\t\t\tbracToClose++\r\n\t\t\tallowed = type0\r\n\t\t\tasterick = empty\r\n\t\t\tstr.push(obj)\r\n\t\t} else if (cType === 5) {\r\n\t\t\tif (!bracToClose) {\r\n\t\t\t\tthrow new Mexp.Exception('Closing parenthesis are more than opening one, wait What!!!')\r\n\t\t\t}\r\n\t\t\tbracToClose--\r\n\t\t\tallowed = type1\r\n\t\t\tasterick = type3Asterick\r\n\t\t\tstr.push(obj)\r\n\t\t\tinc(ptc, 1)\r\n\t\t} else if (cType === 6) {\r\n\t\t\tif (pre.hasDec) {\r\n\t\t\t\tthrow new Mexp.Exception('Two decimals are not allowed in one number')\r\n\t\t\t}\r\n\t\t\tif (pre.type !== 1) {\r\n\t\t\t\tpre = {\r\n\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\ttype: 1,\r\n\t\t\t\t\tpre: 0,\r\n\t\t\t\t} // pre needs to be changed as it will the last value now to be safe in later code\r\n\t\t\t\tstr.push(pre)\r\n\t\t\t\t// inc(ptc, 1)\r\n\t\t\t}\r\n\t\t\tallowed = type6\r\n\t\t\tinc(ptc, 1)\r\n\t\t\tasterick = empty\r\n\t\t\tpre.value += cEv\r\n\t\t\tpre.hasDec = true\r\n\t\t} else if (cType === 7) {\r\n\t\t\tallowed = type1\r\n\t\t\tasterick = type3Asterick\r\n\t\t\tinc(ptc, 1)\r\n\t\t\tstr.push(obj)\r\n\t\t}\r\n\t\tif (cType === 8) {\r\n\t\t\tallowed = type0\r\n\t\t\tasterick = empty\r\n\t\t\tinc(ptc, node.numberOfArguments + 2)\r\n\t\t\tstr.push(obj)\r\n\t\t\t// str.push(openingParObj)\r\n\t\t\tif (nodes[i + 1].type !== 4) {\r\n\t\t\t\tstr.push(openingParObj)\r\n\t\t\t\tptc.push(node.numberOfArguments + 2)\r\n\t\t\t}\r\n\t\t} else if (cType === 9) {\r\n\t\t\tif (pre.type === 9) {\r\n\t\t\t\tif (pre.value === Mexp.math.add) {\r\n\t\t\t\t\tpre.value = cEv\r\n\t\t\t\t\tpre.show = cShow\r\n\t\t\t\t\tinc(ptc, 1)\r\n\t\t\t\t} else if (pre.value === Mexp.math.sub && cShow === '-') {\r\n\t\t\t\t\tpre.value = Mexp.math.add\r\n\t\t\t\t\tpre.show = '+'\r\n\t\t\t\t\tinc(ptc, 1)\r\n\t\t\t\t}\r\n\t\t\t} else if (pre.type !== 5 && pre.type !== 7 && pre.type !== 1 && pre.type !== 3 && pre.type !== 13) {\r\n\t\t\t\t// changesign only when negative is found\r\n\t\t\t\tif (cToken === '-') {\r\n\t\t\t\t\t// do nothing for + token\r\n\t\t\t\t\t// don't add with the above if statement as that will run the else statement of parent if on Ctoken +\r\n\t\t\t\t\tallowed = type0\r\n\t\t\t\t\tasterick = empty\r\n\t\t\t\t\tinc(ptc, 2).push(2)\r\n\t\t\t\t\tstr.push(changeSignObj)\r\n\t\t\t\t\tstr.push(openingParObj)\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tstr.push(obj)\r\n\t\t\t\tinc(ptc, 2)\r\n\t\t\t}\r\n\t\t\tallowed = type0\r\n\t\t\tasterick = empty\r\n\t\t} else if (cType === 10) {\r\n\t\t\tallowed = type0\r\n\t\t\tasterick = empty\r\n\t\t\tinc(ptc, 2)\r\n\t\t\tstr.push(obj)\r\n\t\t} else if (cType === 11) {\r\n\t\t\tallowed = type0\r\n\t\t\tasterick = empty\r\n\t\t\tstr.push(obj)\r\n\t\t} else if (cType === 12) {\r\n\t\t\tallowed = type0\r\n\t\t\tasterick = empty\r\n\t\t\tinc(ptc, 6)\r\n\t\t\tstr.push(obj)\r\n\t\t\tif (nodes[i + 1].type !== 4) {\r\n\t\t\t\tstr.push(openingParObj)\r\n\t\t\t\tptc.push(6)\r\n\t\t\t}\r\n\t\t} else if (cType === 13) {\r\n\t\t\tallowed = type1\r\n\t\t\tasterick = type3Asterick\r\n\t\t\tstr.push(obj)\r\n\t\t}\r\n\r\n\t\tinc(ptc, -1)\r\n\t\tprevKey = cToken\r\n\t}\r\n\tfor (j = ptc.length; j--; ) {\r\n\t\t// loop over ptc\r\n\t\tstr.push(closingParObj)\r\n\t}\r\n\tif (allowed[5] !== true) {\r\n\t\tthrow new Mexp.Exception('complete the expression')\r\n\t}\r\n\twhile (bracToClose--) {\r\n\t\tstr.push(closingParObj)\r\n\t}\r\n\r\n\tstr.push(closingParObj)\r\n\t// console.log(str);\r\n\treturn new Mexp(str)\r\n}\r\nmodule.exports = Mexp\r\n","\"use strict\";\r\nvar Mexp = function (parsed) {\r\n this.value = parsed\r\n}\r\n\r\nMexp.math = {\r\n isDegree: true, // mode of calculator\r\n acos: function (x) {\r\n return (Mexp.math.isDegree ? 180 / Math.PI * Math.acos(x) : Math.acos(x))\r\n },\r\n add: function (a, b) {\r\n return a + b\r\n },\r\n asin: function (x) {\r\n return (Mexp.math.isDegree ? 180 / Math.PI * Math.asin(x) : Math.asin(x))\r\n },\r\n atan: function (x) {\r\n return (Mexp.math.isDegree ? 180 / Math.PI * Math.atan(x) : Math.atan(x))\r\n },\r\n acosh: function (x) {\r\n return Math.log(x + Math.sqrt(x * x - 1))\r\n },\r\n asinh: function (x) {\r\n return Math.log(x + Math.sqrt(x * x + 1))\r\n },\r\n atanh: function (x) {\r\n return Math.log((1 + x) / (1 - x))\r\n },\r\n C: function (n, r) {\r\n var pro = 1\r\n var other = n - r\r\n var choice = r\r\n if (choice < other) {\r\n choice = other\r\n other = r\r\n }\r\n for (var i = choice + 1; i <= n; i++) {\r\n pro *= i\r\n }\r\n return pro / Mexp.math.fact(other)\r\n },\r\n changeSign: function (x) {\r\n return -x\r\n },\r\n cos: function (x) {\r\n if (Mexp.math.isDegree) x = Mexp.math.toRadian(x)\r\n return Math.cos(x)\r\n },\r\n cosh: function (x) {\r\n return (Math.pow(Math.E, x) + Math.pow(Math.E, -1 * x)) / 2\r\n },\r\n div: function (a, b) {\r\n return a / b\r\n },\r\n fact: function (n) {\r\n if (n % 1 !== 0) return 'NaN'\r\n var pro = 1\r\n for (var i = 2; i <= n; i++) {\r\n pro *= i\r\n }\r\n return pro\r\n },\r\n inverse: function (x) {\r\n return 1 / x\r\n },\r\n log: function (i) {\r\n return Math.log(i) / Math.log(10)\r\n },\r\n mod: function (a, b) {\r\n return a % b\r\n },\r\n mul: function (a, b) {\r\n return a * b\r\n },\r\n P: function (n, r) {\r\n var pro = 1\r\n for (var i = Math.floor(n) - Math.floor(r) + 1; i <= Math.floor(n); i++) {\r\n pro *= i\r\n }\r\n return pro\r\n },\r\n Pi: function (low, high, ex) {\r\n var pro = 1\r\n for (var i = low; i <= high; i++) {\r\n pro *= Number(ex.postfixEval({\r\n n: i\r\n }))\r\n }\r\n return pro\r\n },\r\n pow10x: function (e) {\r\n var x = 1\r\n while (e--) {\r\n x *= 10\r\n }\r\n return x\r\n },\r\n sigma: function (low, high, ex) {\r\n var sum = 0\r\n for (var i = low; i <= high; i++) {\r\n sum += Number(ex.postfixEval({\r\n n: i\r\n }))\r\n }\r\n return sum\r\n },\r\n sin: function (x) {\r\n if (Mexp.math.isDegree) x = Mexp.math.toRadian(x)\r\n return Math.sin(x)\r\n },\r\n sinh: function (x) {\r\n return (Math.pow(Math.E, x) - Math.pow(Math.E, -1 * x)) / 2\r\n },\r\n sub: function (a, b) {\r\n return a - b\r\n },\r\n tan: function (x) {\r\n if (Mexp.math.isDegree) x = Mexp.math.toRadian(x)\r\n return Math.tan(x)\r\n },\r\n tanh: function (x) {\r\n return Mexp.sinha(x) / Mexp.cosha(x)\r\n },\r\n toRadian: function (x) {\r\n return x * Math.PI / 180\r\n },\r\n and: function (a, b) {\r\n return a & b\r\n }\r\n}\r\nMexp.Exception = function (message) {\r\n this.message = message\r\n}\r\nmodule.exports = Mexp\r\n","\r\nvar Mexp = require('./lexer.js');\r\n\r\nMexp.prototype.toPostfix = function () {\r\n\t'use strict';\r\n\tvar post = [], elem, popped, prep, pre, ele;\r\n\tvar stack = [{ value: \"(\", type: 4, pre: 0 }];\r\n\tvar arr = this.value;\r\n\tfor (var i = 1; i < arr.length; i++) {\r\n\t\tif (arr[i].type === 1 || arr[i].type === 3 || arr[i].type === 13) {\t//if token is number,constant,or n(which is also a special constant in our case)\r\n\t\t\tif (arr[i].type === 1)\r\n\t\t\t\tarr[i].value = Number(arr[i].value);\r\n\t\t\tpost.push(arr[i]);\r\n\t\t}\r\n\t\telse if (arr[i].type === 4) {\r\n\t\t\tstack.push(arr[i]);\r\n\t\t}\r\n\t\telse if (arr[i].type === 5) {\r\n\t\t\twhile ((popped = stack.pop()).type !== 4) {\r\n\t\t\t\tpost.push(popped);\r\n\t\t\t}\r\n\t\t}\r\n\t\telse if (arr[i].type === 11) {\r\n\t\t\twhile ((popped = stack.pop()).type !== 4) {\r\n\t\t\t\tpost.push(popped);\r\n\t\t\t}\r\n\t\t\tstack.push(popped);\r\n\t\t}\r\n\t\telse {\r\n\t\t\telem = arr[i];\r\n\t\t\tpre = elem.pre;\r\n\t\t\tele = stack[stack.length - 1];\r\n\t\t\tprep = ele.pre;\r\n\t\t\tvar flag = ele.value == 'Math.pow' && elem.value == 'Math.pow';\r\n\t\t\tif (pre > prep) stack.push(elem);\r\n\t\t\telse {\r\n\t\t\t\twhile (prep >= pre && !flag || flag && pre < prep) {\r\n\t\t\t\t\tpopped = stack.pop();\r\n\t\t\t\t\tele = stack[stack.length - 1];\r\n\t\t\t\t\tpost.push(popped);\r\n\t\t\t\t\tprep = ele.pre;\r\n\t\t\t\t\tflag = elem.value == 'Math.pow' && ele.value == 'Math.pow';\r\n\t\t\t\t}\r\n\t\t\t\tstack.push(elem);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn new Mexp(post);\r\n};\r\nmodule.exports = Mexp;","var Mexp = require('./postfix.js')\r\nMexp.prototype.postfixEval = function (UserDefined) {\r\n\t'use strict'\r\n\tUserDefined = UserDefined || {}\r\n\tUserDefined.PI = Math.PI\r\n\tUserDefined.E = Math.E\r\n\tvar stack = [],\r\n\t\tpop1,\r\n\t\tpop2,\r\n\t\tpop3\r\n\tvar disp = []\r\n\tvar temp = ''\r\n\tvar arr = this.value\r\n\tvar bool = typeof UserDefined.n !== 'undefined'\r\n\tfor (var i = 0; i < arr.length; i++) {\r\n\t\tif (arr[i].type === 1) {\r\n\t\t\tstack.push({ value: arr[i].value, type: 1 })\r\n\t\t} else if (arr[i].type === 3) {\r\n\t\t\tstack.push({ value: UserDefined[arr[i].value], type: 1 })\r\n\t\t} else if (arr[i].type === 0) {\r\n\t\t\tif (typeof stack[stack.length - 1].type === 'undefined') {\r\n\t\t\t\tstack[stack.length - 1].value.push(arr[i])\r\n\t\t\t} else stack[stack.length - 1].value = arr[i].value(stack[stack.length - 1].value)\r\n\t\t} else if (arr[i].type === 7) {\r\n\t\t\tif (typeof stack[stack.length - 1].type === 'undefined') {\r\n\t\t\t\tstack[stack.length - 1].value.push(arr[i])\r\n\t\t\t} else stack[stack.length - 1].value = arr[i].value(stack[stack.length - 1].value)\r\n\t\t} else if (arr[i].type === 8) {\r\n\t\t\tvar popped = []\r\n\t\t\tfor (var x = 0; x < arr[i].numberOfArguments; x++) {\r\n\t\t\t\tpopped.push(stack.pop().value)\r\n\t\t\t}\r\n\t\t\tstack.push({ type: 1, value: arr[i].value.apply(arr[i], popped.reverse()) })\r\n\t\t} else if (arr[i].type === 10) {\r\n\t\t\tpop1 = stack.pop()\r\n\t\t\tpop2 = stack.pop()\r\n\t\t\tif (typeof pop2.type === 'undefined') {\r\n\t\t\t\tpop2.value = pop2.concat(pop1)\r\n\t\t\t\tpop2.value.push(arr[i])\r\n\t\t\t\tstack.push(pop2)\r\n\t\t\t} else if (typeof pop1.type === 'undefined') {\r\n\t\t\t\tpop1.unshift(pop2)\r\n\t\t\t\tpop1.push(arr[i])\r\n\t\t\t\tstack.push(pop1)\r\n\t\t\t} else {\r\n\t\t\t\tstack.push({ type: 1, value: arr[i].value(pop2.value, pop1.value) })\r\n\t\t\t}\r\n\t\t} else if (arr[i].type === 2 || arr[i].type === 9) {\r\n\t\t\tpop1 = stack.pop()\r\n\t\t\tpop2 = stack.pop()\r\n\t\t\tif (typeof pop2.type === 'undefined') {\r\n\t\t\t\tpop2 = pop2.concat(pop1)\r\n\t\t\t\tpop2.push(arr[i])\r\n\t\t\t\tstack.push(pop2)\r\n\t\t\t} else if (typeof pop1.type === 'undefined') {\r\n\t\t\t\tpop1.unshift(pop2)\r\n\t\t\t\tpop1.push(arr[i])\r\n\t\t\t\tstack.push(pop1)\r\n\t\t\t} else {\r\n\t\t\t\tstack.push({ type: 1, value: arr[i].value(pop2.value, pop1.value) })\r\n\t\t\t}\r\n\t\t} else if (arr[i].type === 12) {\r\n\t\t\tpop1 = stack.pop()\r\n\t\t\tif (typeof pop1.type !== 'undefined') {\r\n\t\t\t\tpop1 = [pop1]\r\n\t\t\t}\r\n\t\t\tpop2 = stack.pop()\r\n\t\t\tpop3 = stack.pop()\r\n\t\t\tstack.push({ type: 1, value: arr[i].value(pop3.value, pop2.value, new Mexp(pop1)) })\r\n\t\t} else if (arr[i].type === 13) {\r\n\t\t\tif (bool) {\r\n\t\t\t\tstack.push({ value: UserDefined[arr[i].value], type: 3 })\r\n\t\t\t} else stack.push([arr[i]])\r\n\t\t}\r\n\t}\r\n\tif (stack.length > 1) {\r\n\t\tthrow new Mexp.Exception('Uncaught Syntax error')\r\n\t}\r\n\treturn stack[0].value > 1000000000000000 ? 'Infinity' : parseFloat(stack[0].value.toFixed(15))\r\n}\r\nMexp.eval = function (str, tokens, obj) {\r\n\tif (typeof tokens === 'undefined') {\r\n\t\treturn this.lex(str).toPostfix().postfixEval()\r\n\t} else if (typeof obj === 'undefined') {\r\n\t\tif (typeof tokens.length !== 'undefined') return this.lex(str, tokens).toPostfix().postfixEval()\r\n\t\telse return this.lex(str).toPostfix().postfixEval(tokens)\r\n\t} else return this.lex(str, tokens).toPostfix().postfixEval(obj)\r\n}\r\nmodule.exports = Mexp\r\n","/**\n * Module dependencies\n */\nvar balanced = require(\"balanced-match\")\nvar reduceFunctionCall = require(\"reduce-function-call\")\nvar mexp = require(\"math-expression-evaluator\")\n\n/**\n * Constantes\n */\nvar MAX_STACK = 100 // should be enough for a single calc()...\nvar NESTED_CALC_RE = /(\\+|\\-|\\*|\\\\|[^a-z]|)(\\s*)(\\()/g\n\n/**\n * Global variables\n */\nvar stack\n\n/**\n * Expose reduceCSSCalc plugin\n *\n * @type {Function}\n */\nmodule.exports = reduceCSSCalc\n\n/**\n * Reduce CSS calc() in a string, whenever it's possible\n *\n * @param {String} value css input\n */\nfunction reduceCSSCalc(value, decimalPrecision) {\n stack = 0\n decimalPrecision = Math.pow(10, decimalPrecision === undefined ? 5 : decimalPrecision)\n\n // Allow calc() on multiple lines\n value = value.replace(/\\n+/g, \" \")\n\n /**\n * Evaluates an expression\n *\n * @param {String} expression\n * @returns {String}\n */\n function evaluateExpression (expression, functionIdentifier, call) {\n if (stack++ > MAX_STACK) {\n stack = 0\n throw new Error(\"Call stack overflow for \" + call)\n }\n\n if (expression === \"\") {\n throw new Error(functionIdentifier + \"(): '\" + call + \"' must contain a non-whitespace string\")\n }\n\n expression = evaluateNestedExpression(expression, call)\n\n var units = getUnitsInExpression(expression)\n\n // If the expression contains multiple units or CSS variables,\n // then let the expression be (i.e. browser calc())\n if (units.length > 1 || expression.indexOf(\"var(\") > -1) {\n return functionIdentifier + \"(\" + expression + \")\"\n }\n\n var unit = units[0] || \"\"\n\n if (unit === \"%\") {\n // Convert percentages to numbers, to handle expressions like: 50% * 50% (will become: 25%):\n // console.log(expression)\n expression = expression.replace(/\\b[0-9\\.]+%/g, function(percent) {\n return parseFloat(percent.slice(0, -1)) * 0.01\n })\n }\n\n // Remove units in expression:\n var toEvaluate = expression.replace(new RegExp(unit, \"gi\"), \"\")\n var result\n\n try {\n result = mexp.eval(toEvaluate)\n }\n catch (e) {\n return functionIdentifier + \"(\" + expression + \")\"\n }\n\n // Transform back to a percentage result:\n if (unit === \"%\") {\n result *= 100\n }\n\n // adjust rounding shit\n // (0.1 * 0.2 === 0.020000000000000004)\n if (functionIdentifier.length || unit === \"%\") {\n result = Math.round(result * decimalPrecision) / decimalPrecision\n }\n\n // Add unit\n result += unit\n\n return result\n }\n\n /**\n * Evaluates nested expressions\n *\n * @param {String} expression\n * @returns {String}\n */\n function evaluateNestedExpression(expression, call) {\n // Remove the calc part from nested expressions to ensure\n // better browser compatibility\n expression = expression.replace(/((?:\\-[a-z]+\\-)?calc)/g, \"\")\n var evaluatedPart = \"\"\n var nonEvaluatedPart = expression\n var matches\n while ((matches = NESTED_CALC_RE.exec(nonEvaluatedPart))) {\n if (matches[0].index > 0) {\n evaluatedPart += nonEvaluatedPart.substring(0, matches[0].index)\n }\n\n var balancedExpr = balanced(\"(\", \")\", nonEvaluatedPart.substring([0].index))\n if (balancedExpr.body === \"\") {\n throw new Error(\"'\" + expression + \"' must contain a non-whitespace string\")\n }\n\n var evaluated = evaluateExpression(balancedExpr.body, \"\", call)\n\n evaluatedPart += balancedExpr.pre + evaluated\n nonEvaluatedPart = balancedExpr.post\n }\n\n return evaluatedPart + nonEvaluatedPart\n }\n\n return reduceFunctionCall(value, /((?:\\-[a-z]+\\-)?calc)\\(/, evaluateExpression)\n}\n\n/**\n * Checks what units are used in an expression\n *\n * @param {String} expression\n * @returns {Array}\n */\n\nfunction getUnitsInExpression(expression) {\n var uniqueUnits = []\n var uniqueLowerCaseUnits = []\n var unitRegEx = /[\\.0-9]([%a-z]+)/gi\n var matches = unitRegEx.exec(expression)\n\n while (matches) {\n if (!matches || !matches[1]) {\n continue\n }\n\n if (uniqueLowerCaseUnits.indexOf(matches[1].toLowerCase()) === -1) {\n uniqueUnits.push(matches[1])\n uniqueLowerCaseUnits.push(matches[1].toLowerCase())\n }\n\n matches = unitRegEx.exec(expression)\n }\n\n return uniqueUnits\n}\n","module.exports = balanced;\nfunction balanced(a, b, str) {\n if (a instanceof RegExp) a = maybeMatch(a, str);\n if (b instanceof RegExp) b = maybeMatch(b, str);\n\n var r = range(a, b, str);\n\n return r && {\n start: r[0],\n end: r[1],\n pre: str.slice(0, r[0]),\n body: str.slice(r[0] + a.length, r[1]),\n post: str.slice(r[1] + b.length)\n };\n}\n\nfunction maybeMatch(reg, str) {\n var m = str.match(reg);\n return m ? m[0] : null;\n}\n\nbalanced.range = range;\nfunction range(a, b, str) {\n var begs, beg, left, right, result;\n var ai = str.indexOf(a);\n var bi = str.indexOf(b, ai + 1);\n var i = ai;\n\n if (ai >= 0 && bi > 0) {\n begs = [];\n left = str.length;\n\n while (i >= 0 && !result) {\n if (i == ai) {\n begs.push(i);\n ai = str.indexOf(a, i + 1);\n } else if (begs.length == 1) {\n result = [ begs.pop(), bi ];\n } else {\n beg = begs.pop();\n if (beg < left) {\n left = beg;\n right = bi;\n }\n\n bi = str.indexOf(b, i + 1);\n }\n\n i = ai < bi && ai >= 0 ? ai : bi;\n }\n\n if (begs.length) {\n result = [ left, right ];\n }\n }\n\n return result;\n}\n","/*\n * Module dependencies\n */\nvar balanced = require(\"balanced-match\")\n\n/**\n * Expose `reduceFunctionCall`\n *\n * @type {Function}\n */\nmodule.exports = reduceFunctionCall\n\n/**\n * Walkthrough all expressions, evaluate them and insert them into the declaration\n *\n * @param {Array} expressions\n * @param {Object} declaration\n */\n\nfunction reduceFunctionCall(string, functionRE, callback) {\n var call = string\n return getFunctionCalls(string, functionRE).reduce(function(string, obj) {\n return string.replace(obj.functionIdentifier + \"(\" + obj.matches.body + \")\", evalFunctionCall(obj.matches.body, obj.functionIdentifier, callback, call, functionRE))\n }, string)\n}\n\n/**\n * Parses expressions in a value\n *\n * @param {String} value\n * @returns {Array}\n * @api private\n */\n\nfunction getFunctionCalls(call, functionRE) {\n var expressions = []\n\n var fnRE = typeof functionRE === \"string\" ? new RegExp(\"\\\\b(\" + functionRE + \")\\\\(\") : functionRE\n do {\n var searchMatch = fnRE.exec(call)\n if (!searchMatch) {\n return expressions\n }\n if (searchMatch[1] === undefined) {\n throw new Error(\"Missing the first couple of parenthesis to get the function identifier in \" + functionRE)\n }\n var fn = searchMatch[1]\n var startIndex = searchMatch.index\n var matches = balanced(\"(\", \")\", call.substring(startIndex))\n\n if (!matches || matches.start !== searchMatch[0].length - 1) {\n throw new SyntaxError(fn + \"(): missing closing ')' in the value '\" + call + \"'\")\n }\n\n expressions.push({matches: matches, functionIdentifier: fn})\n call = matches.post\n }\n while (fnRE.test(call))\n\n return expressions\n}\n\n/**\n * Evaluates an expression\n *\n * @param {String} expression\n * @returns {String}\n * @api private\n */\n\nfunction evalFunctionCall (string, functionIdentifier, callback, call, functionRE) {\n // allow recursivity\n return callback(reduceFunctionCall(string, functionRE, callback), functionIdentifier, call)\n}\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n"],"names":["Object","defineProperty","exports","value","__exportStar","Intl","NumberFormat","__addLocaleData","locales","getCanonicalLocales","CanonicalizeTimeZoneName","tz","_a","zoneNames","uppercaseLinks","uppercasedTz","toUpperCase","uppercasedZones","reduce","all","z","ianaTimeZone","ToString","o","TypeError","String","ToNumber","val","undefined","NaN","Number","TimeClip","time","isFinite","Math","abs","n","number","isNaN","SameValue","integer","floor","ToInteger","ToObject","arg","x","y","is","ArrayCreate","len","Array","HasOwnProperty","prop","prototype","hasOwnProperty","call","Type","MS_PER_DAY","mod","Day","t","WeekDay","DayFromYear","Date","UTC","TimeFromYear","YearFromTime","getUTCFullYear","DaysInYear","DayWithinYear","InLeapYear","MonthFromTime","dwy","leap","Error","DateFromTime","mft","HOURS_PER_DAY","MINUTES_PER_HOUR","SECONDS_PER_MINUTE","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","HourFromTime","MinFromTime","SecFromTime","OrdinaryHasInstance","C","O","internalSlots","boundTargetFunction","P","isPrototypeOf","msFromTime","CoerceOptionsToObject","options","create","DefaultNumberOption","inputVal","min","max","fallback","RangeError","concat","GetNumberOption","property","minimum","maximum","GetOption","opts","type","values","Boolean","filter","length","join","GetOptionsObject","GetStringOrBooleanOption","trueValue","falsyValue","indexOf","SANCTIONED_UNITS","removeUnitNamespace","unit","slice","SIMPLE_UNITS","map","IsSanctionedSimpleUnitIdentifier","unitIdentifier","IsValidTimeZoneName","zoneNamesFromData","Set","linkNames","forEach","add","keys","linkName","has","NOT_A_Z_REGEX","IsWellFormedCurrencyCode","currency","replace","_","c","test","IsWellFormedUnitIdentifier","toLowerCase","units","split","numerator","denominator","ApplyUnsignedRoundingMode","r1","r2","unsignedRoundingMode","d1","d2","CollapseNumberRange","result","getMagnitude","log","LOG10E","repeat","s","times","arr","i","setInternalSlot","pl","field","get","set","setMultiInternalSlots","props","_i","k","getInternalSlot","getMultiInternalSlots","fields","arguments","slots","f","isLiteralPart","patternPart","target","name","configurable","enumerable","writable","createDataProperty","invariant","condition","message","Err","ComputeExponentForMagnitude","numberFormat","magnitude","getInternalSlots","notation","dataLocaleData","numberingSystem","compactDisplay","style","currencyDisplay","thresholdMap","numbers","nu","short","decimal","long","num","pow","thresholds","magnitudeKey","other","match","ToRawPrecision","minPrecision","maxPrecision","m","e","xFinal","int","p","xToString","toString","xToStringExponentIndex","xToStringMantissa","xToStringExponent","xToStringMantissaWithoutDecimalPoint","decimalPlaceOffset","round","adjustDecimalPlace","cut","formattedString","roundedNumber","integerDigitsCount","ToRawFixed","minFraction","maxFraction","mantissa","exponent","a","b","FormatNumericToString","intlObject","isNegative","roundingType","minimumSignificantDigits","maximumSignificantDigits","minimumFractionDigits","maximumFractionDigits","string","minInteger","minimumIntegerDigits","ComputeExponent","formatNumberResult","CurrencyDigits","currencyDigitsData","FormatApproximately","approximatelySign","symbols","push","S_UNICODE_REGEX","digitMapping","CARET_S_UNICODE_REGEX","RegExp","source","S_DOLLAR_UNICODE_REGEX","CLDR_NUMBER_PATTERN","formatToParts","numberResult","data","nonNameCurrencyPart","numberPattern","sign","defaultNumberingSystem","compactNumberPattern","pattern","compactPluralRules","byNumberingSystem","selectPlural","compactPlaralRule","getPatternForSign","getCompactDisplayPattern","byCurrencyDisplay","currencies","symbol","narrow","standard","currencyData","currencySign","percent","decimalNumberPattern","exec","afterCurrency","currencySpacing","afterInsertBetween","beforeCurrency","beforeInsertBetween","numberPatternParts","numberParts","numberPatternParts_1","part","apply","paritionNumberIntoParts","useGrouping","minusSign","plusSign","percentSign","substring","unitPattern","unitName","currencyNameData","displayName","unitPatternParts_1","unitDisplay","unitData","simple","_b","numeratorUnit","denominatorUnit","numeratorUnitPattern","perUnitPattern","perUnit","perPattern","compound","per","denominatorPattern","_c","_d","interpolateMatch","digitReplacementTable","digit","fraction","decimalSepIndex","groupSepSymbol","currencyGroup","group","groups","patternGroups","primaryGroupingSize","secondaryGroupingSize","integerGroup","pop","decimalSepSymbol","currencyDecimal","exponential","exponentResult","zeroPattern","negativePattern","rules","select","PartitionNumberPattern","nan","POSITIVE_INFINITY","NEGATIVE_INFINITY","infinity","signDisplay","PartitionNumberRangePattern","xResult","yResult","xResult_1","rangeSign","yResult_1","FormatNumericRange","FormatNumericRangeToParts","index","FormatNumericToParts","nf","implDetails","parts","parts_1","negativeMapping","ceil","expand","trunc","halfCeil","halfFloor","halfExpand","halfTrunc","halfEven","positiveMapping","GetUnsignedRoundingMode","roundingMode","supplemental","languageMatching","paradigmLocales","_locales","$enUS","_value","$cnsar","$americas","$maghreb","no","_desired","_distance","bs","hr","sr","aa","de","_oneway","nb","ru","en","nl","es","ur","hi","zh","fr","fil","ar","sk","da","id","tr","it","az","et","ff","gn","iu","kln","kok","kpe","luy","lv","mg","mn","ms","ne","om","or","ps","qu","sc","sq","syr","uz","yi","regions","PROCESSED_DATA","DEFAULT_MATCHING_THRESHOLD","isMatched","locale","languageMatchInfoLocale","matchVariables","language","script","region","matches","shouldInclude","expandedMatchedRegions","r","list","__spreadArray","serializeLSR","lsr","findMatchingDistanceForLSR","desired","supported","d","oneway","distance","findMatchingDistance","desiredLocale","Locale","maximize","supportedLocale","desiredLSR","supportedLSR","matchingDistance","key","l","processData","BestFitMatcher","availableLocales","requestedLocales","getDefaultLocale","foundLocale","extension","noExtensionLocales","noExtensionLocaleMap","noExtensionLocale","supportedLocales","threshold","lowestDistance","Infinity","matchedDesiredLocale","distances","matchedSupportedLocale","findBestMatch","BestAvailableLocale","candidate","pos","lastIndexOf","UnicodeExtensionValue","size","searchValue","start","end","done","relevantExtensionKeys","localeData","localeMatcher","requestedLocales_1","availableLocale","LookupMatcher","from","dataLocale","supportedExtension","relevantExtensionKeys_1","foundLocaleData","keyLocaleData","isArray","supportedExtensionAddition","requestedValue","optionsValue","privateIndex","preExtension","postExtension","LookupSupportedLocales","subset","SetNumberFormatDigitOptions","mnfdDefault","mxfdDefault","mnid","mnfd","mxfd","mnsd","mxsd","roundingPriority","hasSd","hasFd","needSd","needFd","SetNumberFormatUnitOptions","VALID_ROUND_INCREMENT_VALUES","InitializeNumberFormat","numberingSystemNames","opt","matcher","cDigits","roundingIncrement","trailingZeroDisplay","defaultUseGrouping","PartitionPattern","beginIndex","endIndex","nextIndex","SupportedLocales","RangePatternType","_super","MissingLocaleDataError","_this","this","__extends","isMissingLocaleDataError","tslib_1","ecma402_abstract_1","currency_digits_generated_1","numbering_systems_generated_1","get_internal_slots_1","__importDefault","RESOLVED_OPTIONS_KEYS","toNumeric","default","PluralRules","ro","RESOLVED_OPTIONS_KEYS_1","formatDescriptor","boundFormat","CanonicalizeLocaleList","data_1","minimizedLocale","minimize","__defaultLocale","__addUnitData","unitsData","existingData","polyfilled","Symbol","toStringTag","constructor","supportedLocalesOf","internalSlotMap","WeakMap","_excluded","getOffset","parse","parseFloat","extractZeroValueBreakpointKeys","breakpoints","nonZeroKey","sortedBreakpointKeysByValue","sort","GridRoot","styled","slot","overridesResolver","styles","ownerState","container","direction","item","spacing","wrap","zeroMinWidth","spacingStyles","breakpoint","resolveSpacingStyles","breakpointsStyles","root","boxSizing","display","flexWrap","width","margin","minWidth","theme","directionValues","propValue","output","flexDirection","gridClasses","maxWidth","rowSpacing","rowSpacingValues","zeroValueBreakpointKeys","_zeroValueBreakpointK","themeSpacing","marginTop","paddingTop","includes","columnSpacing","columnSpacingValues","_zeroValueBreakpointK2","marginLeft","paddingLeft","globalStyles","flexBasis","flexGrow","flexShrink","columnsBreakpointValues","columns","columnValue","more","fullWidth","assign","up","useUtilityClasses","classes","spacingClasses","className","resolveSpacingClasses","breakpointsClasses","composeClasses","Grid","inProps","ref","themeProps","useTheme","extendSxProp","columnsProp","columnSpacingProp","component","rowSpacingProp","columnsContext","breakpointsValues","otherFiltered","Provider","children","clsx","as","getGridUtilityClass","GRID_SIZES","_extends","bind","Group","_ref","_ref$top","top","_ref$left","left","transform","innerRef","restProps","excluded","sourceKeys","_objectWithoutPropertiesLoose","propTypes","pi","PI","tau","epsilon","tauEpsilon","Path","_x0","_y0","_x1","_y1","path","moveTo","closePath","lineTo","quadraticCurveTo","x1","y1","bezierCurveTo","x2","y2","arcTo","x0","y0","x21","y21","x01","y01","l01_2","x20","y20","l21_2","l20_2","l21","sqrt","l01","tan","acos","t01","t21","arc","a0","a1","ccw","dx","cos","dy","sin","cw","rect","w","h","Linear","context","_context","defined","curve","line","buffer","defined0","lineStart","lineEnd","point","func","_temp2","_ref2","area","j","x0z","y0z","areaStart","areaEnd","arealine","lineX0","lineY0","lineY1","lineX1","_line","_point","LinePath","_ref$data","_ref$fill","fill","_ref$defined","_temp3","_ref3","strokeLinecap","AreaClosed","yScale","range","Bar","initRange","domain","implicit","ordinal","Map","unknown","scale","copy","factory","extend","parent","definition","Color","darker","brighter","reI","reN","reP","reHex","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","color_formatHex","rgb","formatHex","color_formatRgb","formatRgb","color","format","trim","parseInt","rgbn","Rgb","rgba","hsla","g","rgbConvert","opacity","rgb_formatHex","hex","rgb_formatRgb","Hsl","hslConvert","hsl","hsl2rgb","m1","m2","channels","displayable","formatHsl","deg2rad","rad2deg","Xn","Yn","Zn","t0","t1","t2","t3","labConvert","Lab","Hcl","hcl2lab","rgb2lrgb","xyz2lab","lab","lab2xyz","lrgb2rgb","hclConvert","atan2","hcl","hue","gamma","nogamma","hclLong","hslLong","A","B","D","E","ED","EB","BC_DA","Cubehelix","bl","cubehelixConvert","cubehelix","cubehelixGamma","cosh","sinh","cubehelixLong","basis","v0","v1","v2","v3","rgbGamma","rgbSpline","spline","colors","interpolatorMap","newInterval","floori","offseti","count","interval","date","d0","offset","step","stop","previous","setTime","every","durationSecond","durationMinute","durationHour","durationDay","durationWeek","durationMonth","durationYear","day","setHours","setDate","getDate","getTimezoneOffset","hour","getMilliseconds","getSeconds","getMinutes","getHours","minute","month","setMonth","getMonth","getFullYear","second","getUTCSeconds","weekday","getDay","sunday","monday","tuesday","wednesday","thursday","friday","saturday","year","setFullYear","utcDay","setUTCHours","setUTCDate","getUTCDate","utcHour","setUTCMinutes","getUTCHours","utcMinute","setUTCSeconds","getUTCMinutes","utcMonth","setUTCMonth","getUTCMonth","utcWeekday","getUTCDay","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","utcYear","setUTCFullYear","TEST_TIME","TEST_FORMAT","localTimeIntervals","week","utcIntervals","ALL_OPERATORS","operators","config","nice","timeScale","isUtc","tickFormat","isUtcScale","parsedInterval","zero","isDescending","domainWithZero","reverse","interpolate","interpolator","createColorInterpolator","console","warn","align","base","clamp","constant","padding","paddingInner","paddingOuter","reversedRange","scaleOperator","_len","ops","_key","selection","selectedOps","op","updateOrdinalScale","delta","compare","lo","mid","ascending","ascendingComparator","center","right","e10","e5","e2","ticks","tickIncrement","r0","power","LN10","error","tickStep","step0","step1","millisecond","ticker","tickIntervals","tickInterval","bisector","utcTicks","utcTickInterval","timeTicks","timeTickInterval","localDate","H","M","S","L","utcDate","newDate","timeFormat","pads","numberRe","percentRe","requoteRe","pad","requote","formatRe","names","formatLookup","parseWeekdayNumberSunday","parseWeekdayNumberMonday","u","parseWeekNumberSunday","U","parseWeekNumberISO","V","parseWeekNumberMonday","W","parseFullYear","parseYear","parseZone","Z","parseQuarter","q","parseMonthNumber","parseDayOfMonth","parseDayOfYear","parseHour24","parseMinutes","parseSeconds","parseMilliseconds","parseMicroseconds","parseLiteralPercent","parseUnixTimestamp","Q","parseUnixTimestampSeconds","formatDayOfMonth","formatHour24","formatHour12","formatDayOfYear","formatMilliseconds","formatMicroseconds","formatMonthNumber","formatMinutes","formatSeconds","formatWeekdayNumberMonday","formatWeekNumberSunday","dISO","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","formatYear","formatYearISO","formatFullYear","formatFullYearISO","formatZone","formatUTCDayOfMonth","formatUTCHour24","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","getUTCMilliseconds","formatUTCMicroseconds","formatUTCMonthNumber","formatUTCMinutes","formatUTCSeconds","formatUTCWeekdayNumberMonday","dow","formatUTCWeekNumberSunday","UTCdISO","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCYearISO","formatUTCFullYear","formatUTCFullYearISO","formatUTCZone","formatLiteralPercent","formatUnixTimestamp","formatUnixTimestampSeconds","locale_dateTime","dateTime","locale_date","locale_time","locale_periods","periods","locale_weekdays","days","locale_shortWeekdays","shortDays","locale_months","months","locale_shortMonths","shortMonths","periodRe","periodLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","formats","utcFormats","parses","parseSpecifier","newFormat","specifier","charCodeAt","charAt","newParse","X","utcFormat","utcParse","formatLocale","ascendingBisect","bisectRight","genericArray","na","reA","reB","am","bm","bi","lastIndex","one","ArrayBuffer","isView","DataView","valueOf","object","identity","normalize","bimap","polymap","bisect","transformer","untransform","piecewise","input","rescale","invert","rangeRound","continuous","calendar","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","formatMonth","i0","i1","updateTimeScale","valueof","_ref4","rotationHues","multiColors","weight","multiPointColors","weigths","singleWeights","singleColors","Line","_ref$from","_ref$to","to","isRectilinear","shapeRendering","MEASUREMENT_ELEMENT_ID","str","textEl","document","getElementById","svg","createElementNS","setAttribute","height","position","appendChild","body","textContent","getComputedTextLength","JSON","stringify","isNumber","isXOrYInValid","xOrY","useText","_props$verticalAnchor","verticalAnchor","_props$scaleToFit","scaleToFit","angle","_props$lineHeight","lineHeight","_props$capHeight","capHeight","textProps","_textProps$x","_textProps$y","isXOrYNotValid","_useMemo","useMemo","wordsWithWidth","word","wordWidth","spaceWidth","wordsByLines","currentLine","words","newLine","startDy","transforms","lineWidth","sx","sy","originX","originY","SVG_STYLE","overflow","Text","_props$dx","_props$dy","_props$textAnchor","textAnchor","innerTextRef","fontSize","_useText","bottom","Ticks","hideTicks","horizontal","orientation","tickClassName","tickComponent","allTickLabelProps","tickLabelProps","_ref$tickStroke","tickStroke","tickTransform","strokeWidth","tickLineProps","_allTickLabelProps$in","formattedValue","tickLabelFontSize","tickYCoord","stroke","defaultTextProps","fontFamily","AxisRenderer","axisFromPoint","axisLineClassName","axisToPoint","hideAxisLine","_ref$label","label","labelClassName","_ref$labelOffset","labelOffset","_ref$labelProps","labelProps","_ref$orientation","_ref$stroke","strokeDasharray","_ref$strokeWidth","_ref$tickLabelProps","_ref$tickLength","tickLength","_ref$ticksComponent","ticksComponent","maxTickLabelFontSize","yBottomOffset","getLabelTransform","Point","_ref$x","_ref$y","_proto","toArray","createPoint","defaultAxisRangePadding","Axis","originalRangePadding","_ref$children","axisClassName","_ref$hideAxisLine","_ref$hideTicks","_ref$hideZero","hideZero","_ref$numTicks","numTicks","_ref$rangePadding","rangePadding","tickValues","getTickFormatter","isLeft","isTop","tickPosition","bandwidth","scaledValue","getTickPosition","tickSign","rangePaddingConfig","filteredTickValues","getTicks","coerceNumber","leftTickLabelProps","AxisLeft","bottomTickLabelProps","AxisBottom","useTooltip","initialTooltipState","_useState","useState","tooltipOpen","tooltipState","setTooltipState","showTooltip","useCallback","showArgs","show","tooltipLeft","tooltipTop","tooltipData","hideTooltip","updateTooltip","_setPrototypeOf","setPrototypeOf","__proto__","emptyRect","defaultStyles","backgroundColor","borderRadius","boxShadow","pointerEvents","Tooltip","_ref$offsetLeft","offsetLeft","_ref$offsetTop","offsetTop","_ref$style","_ref$unstyled","unstyled","_ref$applyPositionSty","applyPositionStyle","TooltipPositionContext","createContext","isFlippedVertically","isFlippedHorizontally","TooltipPositionProvider","Consumer","TooltipWithBounds","getRects","initialLeft","parentBounds","parentRect","ownBounds","initialTop","nodeRef","otherProps","placeTooltipLeft","placeTooltipUp","rightPlacementClippedPx","leftPlacementClippedPx","_rightPlacementClippedPx","window","innerWidth","_leftPlacementClippedPx","bottomPlacementClippedPx","topPlacementClippedPx","innerHeight","BaseComponent","_class","_React$PureComponent","subClass","superClass","WrappedComponent","state","self","ReferenceError","_assertThisInitialized","componentDidMount","_this$nodeRef","_this2","node","current","setState","parentNode","getBoundingClientRect","render","useMeasure","_temp","debounce","scroll","polyfill","offsetSize","ResizeObserver","bounds","useRef","element","scrollContainers","resizeObserver","lastBounds","scrollDebounce","resizeDebounce","resize","mounted","useEffect","forceRefresh","resizeChange","scrollChange","callback","HTMLElement","offsetHeight","offsetWidth","freeze","areBoundsEqual","removeListeners","removeEventListener","disconnect","addListeners","observe","scrollContainer","addEventListener","capture","passive","onScroll","enabled","onWindowResize","cb","findScrollContainers","overflowX","overflowY","getComputedStyle","some","parentElement","ResizeObserverBoxOptions","resizeObservers","msg","trigger","obj","ResizeObserverSize","inlineSize","blockSize","DOMRectReadOnly","toJSON","fromRect","rectangle","isSVG","SVGElement","isHidden","getBBox","getClientRects","isElement","Element","scope","ownerDocument","defaultView","global","cache","scrollRegexp","verticalRegexp","IE","navigator","userAgent","parseDimension","pixel","switchSizes","zeroBoxes","devicePixelContentBoxSize","borderBoxSize","contentBoxSize","contentRect","calculateBoxSizes","forceRecalculation","cs","ownerSVGElement","removePadding","writingMode","canScrollVertically","canScrollHorizontally","paddingRight","paddingBottom","borderTop","borderTopWidth","borderRight","borderRightWidth","borderBottom","borderBottomWidth","horizontalPadding","verticalPadding","horizontalBorderArea","borderLeftWidth","verticalBorderArea","horizontalScrollbarThickness","clientHeight","verticalScrollbarThickness","clientWidth","widthReduction","heightReduction","contentWidth","contentHeight","borderBoxWidth","borderBoxHeight","boxes","devicePixelRatio","calculateBoxSize","observedBox","DEVICE_PIXEL_CONTENT_BOX","BORDER_BOX","ResizeObserverEntry","calculateDepthForNode","depth","broadcastActiveObservations","shallowestDepth","callbacks","activeTargets","entries","ot","entry","targetDepth","lastReportedSize","observer","splice","callbacks_1","gatherActiveObservationsAtDepth","skippedTargets","observationTargets","isActive","process","event","ErrorEvent","createEvent","initEvent","dispatchEvent","queueMicroTask","toggle_1","el_1","createTextNode","MutationObserver","characterData","watching","observerConfig","attributes","childList","subtree","events","timeout","now","scheduled","scheduler","Scheduler","stopped","listener","schedule","run","until","elementsHaveResized","requestAnimationFrame","updateCount","ResizeObservation","CONTENT_BOX","tagName","isReplacedElement","ResizeObserverDetail","observerMap","getObservationIndex","ResizeObserverController","connect","detail","firstObservation","box","unobserve","lastObservation","slope3","that","h0","h1","s0","s1","slope2","MonotoneX","MonotoneY","ReflectContext","monotoneX","_t0","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","dataPoint0","dataPoint1","ChartIntervals","MONTH","startDate","endDate","dayDiff","fromISO","fromDateTimes","HOUR","DAY","WEEK","QUARTER","ANNUAL","formatDate","_formatters","formatters","MINUTE","DateTimeFormat","endOfWeek","errorStyle","red050","outlineColor","red600","outlineStyle","outlineWidth","outlineOffset","StyledSeriesIndicator","$color","$inactive","$aux","Box","alignItems","justifyContent","background","border","StyledSeriesLabel","$hovered","StyledTableCell","$align","StyledTooltip","Paper","$tooltipColors","emphasisHigh","_ref5","$maxHeight","_ref6","_ref7","emphasisMedium","_ref8","emphasisLow","StyledLegendPagination","_ref9","$hidePaginationCount","MultiLineXAxisEllipsisDiv","_ref10","_ref11","$fontSize","_ref12","$lines","SingleLineXAxisEllipsisDiv","_ref13","_ref14","PercentChange","_ref15","percentChange","isIncrease","Icon","Typography","variant","getPaginationUtilityClass","generateUtilityClass","generateUtilityClasses","getPaginationItemUtilityClass","createSvgIcon","capitalize","shape","rounded","page","ellipsis","previousNext","firstLast","PaginationItemEllipsis","typography","body2","textAlign","vars","palette","text","primary","disabled","action","disabledOpacity","pxToRem","PaginationItemPage","ButtonBase","focusVisible","focus","transition","transitions","duration","hover","selected","selectedOpacity","hoverOpacity","focusOpacity","contrastText","main","dark","common","onBackgroundChannel","mode","mainChannel","activatedOpacity","borderColor","disabledBackground","PaginationItemPageIcon","icon","PaginationItem","useThemeProps","components","first","FirstPage","last","LastPage","next","NavigateNext","NavigateBefore","PaginationRoot","PaginationUl","ul","listStyle","defaultGetAriaLabel","Pagination","boundaryCount","defaultPage","getItemAriaLabel","hideNextButton","hidePrevButton","renderItem","showFirstButton","showLastButton","siblingCount","items","componentName","onChange","handleChange","pageProp","setPageState","useControlled","controlled","handleClick","startPages","endPages","siblingsStart","siblingsEnd","itemList","buttonPage","onClick","usePagination","ToggleSeries","_outerBoxRef$current2","allData","setData","allSeries","setSeries","setAuxSeries","colorScale","leftPadding","hidePaginationCount","disableToggle","categoryAxis","toggleSeriesWidth","outerBoxRef","_React$useState","_React$useState2","currentPage","setCurrentPage","_React$useState3","_React$useState4","totalPages","setTotalPages","_React$useState5","_React$useState6","hoveredEl","setHoveredEl","_React$useState7","_React$useState8","legendsPerPage","setLegendsPerPage","_React$useState9","initHidden","_React$useState10","activeSeries","setActiveSeries","aux","newData","datum","newDatum","_outerBoxRef$current","outerBoxWidth","seriesCount","tempLegendsCount","tempTotalPages","maxHeight","onMouseOver","onMouseLeave","arrow","title","gap","cursor","shouldRemove","insertSeries","find","localeCompare","toggleSeriesKey","pg","DEFAULT_POINT","localPoint","elem","coords","isTouchEvent","changedTouches","clientX","clientY","isMouseEvent","boundingClientRect","getXAndYFromEvent","screenCTM","isSVGGraphicsElement","getScreenCTM","isSVGSVGElement","createSVGPoint","matrixTransform","inverse","clientLeft","clientTop","nodeOrEvent","maybeEvent","Event","nativeEvent","isEvent","prefixExponent","re","formatSpecifier","FormatSpecifier","comma","precision","formatDecimalParts","toExponential","coefficient","toFixed","toLocaleString","toPrecision","formatRounded","formatPrefix","prefixes","grouping","thousands","currencyPrefix","currencySuffix","numerals","formatNumerals","minus","formatTypes","prefix","suffix","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","out","formatTrim","precisionPrefix","precisionRound","precisionFixed","prestep","maxIter","linearish","updateLinearScale","createLinearScale","band","ordinalRange","updateBandScale","createBandScale","useChartStrategy","_ref22","arbitraryX","stacked","bisectDate","getCategory","getDataIndexFromEvent","xScale","xScaleBand","rangeValue","findIndex","useGetXScale","_ref16","xMax","combinedSeries","useGetYScale","_ref17","hasNegativeValue","sumNegativeValues","sumPositiveValues","allDataValues","bottomPadding","topPadding","getInterval","_data$4","_data$5","getLeftPadContentMax","_ref18","yFormatter","minYValueString","maxYValueString","getValue","getXFormatter","_ref19","toISOString","getYFormatter","_ref20","_ref20$numberFormatOp","numberFormatOptions","defaultSeries","getTooltipData","dCopy","yValues","getMaxTooltipHeight","getBarWidth","_ref21","_xScaleBand$bandwidth","VerticalStrategy","_data$","_data$2","_data$3","_ref8$numberFormatOpt","_yScale$bandwidth","HorizontalStrategy","getBandwidth","BarGroupHorizontal","y0Scale","y1Scale","barHeight","barGroups","bars","barGroup","bar","HorizontalBars","series","BarGroup","x0Scale","x1Scale","barWidth","VerticalBars","order","stackValue","stack","oz","kz","sz","sij","ki","si","getFirstItem","getSecondItem","sums","sum","v","peak","vi","vj","STACK_ORDERS","descending","insideout","peaks","appearance","tops","bottoms","none","STACK_OFFSETS","diverging","yp","yn","silhouette","wiggle","s2","sij0","s3","BarStackHorizontal","_ref$x2","stacks","barStacks","barStack","barX","barY","HorizontalStacked","BarStack","_ref$y2","VerticalStacked","Baseline","themeTokens","defaultBarOptions","_inputSeries3","_inputSeries4","_ref$type","inputData","_ref$height","inputSeries","tooltip","tooltipWithXAxisLabel","_ref$yAxisIntegerOnly","yAxisIntegerOnly","_ref$locale","_ref$colorPalette","colorPalette","dsOnChartElClick","xInterval","toggleSeries","hideToggleSeriesPaginationCount","axisTitles","disablePercentChange","tooltipUnit","_ref$tooltipColorInve","tooltipColorInverted","showAllXAxisLabel","_ref2$barOptions","barOptions","_useChartStrategy","hasAxisTitle","axisKey","axis","auxSeries","isSingleSeries","invertedThemeTokens","_useMeasure","_useMeasure2","graphRef","tooltipRef","barRef","_useTooltip","_index","_dataArr","excludeAux","_inputSeries","_inputSeries2","seriesAliasKeys","xFormatter","acc","curr","seriesName","hasYAxisTitle","extent","handleTooltip","newTooltipData","getLabelOffset","getAxisProps","axisType","commonAxisProps","foreignObjectProps","fontWeight","valueDateString","isXStart","isXEnd","dominantBaseline","getDesiredNumTicks","maxTickWidth","getAxisTitle","_axisTitles$find","LinePathComponent","chart","preserveAspectRatio","viewBox","onTouchStart","onTouchMove","onMouseMove","cx","cy","darkEmphasisHigh","getYaxisNumTicks","estimatedTicks","getXNumTicks","DefaultTooltip","_inputSeries5","_inputSeries6","currData","xAxisVal","getChange","seriesKey","_data","oldNum","newNum","change","_getChange","tableLayout","_getChange2","TooltipComponent","tooltipBGColor","tooltipTextColor","zIndex","currIndex","balanced","maybeMatch","pre","post","reg","begs","beg","ai","module","wait","immediate","args","timestamp","later","setTimeout","debounced","callNow","clear","clearTimeout","flush","MapCache","memoize","resolver","memoized","Cache","Mexp","formulaEval","pop1","pop2","pop3","disp","inc","tokens","token","math","anchor","asin","atan","acosh","div","fact","tanh","atanh","mul","asinh","sub","sigma","Pi","numberOfArguments","and","preced","precedence","type0","type1","type1Asterick","empty","type3Asterick","type6","newAr","str1","str2","indexOfToken","search","tokenize","nodes","Exception","tokenTypes","FUNCTION_WITH_ONE_ARG","NUMBER","BINARY_OPERATOR_HIGH_PRECENDENCE","CONSTANT","OPENING_PARENTHESIS","CLOSING_PARENTHESIS","DECIMAL","POSTFIX_FUNCTION_WITH_ONE_ARG","FUNCTION_WITH_N_ARGS","BINARY_OPERATOR_LOW_PRECENDENCE","BINARY_OPERATOR_PERMUTATION","COMMA","EVALUATED_FUNCTION","EVALUATED_FUNCTION_PARAMETER","SPACE","addToken","newTokens","temp","changeSignObj","changeSign","closingParObj","openingParObj","lex","inp","ptc","inpStr","allowed","bracToClose","asterick","prevKey","cToken","cType","cEv","cPre","cShow","hasDec","parsed","isDegree","pro","choice","toRadian","low","high","ex","postfixEval","pow10x","sinha","cosha","toPostfix","popped","prep","ele","flag","UserDefined","bool","unshift","eval","reduceFunctionCall","mexp","NESTED_CALC_RE","decimalPrecision","evaluateExpression","expression","functionIdentifier","evaluatedPart","nonEvaluatedPart","balancedExpr","evaluated","evaluateNestedExpression","uniqueUnits","uniqueLowerCaseUnits","unitRegEx","getUnitsInExpression","toEvaluate","functionRE","expressions","fnRE","searchMatch","fn","startIndex","SyntaxError","getFunctionCalls","evalFunctionCall","extendStatics","__","__assign","__rest","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","desc","getOwnPropertyDescriptor","Reflect","decorate","__param","paramIndex","decorator","__esDecorate","ctor","descriptorIn","contextIn","initializers","extraInitializers","accept","kind","descriptor","access","addInitializer","init","__runInitializers","thisArg","useValue","__propKey","__setFunctionName","description","__metadata","metadataKey","metadataValue","metadata","__awaiter","_arguments","generator","Promise","resolve","reject","fulfilled","rejected","then","__generator","sent","trys","verb","iterator","__createBinding","k2","__esModule","__values","__read","__spread","__spreadArrays","il","jl","pack","__await","__asyncGenerator","asyncIterator","resume","fulfill","settle","shift","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","raw","__setModuleDefault","__importStar","__classPrivateFieldGet","receiver","__classPrivateFieldSet","__classPrivateFieldIn","__addDisposableResource","env","async","dispose","inner","asyncDispose","_SuppressedError","SuppressedError","suppressed","__disposeResources","fail","hasError","rec"],"sourceRoot":""}