{"version":3,"file":"product-concentration/index.js","mappings":"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IAACA,UAAW,GAAOw8C,UAAQ,UAC7C6N,GAAY9J,OAEf,SAAC,GAA4B,WAC3B,gBAAKvgD,UAAW,GAAO,wCAOrC,CC9IA,UACE,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,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,MACA,MACA,OCzDF,IACEmrD,IAAK,QACLC,IAAK,cACLC,IAAK,SACLC,IAAK,WACLC,IAAK,UACLC,IAAK,UACLC,IAAK,SACLC,IAAK,YACLC,IAAK,UACLC,IAAK,iBACLC,IAAK,aACLC,IAAK,qCACLC,IAAK,sBACLC,IAAK,YACLC,IAAK,UACLC,IAAK,aACLC,IAAK,UACLC,IAAK,UACLC,IAAK,QACLC,IAAK,UACLC,IAAK,eACLC,IAAK,aACLC,IAAK,WACLC,IAAK,UACLC,IAAK,UACLC,IAAK,qBACLC,IAAK,mBACLC,IAAK,UACLC,IAAK,SACLC,IAAK,UACLC,IAAK,UACLC,IAAK,SACLC,IAAK,WACLC,IAAK,oBACLC,IAAK,SACLC,IAAK,gBACLC,IAAK,WACLC,IAAK,2BACLC,IAAK,SACLC,IAAK,gBACLC,IAAK,cACLC,IAAK,QACLC,IAAK,mBACLC,IAAK,gBACLC,IAAK,WACLC,IAAK,yBACLC,IAAK,QACLC,IAAK,eACLC,IAAK,WACLC,IAAK,UACLC,IAAK,aACLC,IAAK,aACLC,IAAK,OACLC,IAAK,UACLC,IAAK,oBACLC,IAAK,iBACLC,IAAK,SACLC,IAAK,iBACLC,IAAK,UACLC,IAAK,WACLC,IAAK,WACLC,IAAK,UACLC,IAAK,qBACLC,IAAK,UACLC,IAAK,UACLC,IAAK,QACLC,IAAK,UACLC,IAAK,iBACLC,IAAK,QACLC,IAAK,UACLC,IAAK,WACLC,IAAK,UACLC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AAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAA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V,OAAU,iDACV,OAAU,uDACV,OAAU,kEACV,OAAU,qDACV,OAAU,kDACV,OAAU,kDACV,OACE,2EACF,OAAU,gDACV,OAAU,gDACV,OAAU,6CACV,OACE,qFACF,OAAU,kCACV,OACE,6FACF,OAAU,oDACV,OAAU,mDACV,OACE,qEACF,OACE,6EACF,OACE,mFACF,OAAU,kEACV,OACE,kGACF,OACE,kHACF,OAAU,sDACV,OACE,kIACF,OACE,kGACF,OAAU,oDACV,OAAU,2DACV,OAAU,oEACV,OAAU,iEACV,OACE,wKACF,OACE,kMACF,OACE,8LACF,OACE,gMACF,OACE,4LACF,OACE,6NACF,OACE,6PACF,OACE,oJACF,OACE,mIACF,OACE,8GACF,OACE,kHACF,OACE,kHACF,OACE,gGACF,OACE,0GACF,OACE,gGACF,OACE,+HACF,OACE,oIACF,OACE,wGACF,OAAU,qCACV,OACE,+IACF,OAAU,MACV,OAAU,aACV,OACE,8EACF,OAAU,qCACV,OAAU,4CACV,OAAU,uCACV,OAAU,0CACV,OAAU,yDACV,OAAU,6CACV,OACE,gGACF,OACE,gHACF,OACE,gHACF,OAAU,qCACV,OAAU,sCACV,OACE,wFACF,OACE,yLACF,OACE,uHACF,OACE,mKACF,OACE,0IACF,OACE,2KACF,OACE,yJACF,OACE,mIACF,OACE,kIACF,OACE,wEACF,OAAU,qCACV,OAAU,2CACV,OACE,gGACF,OAAU,0DACV,OAAU,6DACV,OAAU,uDACV,OACE,+EACF,OAAU,2CACV,OACE,iGACF,OACE,8GACF,OACE,yGACF,OACE,qEACF,OAAU,uDACV,OACE,yEACF,OAAU,2CACV,OACE,kHACF,OACE,sHACF,OAAU,qBACV,OACE,yHACF,OACE,mFACF,OACE,0HACF,OACE,2GACF,OACE,2HACF,OACE,qHACF,OACE,6IACF,OACE,sHACF,MACE,0OACF,OACE,+IACF,OACE,4OACF,OAAU,kBACV,OAAU,0CACV,OACE,sGACF,OACE,6IACF,OACE,8HACF,OACE,2HACF,OACE,wFACF,OACE,+HACF,OACE,iGACF,OACE,wIACF,OACE,iGACF,OACE,6EACF,OACE,qHACF,OACE,wIACF,OACE,uFACF,OACE,+HACF,OACE,gFACF,OACE,uHACF,OACE,qFACF,OACE,4HACF,OACE,oGACF,OACE,kGACF,OACE,oGACF,OACE,oGACF,OACE,sIACF,OACE,4KACF,OACE,+KACF,OACE,+KACF,OAAU,wCACV,OACE,oLACF,OACE,qMACF,OAAU,eACV,OAAU,aACV,OAAU,uBACV,OAAU,mEACV,OAAU,0BACV,OAAU,4BACV,MAAU,qDACV,OAAU,iEACV,OAAU,4DACV,OACE,iFACF,OACE,8FACF,OACE,iGACF,OACE,gIACF,OACE,2EACF,OACE,2GACF,OACE,0HACF,OACE,0GACF,OACE,8IACF,OACE,iHACF,OACE,sHACF,OACE,0HACF,OACE,kIACF,OACE,gGACF,OACE,6FACF,OACE,wFACF,OACE,0FACF,OACE,6HACF,OACE,kIACF,OACE,0FACF,OACE,2FACF,OACE,sFACF,OACE,4FACF,OACE,iHACF,OACE,+FACF,OAAU,mDACV,OAAU,4BACV,OAAU,iEACV,OAAU,uDACV,OACE,qEACF,OACE,iGACF,OACE,6FACF,OAAU,0DACV,OACE,iGACF,OAAU,uDACV,OACE,kFACF,OAAU,uDACV,OACE,qEACF,OAAU,uDACV,OACE,4EACF,OAAU,uDACV,OACE,6EACF,OACE,sHACF,OAAU,8DACV,OAAU,4DACV,OAAU,0DACV,OACE,4HACF,OACE,0FACF,OACE,8FACF,OACE,8FACF,OACE,iJACF,OAAU,6BACV,OACE,mGACF,OAAU,UACV,OACE,sHACF,OACE,4IACF,OACE,8IACF,OACE,wHACF,OACE,+LACF,OACE,6MACF,OAAU,mDACV,OACE,sKACF,OACE,4JACF,OACE,wFACF,OACE,wFACF,OACE,sFACF,OAAU,2DACV,OAAU,cACV,OAAU,oDACV,OAAU,6BACV,OAAU,0CACV,OAAU,6BACV,OACE,uEACF,OAAU,mEACV,OACE,4NACF,OACE,iHACF,OACE,uHACF,OACE,sEACF,OAAU,YACV,OACE,oHACF,OACE,gHACF,OACE,yFACF,OACE,yGACF,OACE,iHACF,OACE,6EACF,OAAU,8BACV,OACE,sIACF,OACE,wFACF,OACE,oJACF,OACE,oNACF,OACE,kHACF,OAAU,iEACV,OACE,+EACF,OACE,yFACF,OACE,qEACF,OACE,yEACF,OACE,wGACF,OACE,qEACF,OACE,kGACF,OACE,kFACF,OACE,uKACF,OACE,uHACF,OACE,oIACF,OACE,0HACF,OACE,mGACF,OACE,6JACF,OACE,2GACF,OACE,6JACF,OACE,6HACF,OACE,+GACF,OAAU,qCACV,OACE,2HACF,OACE,qHACF,OACE,2HACF,OACE,gHACF,OACE,6GACF,OACE,2IACF,OACE,uKACF,OACE,oHACF,OACE,uKACF,OACE,qHACF,OACE,kLACF,OACE,qLACF,OACE,iNACF,OACE,8FACF,OACE,4IACF,OACE,wJACF,OACE,oJACF,OACE,mJACF,OACE,sJACF,OACE,sJACF,OACE,oLACF,OACE,0JACF,OACE,sHACF,OACE,0PACF,OACE,0LACF,OACE,0PACF,OACE,4KACF,OACE,sIACF,OACE,0KACF,OACE,sKACF,OACE,kIACF,OACE,uLACF,OACE,iLACF,OACE,+KACF,OACE,+MACF,OACE,2MACF,OACE,iIACF,OACE,mKACF,OACE,6JACF,OACE,4HACF,OACE,kJACF,OACE,+JACF,OACE,yJACF,OACE,2HACF,OACE,+JACF,OACE,yJACF,OACE,iLACF,OACE,yMACF,OACE,iLACF,OACE,uJACF,OACE,qJACF,OACE,sJACF,OACE,4FACF,OACE,gKACF,OACE,qGACF,OAAU,iBACV,OAAU,4DACV,OAAU,2BACV,OAAU,eACV,OAAU,iDACV,OAAU,8CACV,OAAU,kCACV,OAAU,6CACV,OAAU,0CACV,OAAU,kEACV,OAAU,wDACV,OAAU,kDACV,OACE,sIACF,OACE,8HACF,OAAU,0CACV,OACE,mHACF,OAAU,8CACV,OACE,kJACF,OAAU,sBACV,OAAU,kBACV,OAAU,uBACV,OACE,oFACF,OAAU,yDACV,OAAU,oEACV,OACE,gIACF,OACE,kIACF,OAAU,wDACV,OACE,sFACF,OAAU,8DACV,OACE,oFACF,OAAU,0DACV,OAAU,WACV,OACE,6EACF,OAAU,iBACV,OAAU,QACV,OAAU,wBACV,OACE,+EACF,OAAU,iEACV,OAAU,4DACV,OACE,gGACF,OACE,uJACF,OACE,+IACF,OACE,gJACF,OACE,wJACF,OACE,4JACF,OACE,6FACF,OACE,iGACF,OACE,+EACF,OAAU,8CACV,OACE,sIACF,OACE,wIACF,OACE,oIACF,OACE,2IACF,OACE,+IACF,OACE,+JACF,OACE,iLACF,OACE,kJACF,OACE,iJACF,OACE,8IACF,OACE,wJACF,OAAU,mBACV,OACE,4LACF,OACE,mLACF,OACE,6LACF,OAAU,0BACV,OAAU,gCACV,OAAU,qCACV,OAAU,gDACV,OAAU,iBACV,OACE,wHACF,OAAU,gCACV,OACE,oIACF,OACE,oFACF,OACE,0JACF,OACE,mHACF,OAAU,wCACV,OAAU,8DACV,OACE,mGACF,OACE,wHACF,OACE,kGACF,OACE,iHACF,OACE,wHACF,OACE,0KACF,OAAU,kBACV,OAAU,0BACV,OAAU,uDACV,OAAU,8BACV,OACE,wFACF,OAAU,4CACV,OAAU,gEACV,OAAU,mEACV,OACE,gIACF,OAAU,mCACV,OACE,kJACF,OAAU,sCACV,OACE,+IACF,OAAU,2DACV,OACE,2FACF,OACE,sEACF,OACE,0FACF,OACE,4GACF,OACE,qHACF,OAAU,gEACV,OACE,iFACF,OAAU,QACV,OACE,kGACF,OACE,gGACF,OAAU,qCACV,OACE,8GACF,OACE,wKACF,OAAU,4CACV,OACE,+GACF,OACE,+FACF,OACE,mGACF,OACE,kHACF,OACE,2IACF,OACE,8IACF,OACE,mLACF,OAAU,sDACV,OACE,mHACF,OAAU,oCACV,OACE,8GACF,OACE,iIACF,OAAU,sCACV,OACE,gHACF,OACE,iMACF,OAAU,2CACV,OACE,qHACF,OAAU,iBACV,OACE,oFACF,OACE,yHACF,OACE,4KACF,OACE,wKACF,OAAU,uBACV,OAAU,2CACV,OAAU,8BACV,OAAU,oBACV,OACE,wJACF,OACE,6GACF,OACE,uEACF,OACE,yEACF,OACE,4EACF,OAAU,kBACV,OAAU,gEACV,OAAU,+BACV,OACE,uFACF,OAAU,qDACV,OAAU,WACV,OAAU,wCACV,OAAU,mDACV,OAAU,mDACV,OAAU,eACV,OAAU,cACV,OACE,2LACF,OACE,mLACF,OAAU,iCACV,OACE,qNACF,OAAU,mDACV,OACE,gNACF,OAAU,WACV,OAAU,kEACV,OAAU,oEACV,OAAU,2CACV,OAAU,iDACV,OAAU,oDACV,OAAU,gBACV,OAAU,gCACV,OAAU,sCACV,OAAU,+CACV,OAAU,2CACV,OAAU,wBACV,OAAU,kCACV,OAAU,+BACV,OAAU,+BACV,OAAU,+BACV,OAAU,kCACV,OAAU,6BACV,OAAU,6BACV,OAAU,4BACV,MAAU,iCACV,OAAU,iCACV,OAAU,gCACV,OAAU,gCACV,OAAU,4CACV,OAAU,gDACV,OAAU,iCACV,OAAU,kCACV,OAAU,oDACV,OAAU,+BACV,OAAU,qDACV,OAAU,iCACV,OAAU,kEACV,OACE,sEACF,OACE,4GACF,OACE,iHACF,OACE,4HACF,OACE,wFACF,OACE,8JACF,OACE,wKACF,OACE,gGACF,OACE,mGACF,OACE,4FACF,OACE,gPACF,OACE,wIACF,OACE,2IACF,OACE,+IACF,OAAU,mEACV,OACE,0EACF,OACE,0IACF,OAAU,mBACV,OAAU,mBACV,OAAU,kCACV,OACE,qEACF,OAAU,4BACV,OAAU,uCACV,OAAU,OACV,OAAU,aACV,OACE,sGACF,OAAU,kDACV,OACE,uFACF,OACE,uFACF,OACE,sFACF,OACE,kFACF,OACE,0MACF,OACE,oFACF,OACE,0FACF,OAAU,yDACV,OAAU,2DACV,OAAU,gEACV,OAAU,YACV,MAAU,6BACV,OACE,8PACF,OACE,iGACF,OAAU,yDACV,OAAU,iBACV,OAAU,uCACV,OAAU,UACV,OACE,sFACF,OAAU,0DACV,OAAU,WACV,OAAU,iDACV,OACE,+EACF,OAAU,6BACV,OAAU,qBACV,OAAU,WACV,OACE,8PACF,OAAU,oBACV,OAAU,8DACV,OAAU,aACV,OAAU,wDACV,OACE,iQACF,OAAU,yBACV,OAAU,qBACV,OAAU,qBACV,OAAU,0DACV,OAAU,+BACV,OAAU,6BACV,OAAU,8DACV,OAAU,kBACV,OAAU,sCACV,OAAU,sCACV,OAAU,+BACV,OAAU,2BACV,OAAU,oBACV,OAAU,iDACV,OAAU,wCACV,OAAU,+DACV,OACE,sKACF,OAAU,oBACV,OAAU,WACV,OAAU,SACV,OAAU,oBACV,OAAU,uDACV,OAAU,yDACV,OAAU,WACV,OAAU,qBACV,OAAU,gCACV,OAAU,WACV,OAAU,SACV,OAAU,mBACV,OAAU,gEACV,OAAU,4DACV,OAAU,aACV,OAAU,UACV,OAAU,WACV,OAAU,wCACV,OAAU,yCACV,OAAU,+DACV,OAAU,iCACV,OAAU,8CACV,OACE,sFACF,OAAU,UACV,OAAU,wCACV,OAAU,uBACV,OAAU,wBACV,OAAU,kCACV,OAAU,yBACV,OAAU,2CACV,MAAU,+BACV,OAAU,wCACV,OAAU,sCACV,OAAU,gDACV,OAAU,iBACV,OAAU,kBACV,OAAU,kBACV,OACE,uEACF,OAAU,gCACV,OAAU,iCACV,OAAU,yBACV,OAAU,yBACV,OAAU,2BACV,OAAU,uBACV,OAAU,qBACV,OAAU,mBACV,OACE,uFACF,OAAU,8DACV,OAAU,oBACV,OACE,iFACF,OAAU,qBACV,OAAU,+BACV,OAAU,yCACV,OACE,iFACF,OAAU,uCACV,OAAU,mCACV,OAAU,sCACV,OAAU,6CACV,OAAU,0CACV,OAAU,2DACV,OAAU,2BACV,OAAU,uCACV,OAAU,kDACV,OAAU,sBACV,OAAU,oBACV,OAAU,8DACV,OAAU,oBACV,OAAU,gDACV,OAAU,6BACV,OACE,sFACF,OAAU,yDACV,OAAU,kBACV,OAAU,2CACV,OAAU,uBACV,OAAU,0CACV,OAAU,wDACV,OAAU,8BACV,OAAU,iCACV,OAAU,+BACV,OAAU,+BACV,OAAU,yCACV,OAAU,mCACV,OAAU,kBACV,OACE,sFACF,OAAU,sCACV,OAAU,0BACV,OAAU,qCACV,OAAU,4CACV,OAAU,kDACV,OACE,4GACF,OAAU,yBACV,OAAU,wBACV,OAAU,0BACV,OAAU,0BACV,OAAU,qBACV,OAAU,uBACV,OAAU,uBACV,OAAU,qBACV,OAAU,oBACV,OAAU,uBACV,OACE,8EACF,OAAU,qDACV,OAAU,gEACV,OAAU,sCACV,OAAU,2DACV,OAAU,4BACV,OACE,iFACF,OAAU,4CACV,OAAU,uBACV,OAAU,+BACV,OAAU,iEACV,OAAU,0DACV,OAAU,qBACV,OAAU,wBACV,OACE,iGACF,OAAU,2CACV,OAAU,mDACV,OAAU,uBACV,OAAU,kCACV,OAAU,gBACV,OAAU,sCACV,OAAU,iDACV,OAAU,0BACV,OAAU,0BACV,OAAU,yBACV,OAAU,uBACV,OAAU,uBACV,OAAU,qBACV,OAAU,uBACV,OAAU,uCACV,OAAU,QACV,OAAU,iCACV,OAAU,WACV,OAAU,yBACV,OAAU,uBACV,OAAU,oCACV,OACE,iGACF,OAAU,6BACV,OACE,sEACF,OAAU,2BACV,OAAU,8DACV,OACE,sGACF,OACE,uFACF,OACE,iNACF,OACE,mGACF,OACE,8GACF,OACE,0EACF,OAAU,iCACV,OAAU,6DACV,OAAU,kCACV,OAAU,gCACV,OAAU,+BACV,OAAU,6BACV,OAAU,gCACV,OAAU,kCACV,OAAU,gCACV,OACE,6EACF,OAAU,yCACV,OAAU,oDACV,OAAU,mBACV,OAAU,wCACV,OAAU,kCACV,OAAU,wDACV,OAAU,0BACV,OACE,qEACF,OAAU,2DACV,OACE,sEACF,OAAU,sCACV,OAAU,6BACV,OAAU,oBACV,OAAU,sCACV,OAAU,2BACV,OAAU,8BACV,OACE,6EACF,OAAU,kDACV,OACE,kHACF,OACE,6HACF,OAAU,oBACV,OAAU,kCACV,OACE,2EACF,OACE,wJACF,OACE,4JACF,OAAU,+DACV,OAAU,oCACV,OAAU,8CACV,OAAU,iBACV,OACE,sEACF,OACE,6KACF,OACE,6MACF,OACE,wMACF,OACE,sNACF,OACE,8JACF,OACE,wPACF,OACE,8KACF,OACE,+MACF,OAAU,oEACV,OAAU,gCACV,OAAU,+CACV,OAAU,kDACV,OAAU,WACV,OACE,uIACF,OAAU,mBACV,OACE,gIACF,OAAU,yDACV,OACE,2EACF,OACE,0JACF,OACE,wHACF,OAAU,0DACV,OAAU,0DACV,OACE,gFACF,MACE,yJACF,OACE,2MACF,OAAU,kEACV,OACE,oFACF,OACE,yFACF,OACE,2MACF,OAAU,qDACV,OACE,gQACF,OAAU,kCACV,OAAU,8CACV,OAAU,yDACV,OACE,2EACF,OAAU,iEACV,OAAU,gEACV,OAAU,mCACV,OACE,mFACF,OAAU,+BACV,OAAU,+BACV,OAAU,gCACV,OAAU,gCACV,OAAU,WACV,OAAU,4CACV,OAAU,+BACV,OAAU,oCACV,OAAU,8BACV,OAAU,kDACV,OACE,+HACF,OACE,kGACF,OACE,2FACF,OACE,kFACF,OACE,4GACF,OACE,4HACF,OACE,uFACF,OACE,+FACF,OACE,iFACF,OACE,uGACF,OACE,yFACF,OACE,2EACF,OACE,yHACF,OACE,oIACF,OACE,4FACF,OACE,6HACF,OACE,8HACF,OACE,iIACF,OACE,oJACF,OACE,uKACF,OACE,6KACF,OACE,8JACF,OACE,+JACF,OACE,uHACF,OACE,2JACF,OACE,kIACF,OACE,0GACF,OACE,2GACF,OACE,6JACF,OACE,8EACF,OACE,mHACF,OACE,qHACF,OACE,mHACF,OACE,mHACF,OACE,yHACF,OACE,8KACF,OACE,iLACF,OACE,iNACF,OACE,uHACF,OACE,2JACF,OACE,mIACF,OACE,2FACF,OACE,yGACF,OACE,4GACF,OACE,iKACF,OACE,6EACF,OACE,uEACF,OACE,6GACF,OACE,uHACF,OACE,wGACF,OACE,0FACF,OACE,+FACF,OACE,8FACF,OACE,gGACF,OACE,6HACF,OACE,8FACF,OACE,sFACF,OACE,gGACF,OACE,qFACF,OAAU,iBACV,OACE,mGACF,OAAU,+DACV,OACE,sEACF,OACE,8EACF,OACE,8EACF,OACE,qIACF,OAAU,4DACV,OAAU,kDACV,OAAU,6DACV,OACE,mFACF,OAAU,yDACV,OAAU,iEACV,OACE,0GACF,OACE,yFACF,OAAU,wCACV,OAAU,iCACV,OAAU,8CACV,OAAU,iCACV,OAAU,kDACV,OACE,0FACF,OACE,+GACF,OACE,0HACF,OACE,yEACF,OACE,6HACF,OACE,uFACF,OACE,4EACF,OACE,2FACF,OAAU,8DACV,OAAU,gEACV,OAAU,qDACV,OAAU,uCACV,OACE,yEACF,OAAU,wCACV,OAAU,yCACV,OAAU,yCACV,OAAU,wCACV,OAAU,mDACV,OACE,0FACF,OAAU,+DACV,OAAU,kBACV,OACE,6FACF,OACE,qHACF,OACE,gIACF,OACE,8FACF,OACE,8GACF,OACE,6HACF,OACE,iJACF,OACE,kLACF,OACE,yGACF,OACE,oHACF,OACE,qHACF,OACE,2FACF,OACE,qIACF,OACE,sJACF,OACE,qJACF,OACE,+KACF,OACE,mHACF,OACE,8GACF,OACE,8HACF,OACE,qLACF,OACE,4LACF,OACE,wMACF,OACE,gLACF,OACE,yKACF,OACE,uLACF,OACE,6IACF,OACE,6EACF,OACE,4EACF,OACE,4FACF,OACE,+EACF,OAAU,iEACV,OACE,4EACF,OAAU,oBACV,OACE,oIACF,OACE,wIACF,OACE,0MACF,OAAU,0CACV,OAAU,mBACV,OACE,0GACF,OAAU,2DACV,OACE,kFACF,OACE,iGACF,OACE,6EACF,OACE,uFACF,OACE,sHACF,OACE,yGACF,OACE,0JACF,OAAU,mDACV,OACE,yFACF,OACE,mGACF,OAAU,uCACV,OACE,4FACF,OAAU,mEACV,OAAU,wDACV,OAAU,0BACV,OAAU,+CACV,OACE,4EACF,OACE,qFACF,OACE,wGACF,OACE,mHACF,OAAU,6DACV,OACE,uEACF,OACE,uEACF,OAAU,6DACV,OAAU,gEACV,OAAU,iEACV,OAAU,kEACV,OACE,qGACF,OAAU,+DACV,OAAU,+DACV,OAAU,iEACV,OAAU,kEACV,OACE,uEACF,OACE,uEACF,OACE,iGACF,OACE,6GACF,OACE,sFACF,OACE,yGACF,OACE,qGACF,OACE,0LACF,OACE,8EACF,OACE,0EACF,OACE,kFACF,OACE,8EACF,OACE,8GACF,OACE,+MACF,OACE,wNACF,OACE,2IACF,OACE,2EACF,OACE,8EACF,OACE,gFACF,OACE,wEACF,OAAU,oEACV,OAAU,yDACV,OACE,2OACF,OACE,yEACF,OACE,yEACF,OACE,0FACF,OAAU,wDACV,OAAU,iEACV,OACE,qIACF,OAAU,gEACV,OAAU,gEACV,OACE,2EACF,OACE,4EACF,OAAU,2DACV,OACE,wEACF,OAAU,+DACV,OAAU,kEACV,OACE,wHACF,OACE,oGACF,OACE,wHACF,OACE,kGACF,OACE,sHACF,OACE,0HACF,OACE,wIACF,OACE,4GACF,OACE,yKACF,OACE,kHACF,OACE,kIACF,OACE,4JACF,OACE,wLACF,OACE,yKACF,OACE,gJACF,OACE,uOACF,OACE,4PACF,OACE,qIACF,OACE,wKACF,OACE,mLACF,OACE,iIACF,OACE,uMACF,OACE,8IACF,OACE,mIACF,OACE,kIACF,OACE,oIACF,OACE,mIACF,OACE,2IACF,OACE,8LACF,OACE,oMACF,OACE,yHACF,OACE,0IACF,OACE,yIACF,OACE,6IACF,OACE,mHACF,OACE,oGACF,OACE,yGACF,OACE,mHACF,OACE,yHACF,OACE,6FACF,OACE,2GACF,OACE,uHACF,OACE,wHACF,OACE,yLACF,OACE,8PACF,OACE,gHACF,OACE,oJACF,OACE,mGACF,OACE,4JACF,OACE,0JACF,OACE,2JACF,OACE,oKACF,OACE,6IACF,OACE,0KACF,OACE,0KACF,OACE,8JACF,OACE,uJACF,OACE,6MACF,OACE,6MACF,OACE,+KACF,OACE,sIACF,OACE,sIACF,OACE,8NACF,OACE,yIACF,OACE,gJACF,OACE,mJACF,OACE,iJACF,OACE,8MACF,OACE,2FACF,OACE,qGACF,OACE,4EACF,OACE,6HACF,OACE,kIACF,OACE,yGACF,OACE,qFACF,OACE,wGACF,OACE,wJACF,OACE,qLACF,OACE,kHACF,OACE,6FACF,OACE,uIACF,OACE,8FACF,OACE,kGACF,OACE,2OACF,OAAU,wDACV,OAAU,mDACV,OACE,4EACF,OAAU,8CACV,OAAU,mEACV,OACE,8EACF,OAAU,4CACV,OAAU,+DACV,OACE,yIACF,OAAU,4DACV,OAAU,sDACV,OAAU,kCACV,OAAU,uDACV,OAAU,iEACV,OACE,2EACF,OAAU,yDACV,OAAU,gEACV,OAAU,iEACV,OAAU,uCACV,OAAU,mEACV,OAAU,4DACV,OACE,4EACF,OACE,mFACF,OAAU,uDACV,OAAU,yDACV,OAAU,mEACV,OAAU,oDACV,OACE,wFACF,OACE,wFACF,OACE,sFACF,OACE,6GACF,OACE,6HACF,OACE,kJACF,OACE,uJACF,OACE,8HACF,OACE,8FACF,OACE,6EACF,OACE,6EACF,OACE,2EACF,OACE,wEACF,OACE,iHACF,OACE,kHACF,OAAU,qBACV,OACE,8HACF,OACE,kIACF,OACE,0EACF,OACE,0EACF,OACE,+HACF,OAAU,gEACV,OACE,0HACF,OACE,2IACF,OACE,4JACF,OACE,2KACF,OACE,4LACF,OACE,sJACF,OACE,sKACF,OACE,qJACF,OACE,iFACF,OACE,4HACF,OAAU,qDACV,OACE,0LACF,OACE,qNACF,OACE,yLACF,OACE,uLACF,OACE,mNACF,OACE,gMACF,OACE,4PACF,OACE,2LACF,OACE,qMACF,OACE,gLACF,OACE,2LACF,OACE,qIACF,OACE,uIACF,OACE,qLACF,OACE,oJACF,OACE,8HACF,OACE,qJACF,OACE,4IACF,OACE,+HACF,OACE,+IACF,OACE,gLACF,OACE,2LACF,OACE,2LACF,OACE,sKACF,OACE,iQACF,OACE,kNACF,OACE,sNACF,OACE,6PACF,OACE,uHACF,OACE,wIACF,OACE,wEACF,OACE,wEACF,OAAU,2DACV,OAAU,qDACV,OACE,gPACF,OAAU,gDACV,OAAU,sDACV,OACE,6GACF,OACE,oIACF,OACE,oIACF,OACE,0FACF,OAAU,oEACV,OACE,gFACF,OACE,4FACF,OAAU,gBACV,OAAU,sDACV,OAAU,qDACV,OACE,yEACF,OACE,yEACF,OAAU,qDACV,OAAU,4CACV,OAAU,uBACV,OAAU,sDACV,OAAU,oDACV,OAAU,oDACV,OACE,8FACF,OAAU,oDACV,OAAU,qDACV,OAAU,mDACV,OAAU,mDACV,OACE,sEACF,OACE,uEACF,OACE,2EACF,OACE,uKACF,OACE,sIACF,OACE,kFACF,OACE,oKACF,OACE,uHACF,OACE,8FACF,OACE,8PACF,OACE,4FACF,OACE,uGACF,OAAU,mCACV,OACE,4FACF,OACE,uOACF,OACE,0EACF,OACE,gFACF,OACE,oHACF,OAAU,mDACV,OACE,kGACF,OACE,sEACF,OAAU,2DACV,OACE,kFACF,OAAU,8DACV,OACE,iFACF,OACE,2GACF,OAAU,oCACV,OAAU,mDACV,OAAU,qCACV,OAAU,iDACV,OAAU,yCACV,OAAU,wCACV,OACE,iIACF,OACE,0GACF,OACE,0HACF,OACE,iJACF,OACE,wIACF,OACE,0EACF,OACE,iFACF,OACE,gFACF,OACE,6EACF,OACE,0FACF,OAAU,+CACV,OACE,+JACF,OACE,+FACF,OACE,8LACF,OACE,0HACF,OACE,qIACF,OACE,uLACF,OACE,qIACF,MACE,gNACF,OACE,mGACF,OAAU,kEACV,OAAU,kEACV,OAAU,kEACV,OAAU,+DACV,OAAU,0CACV,OAAU,0CACV,OAAU,0DACV,OACE,kHACF,OAAU,8DACV,OACE,iKACF,OACE,mHACF,OAAU,qCACV,OAAU,gDACV,OAAU,wCACV,OAAU,4CACV,OACE,+GACF,OAAU,yBACV,OAAU,8BACV,OAAU,oEACV,OACE,wFACF,OACE,4GACF,OACE,iHACF,OACE,qGACF,OAAU,gEACV,OACE,kGACF,OAAU,uDACV,OACE,uKACF,OACE,+LACF,OACE,sGACF,OACE,6JACF,OACE,6KACF,OACE,kKACF,OACE,8KACF,OACE,qKACF,OACE,2MACF,OACE,8KACF,OAAU,gEACV,OAAU,uDACV,OACE,2EACF,OAAU,iCACV,OAAU,iDACV,OACE,4FACF,OACE,2JACF,OACE,4JACF,OACE,wKACF,OACE,+JACF,OACE,6GACF,OAAU,kCACV,OACE,wKACF,OAAU,4CACV,OAAU,wCACV,OAAU,oCACV,OAAU,sDACV,OAAU,gDACV,OAAU,iDACV,OACE,8FACF,OAAU,iDACV,OAAU,kDACV,OACE,mPACF,OAAU,8CACV,OAAU,+DACV,OAAU,8CACV,OACE,+IACF,OACE,mLACF,OAAU,kBACV,OAAU,mEACV,OACE,8EACF,OACE,sGACF,OACE,4IACF,OAAU,gEACV,OACE,mHACF,OAAU,mEACV,OACE,yHACF,OACE,2HACF,OAAU,gEACV,OACE,oIACF,OACE,+IACF,OAAU,2DACV,OACE,2EACF,OACE,0GACF,OAAU,gCACV,OAAU,iEACV,OACE,yEACF,OACE,oHACF,OACE,iHACF,OACE,6FACF,OACE,kLACF,OACE,uEACF,OACE,wIACF,OACE,qGACF,OAAU,+DACV,OAAU,0DACV,OAAU,uDACV,OAAU,gEACV,OACE,+IACF,OAAU,2DACV,OACE,wKACF,OACE,sMACF,OAAU,qDACV,OACE,uHACF,OAAU,kDACV,OAAU,mDACV,OACE,mGACF,OAAU,qDACV,OAAU,gDACV,OAAU,oEACV,OACE,gHACF,OACE,oFACF,OACE,uIACF,OACE,0FACF,OACE,wEACF,OACE,2JACF,OACE,6JACF,OACE,0EACF,OACE,yEACF,OAAU,+DACV,OACE,yFACF,OACE,2GACF,OAAU,iEACV,OACE,sEACF,OACE,4EACF,OACE,+FACF,OAAU,mDACV,OACE,+EACF,OACE,4FACF,OACE,2GACF,OACE,qHACF,OACE,wGACF,OACE,qHACF,MACE,mIACF,OAAU,mBACV,OACE,wEACF,OACE,mFACF,OACE,8EACF,OACE,2FACF,OAAU,8BACV,OAAU,sCACV,OAAU,iEACV,OACE,4EACF,OACE,yGACF,OACE,uFACF,OACE,qFACF,OACE,oFACF,OACE,mFACF,OACE,uHACF,OACE,uFACF,OACE,qFACF,OACE,sGACF,OACE,0GACF,OACE,0GACF,OACE,sFACF,OACE,sGACF,OAAU,YACV,OACE,mLACF,OAAU,oEACV,OACE,mHACF,OAAU,6BACV,OAAU,gDACV,OAAU,gDACV,OACE,sEACF,OACE,+HACF,OACE,8JACF,OAAU,8BACV,OAAU,2DACV,OAAU,8BACV,OAAU,gDACV,OAAU,mDACV,OACE,2FACF,OAAU,8DACV,OACE,6FACF,OACE,sFACF,OACE,8FACF,OACE,iMACF,OACE,wHACF,OACE,6FACF,OACE,qOACF,OACE,0MACF,OAAU,4CACV,OACE,mKACF,OACE,kGACF,OACE,mGACF,OACE,oGACF,OACE,mGACF,OAAU,4CACV,OACE,sJACF,OACE,iKACF,OACE,mGACF,OACE,oGACF,OACE,gGACF,OACE,gLACF,OACE,yLACF,OACE,yMACF,OACE,8LACF,OACE,kLACF,OACE,mKACF,OAAU,iEACV,OACE,6EACF,OAAU,oEACV,OACE,0GACF,OACE,oJACF,OACE,2HACF,OACE,mMACF,OACE,6GACF,OAAU,+BACV,OACE,mMACF,OAAU,SACV,OAAU,wDACV,OAAU,wBACV,OAAU,+BACV,OAAU,mCACV,OACE,8EACF,OACE,2IACF,OACE,4MACF,OACE,yIACF,OAAU,uCACV,OACE,sEACF,OACE,iKACF,OACE,8EACF,OACE,qGACF,OAAU,2CACV,OACE,2EACF,OAAU,iCACV,OAAU,sDACV,OACE,iHACF,OAAU,eACV,OAAU,mBACV,OAAU,kBACV,OAAU,kBACV,OAAU,WACV,OAAU,sBACV,OAAU,kCACV,OACE,0HACF,OAAU,+DACV,OACE,6JACF,OACE,gHACF,OACE,wIACF,OACE,gHACF,OACE,6JACF,OACE,gMACF,OACE,gMACF,OACE,kHACF,OACE,4EACF,OACE,gMACF,OACE,wLACF,OACE,gOACF,OACE,2NACF,OACE,2NACF,OACE,0LACF,OACE,+KACF,OACE,yMACF,OACE,uKACF,OACE,mOACF,OACE,6OACF,OACE,8MACF,OACE,mKACF,OACE,gJACF,OACE,kJACF,OACE,2MACF,OACE,8MACF,OACE,mKACF,OACE,uMACF,OACE,gMACF,OACE,iKACF,OACE,2GACF,OACE,4JACF,OACE,0JACF,OACE,uFACF,OACE,uFACF,OACE,+EACF,OAAU,kEACV,OACE,oHACF,OACE,sJACF,OACE,uJACF,OACE,0HACF,OACE,2JACF,OAAU,uBACV,OAAU,wCACV,OACE,6EACF,OACE,gHACF,OAAU,oBACV,OACE,oGACF,OAAU,sDACV,OACE,2LACF,OAAU,uDACV,OACE,8EACF,OACE,6JACF,OAAU,wBACV,OACE,+HACF,OAAU,aACV,OAAU,qDACV,OACE,mKACF,OACE,2FACF,OACE,yFACF,OACE,8IACF,OACE,qFACF,OACE,8NACF,OACE,yMACF,OACE,iQACF,OACE,qMACF,OACE,wOACF,OACE,6MACF,OACE,gHACF,OACE,4KACF,OACE,qKACF,OACE,gNACF,OACE,wKACF,OACE,+NACF,OACE,gNACF,OACE,yMACF,OACE,uMACF,OACE,kPACF,OACE,kNACF,OACE,qIACF,OACE,uJACF,OAAU,mDACV,OAAU,oEACV,OACE,iGACF,OACE,qGACF,OACE,6MACF,OAAU,gCACV,OAAU,iDACV,OACE,yGACF,OACE,0JACF,OACE,qKACF,OACE,uFACF,OACE,yHACF,OACE,2KACF,OACE,2LACF,OACE,oMACF,OACE,yGACF,OACE,2GACF,OACE,gGACF,OACE,qEACF,OACE,yEACF,OAAU,kDACV,OACE,uMACF,MAAU,0DACV,OACE,mJACF,OACE,4EACF,OACE,2LACF,OACE,wPACF,OACE,kMACF,OACE,oMACF,OACE,4PACF,OAAU,iDACV,OACE,+EACF,OACE,6EACF,OACE,uFACF,OACE,gIACF,OACE,wEACF,OACE,4EACF,OAAU,0DACV,OAAU,wCACV,OAAU,gDACV,OAAU,4BACV,OACE,gIACF,OAAU,iDACV,OACE,wEACF,OACE,4EACF,OAAU,0DACV,OAAU,wCACV,OAAU,sDACV,OACE,qOACF,OACE,uKACF,OACE,wHACF,OACE,wPACF,OACE,6GACF,OACE,kIACF,OACE,4IACF,OACE,gOACF,OACE,uGACF,OACE,qJACF,OACE,mOACF,OACE,8JACF,OACE,0OACF,OACE,wMACF,OACE,iLACF,OACE,4OACF,OACE,sLACF,OACE,8JACF,OACE,qIACF,OACE,0OACF,OACE,2FACF,OACE,6EACF,OACE,+GACF,OACE,6GACF,OACE,8GACF,OACE,kIACF,OACE,8IACF,OACE,mLACF,OACE,gPACF,OACE,uPACF,OACE,uHACF,OAAU,4BACV,OACE,kQACF,OACE,6JACF,OACE,kJACF,OACE,uKACF,OACE,mPACF,OACE,kQACF,OACE,8PACF,OACE,yOACF,OACE,8PACF,OACE,kQACF,OACE,kQACF,OACE,kQACF,OACE,iQACF,OACE,iQACF,OACE,kQACF,OACE,kQACF,OACE,kQACF,OACE,iQACF,OACE,0GACF,OAAU,wCACV,OAAU,wCACV,OACE,yEACF,OAAU,2DACV,OAAU,kEACV,OAAU,gBACV,OACE,qEACF,OAAU,uBACV,OACE,iFACF,OAAU,6DACV,OACE,0EACF,OACE,6EACF,OACE,uFACF,OAAU,iEACV,OAAU,2BACV,OACE,yIACF,OACE,qIACF,OACE,+GACF,OACE,4HACF,OACE,oGACF,OACE,0FACF,OACE,sGACF,OACE,gFACF,OAAU,kEACV,OAAU,+DACV,OACE,4EACF,OACE,2EACF,OAAU,oEACV,OACE,iFACF,OACE,6EACF,OACE,oGACF,OACE,gHACF,OACE,2HACF,OAAU,gEACV,OAAU,kDACV,OAAU,gCACV,OAAU,aACV,OACE,8FACF,OACE,kGACF,OAAU,mCACV,OAAU,iBACV,OAAU,iCACV,OAAU,iDACV,OACE,yFACF,OACE,yFACF,OAAU,sCACV,OACE,wEACF,OACE,sEACF,OACE,kFACF,OAAU,2DACV,OAAU,2DACV,OAAU,kDACV,OAAU,6DACV,OACE,2HACF,OACE,sIACF,OAAU,oCACV,OAAU,kCACV,MAAU,8BACV,OACE,oGACF,OACE,4EACF,OACE,iHACF,OAAU,wDACV,OAAU,oDACV,OAAU,8DACV,OACE,2EACF,OACE,wFACF,OACE,oFACF,OACE,0EACF,OACE,0GACF,OACE,kFACF,OAAU,8CACV,OAAU,6CACV,OAAU,oDACV,OAAU,gEACV,OACE,+KACF,OACE,qLACF,OACE,iMACF,OACE,6FACF,OACE,2EACF,OACE,4EACF,OACE,iFACF,OACE,0FACF,OACE,iGACF,OACE,8JACF,OACE,2JACF,OACE,uEACF,OACE,wEACF,OACE,kIACF,OACE,uJACF,OACE,sIACF,OACE,iJACF,OACE,gMACF,OACE,iMACF,OACE,+LACF,OACE,yLACF,OACE,4LACF,OACE,0PACF,OACE,uPACF,OACE,qNACF,OACE,gOACF,OACE,0LACF,OACE,wMACF,OACE,kMACF,OACE,iNACF,OACE,iMACF,OACE,wKACF,OACE,6LACF,OACE,4NACF,OACE,+LACF,OACE,sLACF,OACE,wLACF,OACE,2LACF,OACE,+MACF,OACE,mFACF,OACE,0FACF,OACE,6EACF,OACE,qFACF,OACE,mGACF,OAAU,8DACV,OAAU,uDACV,OAAU,sCACV,OACE,0GACF,OAAU,mCACV,OAAU,uDACV,OACE,+HACF,OAAU,6BACV,OACE,+FACF,OAAU,mDACV,OACE,uFACF,OAAU,oCACV,OAAU,2CACV,OACE,8GACF,OACE,qFACF,OACE,gHACF,OAAU,mEACV,OAAU,sCACV,OAAU,2CACV,OAAU,0DACV,OAAU,qDACV,OAAU,iDACV,OACE,8GACF,OAAU,mCACV,OAAU,8CACV,OACE,4IACF,OACE,iHACF,OACE,2JACF,OACE,yKACF,OACE,2FACF,OACE,6GACF,OACE,mHACF,OACE,sHACF,OACE,mIACF,OACE,iHACF,OACE,8HACF,OACE,0FACF,OACE,2HACF,OACE,iIACF,OACE,mGACF,OACE,gHACF,OACE,2EACF,OACE,kHACF,OACE,+GACF,OACE,mGACF,OACE,yGACF,OACE,4JACF,OACE,sEACF,OACE,iFACF,OAAU,sCACV,OACE,8FACF,OACE,wGACF,OACE,mGACF,OACE,gHACF,OACE,mJACF,OACE,qJACF,OACE,kJACF,OACE,0IACF,OACE,4IACF,OACE,yIACF,OACE,sJACF,OACE,wJACF,OACE,qJACF,OACE,+KACF,OACE,wKACF,OACE,qKACF,OACE,qFACF,OACE,qHACF,OACE,4EACF,OACE,wFACF,OACE,+EACF,OACE,mHACF,OACE,wLACF,OACE,yLACF,OACE,2IACF,OACE,4IACF,OACE,gFACF,OACE,uKACF,OACE,kLACF,OACE,wKACF,OACE,mLACF,OACE,sHACF,OACE,uHACF,OACE,4FACF,OACE,2FACF,OACE,yFACF,OAAU,4CACV,OAAU,kDACV,OAAU,0DACV,OAAU,6DACV,OAAU,0DACV,OACE,uIACF,OACE,2LACF,OACE,uLACF,OACE,kHACF,OACE,gGACF,OACE,mHACF,OACE,2EACF,OACE,wEACF,OACE,kJACF,OACE,sMACF,OACE,kMACF,OACE,6HACF,OAAU,0BACV,OACE,4FACF,OAAU,4DACV,OAAU,8CACV,OACE,sIACF,OAAU,+BACV,OAAU,2CACV,OACE,iHACF,OAAU,kDACV,OAAU,kDACV,OACE,qEACF,OACE,8JACF,OAAU,+DACV,OACE,2HACF,OAAU,uCACV,OACE,mIACF,OACE,wJACF,OACE,gGACF,OACE,+EACF,OAAU,yDACV,OACE,uHACF,OACE,6HACF,OACE,4FACF,OACE,8GACF,OACE,kLACF,OACE,yMACF,OAAU,wDACV,OACE,gFACF,OACE,yGACF,OACE,wFACF,OACE,qMACF,OACE,iGACF,OACE,oPACF,OACE,uKACF,OACE,mHACF,OACE,kNACF,OACE,kMACF,OACE,6LACF,OACE,2LACF,OACE,kNACF,OACE,2JACF,OACE,gJACF,OACE,0JACF,OACE,2JACF,OACE,2KACF,OACE,4LACF,OACE,yKACF,OACE,oLACF,OACE,mIACF,OACE,gJACF,OACE,kJACF,OACE,wLACF,OACE,yMACF,OACE,+MACF,OACE,0IACF,OACE,sIACF,OACE,kKACF,OACE,+KACF,OACE,6MACF,OACE,yIACF,OACE,oKACF,OACE,+IACF,OACE,oJACF,OACE,uIACF,OACE,+FACF,OACE,kOACF,OACE,qNACF,OACE,oFACF,OACE,8OACF,OACE,uOACF,OACE,4PACF,OACE,6GACF,OACE,wHACF,OACE,2GACF,OACE,+PACF,OACE,wPACF,OACE,4PACF,OAAU,2DACV,OAAU,mEACV,MACE,iJACF,OACE,8HACF,OACE,yLACF,OACE,0LACF,OACE,iLACF,OACE,mKACF,OACE,4PACF,OAAU,mDACV,OACE,2EACF,OACE,4HACF,OACE,4JACF,OACE,2JACF,OACE,wLACF,OACE,uLACF,OACE,oOACF,OAAU,sBACV,OAAU,kCACV,OACE,8MACF,OACE,4IACF,OACE,uJACF,OACE,wLACF,OACE,wGACF,OACE,6EACF,OACE,oJACF,OACE,qEACF,OACE,mIACF,OACE,2JACF,OACE,mFACF,OACE,yFACF,OACE,sIACF,OACE,4EACF,OACE,8FACF,OAAU,uBACV,OACE,4FACF,OAAU,oEACV,OACE,8EACF,OACE,mKACF,OACE,sEACF,OACE,wEACF,OAAU,mEACV,OAAU,oEACV,OACE,uJACF,OACE,iJACF,OACE,iGACF,OACE,2GACF,OACE,6LACF,OACE,yJACF,OACE,mIACF,OACE,0HACF,OAAU,qDACV,OAAU,gEACV,OAAU,oCACV,OACE,iGACF,OACE,sHACF,OACE,0HACF,OACE,iFACF,OACE,qFACF,OACE,4GACF,OACE,6HACF,OACE,oFACF,OACE,wIACF,OACE,qEACF,OACE,8EACF,OACE,+FACF,OACE,gFACF,OACE,0FACF,OAAU,8DACV,OACE,0GACF,OACE,kJACF,OACE,sKACF,OACE,0KACF,OAAU,8BACV,OACE,mMACF,OACE,qMACF,OACE,0NACF,OACE,4NACF,OACE,kNACF,OACE,oNACF,OACE,oJACF,OACE,gKACF,OACE,qKACF,OACE,gKACF,OACE,gJACF,OACE,oNACF,OACE,gHACF,OACE,4KACF,OACE,qGACF,OACE,uGACF,OACE,gLACF,OACE,kLACF,OACE,iLACF,OACE,mLACF,OACE,oIACF,OACE,iIACF,OAAU,kCACV,OACE,iMACF,OACE,qMACF,OAAU,iCACV,OAAU,kEACV,OACE,8EACF,OACE,kFACF,OAAU,8DACV,OACE,0EACF,OACE,8EACF,OACE,6IACF,OACE,8KACF,OACE,qMACF,OACE,gOACF,OACE,mGACF,OACE,oOACF,OACE,6MACF,OACE,yJACF,OACE,6KACF,OACE,oLACF,OACE,sLACF,OACE,kMACF,OACE,wIACF,OACE,sIACF,OACE,sKACF,OACE,yIACF,OACE,yIACF,OACE,wIACF,OACE,2IACF,OACE,0IACF,OACE,4JACF,OACE,wKACF,OACE,gKACF,OACE,2PACF,OACE,gMACF,OACE,iQACF,OACE,kPACF,OACE,6LACF,OACE,qLACF,OACE,yLACF,OACE,iLACF,OACE,mLACF,OACE,8NACF,OACE,wHACF,OACE,sGACF,OACE,mHACF,OACE,+IACF,OACE,gNACF,OACE,2NACF,OACE,2NACF,OACE,gOACF,OACE,sOACF,OACE,yJACF,OACE,mLACF,OACE,2LACF,OACE,qEACF,OACE,wFACF,OAAU,kDACV,OACE,uLACF,OACE,4MACF,OACE,wMACF,OACE,6MACF,OACE,yMACF,OACE,+LACF,OACE,0JACF,OACE,2KACF,OACE,8JACF,OACE,2LACF,OAAU,iEACV,OACE,0MACF,OACE,uHACF,OACE,qLACF,OACE,iOACF,OACE,sMACF,OACE,+GACF,OACE,6MACF,OACE,kPACF,OACE,kOACF,OACE,iIACF,OACE,iOACF,OACE,iQACF,OACE,wKACF,OACE,6HACF,OACE,qIACF,OACE,sFACF,OACE,4EACF,OACE,yFACF,OACE,8HACF,OACE,mFACF,OACE,qHACF,OACE,4MACF,OACE,uNACF,OACE,wIACF,OACE,kNACF,OAAU,oEACV,OACE,wEACF,OACE,0FACF,OACE,8FACF,OACE,sEACF,OAAU,mEACV,OACE,4GACF,OACE,oHACF,OAAU,iDACV,OAAU,mEACV,OACE,gFACF,OAAU,8CACV,OAAU,iEACV,OACE,6EACF,OAAU,uBACV,OAAU,oDACV,OAAU,4BACV,OAAU,wBACV,OAAU,qDACV,OAAU,iEACV,OACE,mGACF,OACE,0HACF,OACE,mHACF,OACE,iFACF,OACE,8EACF,OACE,qFACF,OAAU,uDACV,OACE,4IACF,OACE,2EACF,OACE,sFACF,OACE,iGACF,OACE,iGACF,OAAU,8BACV,OACE,kGACF,OAAU,4DACV,OACE,wEACF,OAAU,uDACV,OAAU,oDACV,OAAU,+CACV,OAAU,yDACV,OAAU,oEACV,OACE,mKACF,OAAU,wBACV,OAAU,gBACV,OACE,wFACF,OACE,2FACF,OAAU,sDACV,OAAU,6CACV,OAAU,uDACV,OACE,8KACF,OAAU,4CACV,OAAU,+DACV,OACE,4JACF,OACE,wGACF,OACE,8GACF,OACE,wEACF,OACE,8GACF,OACE,8GACF,OACE,uJACF,OACE,iFACF,OACE,mHACF,OACE,mHACF,OACE,4JACF,OACE,6GACF,OACE,kLACF,OACE,iJACF,OACE,iJACF,OACE,yMACF,OACE,kKACF,OAAU,kCACV,OAAU,wCACV,OACE,kHACF,OACE,sHACF,OACE,uGACF,OACE,2GACF,OACE,0GACF,OACE,8GACF,OACE,yHACF,OACE,6HACF,OACE,oFACF,OAAU,4BACV,OACE,+EACF,OAAU,kBACV,OACE,4KACF,OACE,0KACF,OACE,gOACF,OACE,2EACF,OACE,4HACF,OACE,kJACF,OACE,0HACF,OACE,kKACF,OAAU,gCACV,OACE,8KACF,OACE,8IACF,OACE,uFACF,OACE,wKACF,OACE,gMACF,OACE,yKACF,OACE,yMACF,OACE,gMACF,OACE,kOACF,OACE,oNACF,OACE,sLACF,OACE,+IACF,OACE,mIACF,OACE,8KACF,OACE,wMACF,OACE,4NACF,OACE,gIACF,OACE,8HACF,OACE,sIACF,OACE,oIACF,OACE,4IACF,OACE,0IACF,OACE,oKACF,OACE,6MACF,OACE,mLACF,OACE,4IACF,OACE,qMACF,OACE,2JACF,OACE,uGACF,OACE,+EACF,OACE,uEACF,OACE,mGACF,OACE,qFACF,OACE,oGACF,OACE,qIACF,OACE,6GACF,OACE,yGACF,OACE,2FACF,OACE,8EACF,OACE,kFACF,OACE,gFACF,OACE,yGACF,OACE,kHACF,OACE,wGACF,OACE,wGACF,OACE,kIACF,OACE,wGACF,OAAU,iDACV,OAAU,gDACV,OAAU,4CACV,OACE,yFACF,OACE,mLACF,OACE,kLACF,OACE,oLACF,OACE,kMACF,OACE,2JACF,OACE,oHACF,OACE,qKACF,OACE,kLACF,OACE,qJACF,OACE,0NACF,OACE,kLACF,OACE,qEACF,OACE,wLACF,OACE,gNACF,OACE,kNACF,OACE,uOACF,OACE,uPACF,OACE,oPACF,OACE,qOACF,OACE,uPACF,OACE,0OACF,OACE,uNACF,OACE,yNACF,OACE,0KACF,OACE,mKACF,OACE,mKACF,OACE,6KACF,OACE,kIACF,OACE,oHACF,OACE,wKACF,OACE,2LACF,OACE,kMACF,OACE,yJACF,OACE,+GACF,OACE,mKACF,OACE,sLACF,OACE,oMACF,OACE,oJACF,OACE,8LACF,OAAU,4DACV,OAAU,qDACV,OAAU,0DACV,OACE,gGACF,OAAU,sDACV,OACE,wKACF,OACE,wKACF,OACE,kGACF,OACE,mFACF,OACE,qHACF,OACE,gGACF,OACE,oGACF,OACE,8HACF,OAAU,kCACV,OACE,+EACF,OACE,qHACF,OAAU,+BACV,OACE,wEACF,OACE,oFACF,OACE,kHACF,OACE,yFACF,OACE,6FACF,OACE,oFACF,OACE,wEACF,OACE,mIACF,OACE,+IACF,OACE,oJACF,OACE,4LACF,OACE,qJACF,OAAU,uCACV,OAAU,yDACV,OACE,4EACF,OAAU,8DACV,OAAU,6DACV,OAAU,qDACV,OAAU,uDACV,OACE,+JACF,OACE,0KACF,OAAU,gEACV,OAAU,gEACV,OACE,qGACF,OAAU,oDACV,OACE,8FACF,OACE,sFACF,OACE,oJACF,OACE,0JACF,OAAU,iEACV,OACE,gGACF,OACE,8GACF,OAAU,wDACV,OACE,oHACF,OAAU,0DACV,OACE,8EACF,OACE,8GACF,OACE,4IACF,OACE,wJACF,OAAU,iEACV,OACE,uEACF,OAAU,kBACV,OACE,oHACF,OACE,mIACF,OACE,oHACF,OACE,mIACF,OACE,6MACF,OACE,8PACF,OAAU,yDACV,OAAU,oEACV,OACE,4KACF,MAAU,6DACV,OACE,iFACF,OACE,gFACF,OAAU,6CACV,OAAU,+CACV,OAAU,8BACV,OACE,wFACF,OACE,+GACF,OACE,2GACF,OACE,gFACF,OAAU,8DACV,OACE,qFACF,OAAU,mCACV,OACE,sGACF,OAAU,iDACV,OAAU,sBACV,OACE,wFACF,OAAU,mEACV,OACE,gFACF,OAAU,2CACV,OAAU,+CACV,OACE,4EACF,OACE,uFACF,OAAU,iDACV,OACE,2GACF,OACE,oJACF,OACE,kGACF,OACE,0EACF,OAAU,eACV,OAAU,sDACV,OAAU,iEACV,OAAU,2CACV,OACE,wEACF,OACE,mFACF,OAAU,6CACV,OACE,6FACF,OACE,+FACF,OACE,6FACF,OACE,+FACF,OAAU,gEACV,OAAU,gEACV,OACE,6HACF,OACE,+HACF,MACE,uHACF,OACE,mKACF,OACE,+JACF,OACE,4KACF,OACE,gLACF,OACE,2LACF,OACE,6JACF,OACE,yJACF,OACE,4KACF,OACE,gLACF,OACE,2LACF,OAAU,wDACV,OAAU,+BACV,OAAU,8CACV,OAAU,gCACV,OACE,6EACF,OAAU,2BACV,OACE,gGACF,OACE,kGACF,OAAU,gDACV,OACE,yLACF,OACE,0NACF,OACE,0NACF,OACE,uNACF,OACE,mLACF,OACE,uLACF,OACE,wNACF,OACE,wNACF,OACE,qNACF,OACE,iLACF,OACE,2MACF,OACE,8MACF,OACE,oLACF,OACE,0MACF,OACE,oMACF,OACE,oMACF,OACE,iMACF,OACE,sMACF,OACE,wMACF,OACE,kMACF,OACE,kMACF,OACE,+LACF,OACE,oMACF,OACE,+LACF,OACE,kMACF,OACE,sMACF,OACE,0LACF,OACE,4NACF,OACE,4NACF,OACE,yNACF,OACE,qLACF,OACE,yLACF,OACE,0NACF,OACE,0NACF,OACE,uNACF,OACE,mLACF,OACE,4MACF,OACE,sMACF,OACE,sMACF,OACE,mMACF,OACE,uMACF,OACE,0MACF,OACE,oMACF,OACE,oMACF,OACE,iMACF,OACE,qMACF,OACE,uGACF,OACE,yGACF,OACE,sHACF,OACE,4IACF,OACE,4JACF,OACE,8IACF,OACE,oHACF,OACE,0IACF,OACE,0JACF,OACE,4IACF,OACE,gHACF,OACE,sIACF,OACE,sJACF,OACE,uIACF,OACE,yIACF,OACE,kJACF,OACE,+KACF,OACE,iKACF,OACE,mHACF,OACE,yIACF,OACE,yJACF,OACE,2IACF,OACE,kHACF,OACE,wJACF,OACE,0IACF,OACE,gHACF,OACE,sJACF,OACE,wIACF,OACE,4GACF,OACE,kJACF,OACE,oIACF,OACE,qIACF,OACE,+HACF,OACE,2KACF,OACE,6JACF,OACE,+GACF,OACE,qJACF,OACE,uIACF,OACE,+JACF,OACE,qMACF,OACE,uLACF,OACE,6JACF,OACE,mMACF,OACE,qLACF,OACE,yJACF,OACE,+LACF,OACE,iLACF,OACE,kLACF,OACE,wNACF,OACE,0MACF,OACE,4JACF,OACE,kMACF,OACE,oLACF,OACE,iKACF,OACE,iMACF,OACE,yLACF,OACE,kJACF,OACE,+JACF,OACE,qMACF,OACE,uLACF,OACE,2JACF,OACE,iMACF,OACE,mLACF,OACE,oLACF,OACE,8KACF,OACE,0NACF,OACE,4MACF,OACE,8JACF,OACE,oMACF,OACE,sLACF,OACE,8FACF,OACE,4FACF,OACE,wFACF,OACE,iHACF,OACE,2FACF,OACE,0FACF,OACE,wFACF,OACE,oFACF,OACE,6GACF,OACE,uFACF,OAAU,oCACV,OAAU,yCACV,OAAU,qDACV,OAAU,gEACV,OAAU,yDACV,OACE,8IACF,OACE,0HACF,OACE,6LACF,OACE,uEACF,OACE,uJACF,OACE,qNACF,OAAU,oCACV,OACE,2GACF,OAAU,gDACV,OACE,mIACF,OACE,qNACF,OACE,sEACF,OACE,2KACF,OAAU,wBACV,OAAU,6CACV,OAAU,wDACV,OACE,6EACF,OAAU,gBACV,OAAU,qCACV,OAAU,iBACV,OACE,8EACF,OACE,+EACF,OACE,0FACF,OACE,iFACF,OACE,4FACF,OACE,0FACF,OACE,qGACF,OACE,+GACF,OACE,+EACF,OACE,gFACF,OACE,oKACF,OACE,0LACF,OACE,0LACF,OACE,uKACF,OACE,qMACF,OACE,iMACF,OACE,kIACF,OACE,qIACF,OACE,yLACF,OACE,+OACF,OACE,6OACF,OACE,gPACF,OACE,0NACF,OACE,+NACF,OACE,qOACF,OACE,sOACF,OACE,oNACF,OACE,yOACF,OACE,oNACF,OACE,sMACF,OACE,yMACF,OACE,8NACF,OACE,mMACF,OACE,qLACF,OACE,mMACF,OACE,6MACF,OACE,0IACF,OACE,kJACF,OACE,0MACF,OACE,+LACF,OACE,wIACF,OACE,8IACF,OACE,6KACF,OACE,6JACF,OACE,mKACF,OACE,uGACF,OACE,wGACF,OACE,6GACF,OACE,sHACF,OACE,0IACF,OACE,2MACF,OACE,4EACF,OACE,6EACF,OACE,8EACF,OACE,uFACF,OACE,yEACF,OACE,2EACF,OACE,qHACF,OACE,mGACF,OACE,4HACF,OACE,sGACF,OACE,2GACF,OACE,yFACF,OACE,kHACF,OACE,4FACF,OACE,uFACF,OACE,uFACF,OACE,yFACF,OACE,uJACF,OACE,qIACF,OACE,8JACF,OACE,wIACF,OACE,oKACF,OACE,kJACF,OACE,2KACF,OACE,iHACF,OACE,iGACF,OACE,2EACF,OACE,wGACF,OACE,kFACF,OACE,4EACF,OACE,kJACF,OACE,gIACF,OACE,4HACF,OACE,mIACF,OACE,kJACF,OACE,gIACF,OACE,yJACF,OACE,mIACF,OAAU,+DACV,OACE,2EACF,OACE,sFACF,OAAU,gDACV,OAAU,wDACV,OAAU,mDACV,OACE,oFACF,OAAU,kCACV,OAAU,uDACV,OAAU,gEACV,OACE,wHACF,OACE,sGACF,OACE,2IACF,OACE,yGACF,OACE,iHACF,OACE,4GACF,OACE,6IACF,OACE,uGACF,OACE,kHACF,OACE,uFACF,OACE,wFACF,OACE,oHACF,OACE,qGACF,OACE,6GACF,OACE,wGACF,OACE,kHACF,OACE,uFACF,OACE,mFACF,OACE,oFACF,OACE,2JACF,OACE,qLACF,OACE,2IACF,OACE,qKACF,OACE,uJACF,OACE,4KACF,OACE,yJACF,OACE,mLACF,OACE,0IACF,OACE,0IACF,OACE,wHACF,OACE,kJACF,OACE,sJACF,OACE,oIACF,OACE,8JACF,OACE,sKACF,OACE,oJACF,OACE,kMACF,OACE,2JACF,OACE,qLACF,OACE,2IACF,OACE,yHACF,OACE,uKACF,OACE,6IACF,OACE,+IACF,OACE,iFACF,OACE,kIACF,OACE,6IACF,OACE,8IACF,OACE,yJACF,OACE,iJACF,OACE,4JACF,OACE,4MACF,OACE,wMACF,OACE,mLACF,OACE,2LACF,OACE,8JACF,OACE,8LACF,OACE,iJACF,OACE,yKACF,OACE,uLACF,OACE,4MACF,OACE,sMACF,OACE,oMACF,OACE,iLACF,OACE,iMACF,OACE,gLACF,OACE,wLACF,OACE,4KACF,OACE,uMACF,OACE,2LACF,OACE,0LACF,OACE,0JACF,OACE,0LACF,OACE,yKACF,OACE,qKACF,OACE,sKACF,OACE,mLACF,OACE,mNACF,OACE,sMACF,OACE,8LACF,OACE,6JACF,OACE,6LACF,OACE,mLACF,OACE,wKACF,OACE,2HACF,OACE,kHACF,OACE,wHACF,OACE,gIACF,OACE,8HACF,OACE,oIACF,OACE,4IACF,OACE,kHACF,OACE,wHACF,OACE,iIACF,OACE,uGACF,OACE,qFACF,OACE,8GACF,OACE,wFACF,OACE,wJACF,OACE,uIACF,OACE,gKACF,OACE,0IACF,OACE,+JACF,OACE,6IACF,OACE,sKACF,OACE,gJACF,OACE,6IACF,OACE,2HACF,OACE,oJACF,OACE,8HACF,OACE,kGACF,OACE,gFACF,OACE,yGACF,OACE,mFACF,OACE,iHACF,OAAU,6CACV,OAAU,sDACV,OACE,2EACF,OAAU,gDACV,OACE,kHACF,OACE,+IACF,OACE,4KACF,OACE,8GACF,OACE,sEACF,OACE,8HACF,OACE,mJACF,OACE,oJACF,OACE,2HACF,OACE,kIACF,OACE,uJACF,OACE,wJACF,OACE,+HACF,OAAU,0CACV,OACE,6GACF,OACE,qKACF,OACE,+LACF,OACE,mMACF,OACE,kMACF,OACE,oFACF,OACE,sNACF,OACE,yGACF,OAAU,iEACV,OACE,mMACF,OACE,mMACF,OACE,+KACF,OACE,+EACF,OACE,iGACF,OACE,2EACF,OACE,4HACF,OACE,0GACF,OACE,yIACF,OACE,uKACF,OACE,8HACF,OACE,mLACF,OACE,qLACF,OACE,4NACF,OACE,+KACF,OACE,iLACF,OACE,wNACF,OACE,0JACF,OACE,uLACF,OACE,yLACF,OACE,kOACF,OACE,qLACF,OACE,uLACF,OACE,8NACF,OACE,yGACF,OACE,0GACF,OACE,0GACF,OACE,wEACF,OACE,mIACF,OACE,yIACF,OACE,iGACF,OACE,kJACF,OACE,+HACF,OACE,6KACF,OACE,mKACF,OACE,0FACF,OACE,mGACF,OACE,0GACF,OACE,+FACF,OACE,kIACF,OACE,qHACF,OACE,yGACF,OACE,+EACF,OACE,oGACF,OACE,mHACF,OACE,wGACF,OACE,mHACF,OACE,8HACF,OACE,kHACF,OACE,wFACF,OACE,6GACF,OACE,oIACF,OACE,oJACF,OACE,gIACF,OACE,8HACF,OACE,iJACF,OACE,0EACF,OAAU,uDACV,OAAU,kEACV,OACE,gGACF,OACE,+HACF,OACE,oIACF,OACE,kKACF,OACE,sGACF,OACE,qKACF,OACE,uIACF,OACE,iHACF,OACE,6GACF,OACE,sHACF,OACE,kJACF,OACE,sGACF,OACE,qIACF,OACE,kJACF,OAAU,uBACV,OACE,sJACF,OACE,oKACF,OACE,2EACF,OACE,mFACF,OACE,4FACF,OACE,sIACF,OACE,0LACF,OACE,sHACF,OACE,iMACF,OACE,+EACF,OAAU,+DACV,OAAU,mEACV,OACE,uFACF,OACE,+EACF,OACE,uJACF,OAAU,wCACV,OACE,+IACF,OACE,oKACF,OACE,qLACF,OACE,8EACF,OACE,kHACF,OACE,2IACF,OACE,+IACF,OACE,qIACF,OACE,kMACF,OACE,kHACF,MACE,+LACF,OACE,iQACF,OACE,0FACF,OACE,sJACF,OACE,oJACF,OACE,6IACF,OACE,+EACF,OAAU,mDACV,OAAU,gEACV,OACE,yEACF,OACE,kHACF,OACE,6FACF,OACE,sGACF,OACE,+IACF,OACE,kJACF,OACE,4EACF,OACE,gJACF,OACE,yLACF,OACE,+HACF,OACE,6GACF,OACE,sHACF,OACE,uIACF,OACE,yKACF,OACE,oGACF,OACE,kFACF,OACE,2FACF,OACE,4GACF,OACE,kJACF,OACE,gIACF,OACE,0IACF,OACE,2IACF,OACE,sMACF,OACE,2FACF,OACE,sKACF,OACE,mJACF,OACE,yJACF,OACE,uIACF,OACE,6JACF,OACE,0IACF,OACE,mKACF,OACE,iJACF,OACE,0KACF,OACE,oJACF,OACE,0LACF,OACE,mKACF,OACE,iJACF,OACE,uKACF,OACE,oJACF,OACE,oKACF,OACE,kJACF,OACE,2KACF,OACE,qJACF,OACE,0LACF,OACE,kHACF,OACE,wHACF,OACE,sGACF,OACE,+HACF,OACE,yGACF,OACE,kIACF,OAAU,wDACV,OACE,yIACF,OACE,mHACF,OACE,mIACF,OACE,iHACF,OACE,0IACF,OACE,oHACF,OACE,iLACF,OACE,yLACF,OACE,uKACF,OACE,iLACF,OACE,6MACF,OACE,4LACF,OACE,0KACF,OACE,mLACF,OACE,gNACF,OAAU,8CACV,OACE,2EACF,OAAU,mEACV,OACE,4HACF,OACE,+EACF,OAAU,6DACV,OACE,uEACF,OACE,gHACF,OACE,yFACF,OACE,uEACF,OACE,iFACF,OACE,oJACF,OACE,2HACF,OACE,yGACF,OACE,mHACF,OACE,sLACF,OACE,8EACF,OAAU,4DACV,OACE,sEACF,OACE,qGACF,OACE,kFACF,OAAU,gEACV,OACE,0EACF,OACE,mHACF,OACE,gFACF,OAAU,8DACV,OACE,wEACF,OACE,2IACF,OACE,gFACF,OAAU,8DACV,OACE,wEACF,OACE,yEACF,OACE,uJACF,OACE,kGACF,OACE,gFACF,OACE,0FACF,OACE,6JACF,OACE,8HACF,OAAU,2CACV,OAAU,8CACV,OACE,yLACF,OAAU,0DACV,OAAU,mEACV,OACE,4GACF,OACE,wFACF,OACE,iGACF,OACE,0IACF,OACE,yEACF,OACE,kFACF,OACE,2HACF,OACE,2EACF,OACE,oFACF,OACE,6HACF,OACE,kGACF,OACE,2GACF,OACE,iIACF,OACE,oFACF,OACE,mHACF,OACE,yEACF,OACE,kFACF,OACE,2HACF,OACE,+EACF,OACE,wFACF,OACE,iIACF,OACE,gHACF,OACE,yHACF,OACE,kKACF,OAAU,uBACV,OAAU,8BACV,OACE,oHACF,OACE,oHACF,OACE,gIACF,OACE,wJACF,OAAU,yCACV,OAAU,qDACV,OACE,8KACF,OACE,gGACF,OAAU,+DACV,OACE,wFACF,OACE,iIACF,OAAU,+CACV,OAAU,yDACV,OACE,kGACF,OAAU,kCACV,OACE,sEACF,OACE,qGACF,OACE,yEACF,OACE,wGACF,OACE,sFACF,OACE,oFACF,OAAU,kEACV,OACE,2EACF,OACE,oHACF,OACE,kGACF,OACE,4HACF,OACE,0HACF,OACE,2GACF,OACE,qHACF,OACE,uKACF,OACE,qKACF,OACE,sJACF,OACE,gKACF,OACE,wMACF,OACE,0LACF,OACE,oMACF,OACE,mPACF,OACE,yNACF,OACE,mOACF,OACE,8PACF,OACE,0GACF,OACE,oJACF,OACE,kIACF,OACE,4IACF,OACE,+MACF,OACE,iFACF,OAAU,mDACV,OACE,yEACF,OAAU,wCACV,OACE,2LACF,OACE,yKACF,OACE,kLACF,OACE,qPACF,OACE,4NACF,OACE,0MACF,OACE,mNACF,OACE,2OACF,OACE,kMACF,OACE,gLACF,OAAU,2DACV,OACE,4PACF,OACE,8LACF,OACE,4KACF,OACE,qLACF,OACE,wPACF,OACE,8NACF,OACE,4MACF,OACE,qNACF,OACE,sPACF,OACE,qMACF,OACE,mLACF,OAAU,8DACV,OACE,yNACF,OACE,gFACF,OACE,wEACF,OACE,mGACF,OACE,oFACF,OAAU,kEACV,OACE,4EACF,OACE,uGACF,OACE,8FACF,OACE,4EACF,OACE,sFACF,OACE,iHACF,OACE,gIACF,OAAU,4CACV,OAAU,+CACV,OACE,0LACF,OACE,mFACF,OAAU,iEACV,OACE,2EACF,OACE,sGACF,OACE,uFACF,OACE,qEACF,OACE,+EACF,OACE,0GACF,OACE,iGACF,OACE,+EACF,OACE,yFACF,OACE,oHACF,OACE,qFACF,OAAU,mEACV,OACE,6EACF,OACE,8EACF,OACE,wGACF,OACE,uGACF,OACE,qFACF,OACE,+FACF,OACE,0HACF,OACE,mIACF,OAAU,+CACV,OAAU,kDACV,OACE,6LACF,OACE,iFACF,OAAU,6CACV,OACE,wEACF,OACE,qGACF,OACE,yGACF,OACE,+GACF,OACE,6FACF,OACE,sGACF,OACE,mIACF,OACE,8EACF,OACE,2GACF,OACE,gFACF,OACE,yFACF,OACE,gIACF,OACE,iIACF,OACE,0IACF,OACE,8JACF,OACE,yFACF,OACE,sHACF,OACE,oFACF,OACE,6FACF,OACE,oIACF,OACE,gKACF,OACE,mPACF,OACE,gNACF,OACE,qGACF,OACE,mFACF,OACE,6FACF,OACE,oIACF,OAAU,6DACV,OACE,yLACF,OACE,4LACF,OACE,+IACF,OACE,kJACF,OAAU,uDACV,OAAU,0DACV,OAAU,wCACV,OACE,gHACF,OACE,8FACF,OACE,uGACF,OACE,mIACF,OACE,mHACF,OACE,iGACF,OACE,0GACF,OACE,sIACF,OAAU,aACV,OAAU,iEACV,OAAU,mDACV,OACE,oHACF,OAAU,kEACV,OAAU,sDACV,OACE,mFACF,OACE,6GACF,OACE,mHACF,OACE,2GACF,OACE,4GACF,OACE,uIACF,OACE,+EACF,OACE,4EACF,OACE,iHACF,OAAU,uDACV,OACE,wFACF,OACE,0HACF,OAAU,qBACV,OACE,2FACF,OACE,yEACF,OACE,mFACF,OAAU,2DACV,OAAU,kCACV,OAAU,0DACV,OAAU,mEACV,OACE,4GACF,OAAU,2DACV,OAAU,oEACV,OACE,2GACF,OAAU,oCACV,OAAU,mDACV,OAAU,iDACV,OAAU,4DACV,OACE,qGACF,OACE,mFACF,OACE,0FACF,OAAU,oCACV,OAAU,+CACV,OACE,wFACF,OACE,4GACF,OACE,sHACF,OACE,mJACF,OACE,gHACF,OACE,0HACF,OACE,iKACF,OAAU,mCACV,OAAU,uCACV,OACE,qHACF,OACE,yGACF,OACE,mHACF,OACE,6HACF,OACE,oKACF,OACE,uHACF,OACE,qEACF,OACE,8GACF,OACE,gIACF,OACE,wLACF,OACE,4LACF,OACE,wIACF,OAAU,+CACV,OAAU,yDACV,OACE,sFACF,OAAU,mBACV,OAAU,6BACV,OAAU,0DACV,OAAU,4CACV,OAAU,6BACV,OAAU,0DACV,OAAU,sCACV,OAAU,kCACV,OAAU,+DACV,OAAU,mEACV,OAAU,oDACV,OACE,iFACF,OACE,yEACF,OAAU,8BACV,OACE,0GACF,OACE,uMACF,OAAU,0CACV,OACE,iJACF,OACE,4JACF,OACE,mJACF,OACE,mJACF,OACE,uKACF,OACE,4JACF,OACE,+GACF,OACE,gIACF,OACE,4IACF,OACE,qHACF,OACE,8EACF,OACE,8GACF,OAAU,+DACV,OACE,gJACF,OACE,yKACF,OACE,qLACF,OACE,kHACF,OACE,mKACF,OACE,mHACF,OACE,mGACF,OACE,oGACF,OACE,sIACF,OACE,2FACF,OAAU,wCACV,OACE,qEACF,OACE,uFACF,OACE,gFACF,OAAU,mEACV,OAAU,iCACV,OAAU,mEACV,OAAU,gEACV,OAAU,0CACV,OAAU,2BACV,OAAU,oDACV,OACE,iJACF,OACE,0IACF,OACE,iIACF,OACE,iHACF,OAAU,0BACV,OAAU,8DACV,OACE,wKACF,OAAU,oDACV,OACE,iGACF,OACE,sFACF,OACE,uHACF,OACE,+FACF,OAAU,2DACV,OACE,kGACF,OACE,8FACF,OAAU,gEACV,OAAU,6DACV,OAAU,+DACV,OACE,uGACF,OACE,yLACF,OACE,gIACF,OACE,qJACF,OACE,gKACF,OAAU,iDACV,OACE,8FACF,OACE,6GACF,OACE,2JACF,OACE,2EACF,OACE,mNACF,OACE,oFACF,OACE,iIACF,OACE,6EACF,OACE,oIACF,OACE,mHACF,OACE,6IACF,OAAU,0BACV,OACE,0LACF,OAAU,gEACV,OAAU,+DACV,OACE,sGACF,OACE,wGACF,OACE,0EACF,OACE,oKACF,OACE,oJACF,OACE,mJACF,OACE,+JACF,OACE,6GACF,OACE,+HACF,OACE,2KACF,OACE,4FACF,OACE,uGACF,OACE,oMACF,OACE,0JACF,OACE,uKACF,OACE,4FACF,OACE,6FACF,OACE,wIACF,OACE,yEACF,OACE,yIACF,OACE,2LACF,OACE,kFACF,OACE,yIACF,OACE,uGACF,OAAU,6DACV,OACE,2FACF,OACE,mJACF,OACE,sFACF,OACE,2JACF,OACE,oGACF,OACE,qHACF,OACE,wHACF,OACE,0MACF,OACE,yLACF,OACE,6MACF,OACE,0LACF,OACE,sFACF,OACE,6MACF,OACE,qLACF,OACE,8LACF,OACE,kKACF,OACE,+LACF,OACE,gMACF,OACE,gGACF,OACE,8KACF,OACE,gGACF,OACE,gPACF,OACE,mKACF,OACE,6IACF,OACE,mJACF,OAAU,uDACV,OACE,+GACF,OACE,0HACF,OACE,2HACF,OACE,8IACF,OAAU,4CACV,OACE,sGACF,OACE,kGACF,OACE,mJACF,OACE,6MACF,OACE,qMACF,OACE,4HACF,OACE,mMACF,OACE,4LACF,OACE,0IACF,OAAU,0BACV,OACE,6FACF,OAAU,wBACV,OACE,gIACF,OAAU,uDACV,OACE,iMACF,OACE,uKACF,OACE,oLACF,OACE,kKACF,OAAU,oEACV,OAAU,qBACV,OAAU,qCACV,OACE,sJACF,OAAU,oCACV,OACE,yFACF,OACE,wIACF,OACE,4KACF,OACE,6KACF,OACE,sKACF,OACE,iLACF,OAAU,mDACV,OACE,mFACF,OAAU,gDACV,OACE,kFACF,OACE,6FACF,OAAU,+DACV,OACE,0EACF,OACE,sEACF,OACE,0EACF,OAAU,2BACV,OAAU,mEACV,OACE,0LACF,OACE,iPACF,OACE,kKACF,OACE,+KACF,OACE,mLACF,OACE,oIACF,OACE,qEACF,OACE,wKACF,OACE,yLACF,OACE,kLACF,OACE,wIACF,OACE,yKACF,OACE,sLACF,OACE,0IACF,OACE,8JACF,OACE,uIACF,OACE,+IACF,OACE,4HACF,OACE,oIACF,OAAU,mDACV,OAAU,iCACV,OAAU,oEACV,OAAU,kEACV,OACE,yEACF,OAAU,2CACV,OACE,iJACF,OACE,6KACF,OACE,qMACF,OACE,wMACF,OACE,oLACF,OACE,sHACF,OACE,sHACF,OACE,uJACF,OAAU,0DACV,OACE,kKACF,OAAU,+CACV,OAAU,6CACV,OACE,0EACF,OACE,qEACF,OACE,yGACF,OACE,uNACF,OAAU,8DACV,OACE,2FACF,OACE,0NACF,OACE,iGACF,OACE,iPACF,OACE,yIACF,OAAU,yDACV,OAAU,oEACV,OAAU,gDACV,OACE,8FACF,OACE,yMACF,OACE,kHACF,OACE,+JACF,OACE,mIACF,OACE,yOACF,OACE,iIACF,OACE,0GACF,OAAU,oDACV,OACE,+GACF,OACE,kFACF,OACE,2FACF,OAAU,gDACV,OAAU,0DACV,OAAU,iEACV,OAAU,+DACV,OAAU,mEACV,OAAU,wDACV,OAAU,yCACV,OAAU,yDACV,OACE,uGACF,OAAU,yCACV,OACE,qFACF,OACE,wLACF,OACE,iFACF,OACE,gFACF,OACE,oFACF,OACE,0IACF,OACE,uGACF,OAAU,iEACV,OAAU,6DACV,OAAU,kDACV,OAAU,0CACV,OACE,iFACF,OACE,+EACF,OAAU,gDACV,OAAU,6DACV,MAAU,+CACV,OACE,yIACF,OACE,0IACF,OACE,wIACF,OAAU,oEACV,OACE,2FACF,OACE,wGACF,OACE,+FACF,OACE,4GACF,OACE,yIACF,OACE,wHACF,OACE,4LACF,OACE,uMACF,OACE,kNACF,OAAU,8DACV,OACE,iIACF,OACE,kOACF,OACE,mNACF,OACE,8PACF,OAAU,mEACV,OACE,oIACF,OAAU,wBACV,OAAU,oBACV,OAAU,oCACV,OACE,0EACF,OAAU,qCACV,OACE,iFACF,OAAU,0BACV,OACE,mFACF,OAAU,gDACV,OAAU,sCACV,OAAU,yCACV,OAAU,uCACV,OAAU,uCACV,OAAU,qCACV,OAAU,kEACV,OAAU,wDACV,OACE,6FACF,OACE,2HACF,OACE,mIACF,OACE,oIACF,OACE,iIACF,OACE,uIACF,OAAU,2BACV,OAAU,2DACV,OACE,mGACF,OAAU,0DACV,OACE,uEACF,OACE,6GACF,OACE,2IACF,OACE,6GACF,OAAU,mEACV,OACE,yFACF,OAAU,iDACV,OACE,6FACF,OACE,uGACF,OACE,mHACF,OACE,4FACF,OAAU,sDACV,OACE,mHACF,OACE,qHACF,OAAU,+DACV,OAAU,6DACV,OACE,6EACF,OACE,6EACF,OACE,2EACF,OACE,6EACF,OACE,2EACF,OAAU,uCACV,OACE,4EACF,OACE,0EACF,OAAU,sCACV,OAAU,6BACV,OAAU,iCACV,OAAU,yDACV,OAAU,yDACV,OAAU,+BACV,OAAU,8BACV,OAAU,2CACV,OACE,iGACF,OACE,qIACF,OAAU,wCACV,OAAU,8CACV,OAAU,gEACV,OAAU,mDACV,OACE,2IACF,OAAU,uDACV,OAAU,2CACV,OAAU,0DACV,OAAU,sBACV,OACE,yEACF,OACE,uEACF,OACE,yFACF,OAAU,+BACV,OAAU,6BACV,OACE,6KACF,OACE,2HACF,OACE,gHACF,OACE,oJACF,OACE,kKACF,OACE,8KACF,OACE,sJACF,OACE,0JACF,OACE,+KACF,OACE,2KACF,OACE,gJACF,OACE,8JACF,OACE,gLACF,OACE,6JACF,OACE,wLACF,OACE,gIACF,OACE,6JACF,OACE,wJACF,OACE,kIACF,OACE,kJACF,OACE,4KACF,OACE,uKACF,OACE,wGACF,OACE,sHACF,OACE,8LACF,OACE,oIACF,OACE,8JACF,OACE,yJACF,OACE,mIACF,OACE,wJACF,OACE,kLACF,OACE,6KACF,OACE,0JACF,OACE,yGACF,OACE,wJACF,OACE,yKACF,OACE,gLACF,OACE,yJACF,OACE,kHACF,OACE,mIACF,OACE,0IACF,OACE,sHACF,OACE,mJACF,OACE,uKACF,OACE,kLACF,OACE,8JACF,OACE,wHACF,OACE,yIACF,OACE,gJACF,OACE,4HACF,OACE,6JACF,OACE,0KACF,OACE,iLACF,OACE,6JACF,OACE,0JACF,OACE,2KACF,OACE,kLACF,OACE,2JACF,OACE,qGACF,OACE,mHACF,OACE,qHACF,OACE,+GACF,OACE,yGACF,OACE,4MACF,OACE,qIACF,OACE,2HACF,OACE,sEACF,OACE,wIACF,OACE,6FACF,OACE,yGACF,OACE,qJACF,OACE,0EACF,OACE,wHACF,OACE,yKACF,OACE,+HACF,OACE,8MACF,OACE,0IACF,OACE,4IACF,OACE,yJACF,OACE,gGACF,OACE,gIACF,OACE,8HACF,OACE,2LACF,OACE,2HACF,OACE,yHACF,OACE,0FACF,OACE,yFACF,OACE,gHACF,OACE,2MACF,OACE,2GACF,OACE,iHACF,OACE,0GACF,OACE,kHACF,OAAU,oEACV,OACE,mLACF,OACE,wGACF,OACE,iMACF,OACE,qMACF,OACE,wMACF,OACE,gNACF,OACE,8HACF,OACE,6KACF,OACE,2KACF,OACE,mIACF,OACE,+FACF,OACE,8IACF,OACE,uKACF,OACE,wLACF,OACE,oKACF,OACE,8JACF,OACE,qJACF,OACE,oHACF,OACE,uHACF,OACE,wIACF,OACE,oHACF,OACE,iHACF,OACE,2FACF,OACE,gHACF,OACE,wGACF,OACE,qGACF,OACE,sGACF,OACE,sGACF,OACE,sGACF,OACE,2GACF,OACE,sHACF,OACE,gHACF,OACE,yHACF,OACE,+HACF,OACE,kFACF,OACE,4IACF,OACE,mFACF,OACE,iFACF,OACE,+HACF,OACE,4GACF,OACE,mIACF,OACE,2IACF,OAAU,4DACV,OACE,gJACF,OACE,6HACF,OACE,oJACF,OACE,4JACF,OACE,qFACF,OACE,4HACF,OACE,yGACF,OACE,gIACF,OACE,wIACF,OAAU,4DACV,OAAU,mDACV,OAAU,2CACV,OACE,6FACF,OACE,oFACF,OACE,0GACF,OACE,oIACF,OACE,+HACF,OACE,4GACF,OACE,gHACF,OACE,0IACF,OACE,qIACF,OACE,kHACF,OACE,oHACF,OACE,sHACF,OACE,kHACF,OACE,yHACF,OACE,qGACF,OACE,iFACF,OACE,qGACF,OACE,uGACF,OAAU,oEACV,OACE,kFACF,OACE,0EACF,OACE,qEACF,OACE,gGACF,OACE,2GACF,OAAU,gEACV,OAAU,8DACV,OAAU,gDACV,OAAU,yBACV,OAAU,+CACV,OAAU,uCACV,OACE,8EACF,OACE,8FACF,OACE,2GACF,OACE,sEACF,OACE,uEACF,OACE,2EACF,OAAU,8DACV,OACE,6EACF,OACE,0HACF,OACE,uIACF,OACE,sHACF,OACE,gFACF,OACE,gGACF,OACE,2GACF,OACE,wEACF,OACE,mHACF,OACE,oHACF,OACE,4HACF,OACE,yIACF,OACE,8EACF,OACE,2FACF,OACE,iGACF,OACE,kGACF,OAAU,mDACV,OAAU,yDACV,OAAU,iEACV,OAAU,sCACV,OAAU,4DACV,OAAU,yDACV,OAAU,4CACV,OAAU,wDACV,OAAU,0CACV,OAAU,gDACV,OACE,qEACF,OACE,+FACF,OAAU,qDACV,OACE,uEACF,OACE,uFACF,OACE,qIACF,OACE,6FACF,OACE,4FACF,OAAU,8CACV,OACE,oGACF,OACE,uHACF,OACE,sHACF,OACE,0HACF,OACE,uEACF,OACE,oFACF,OACE,0HACF,OACE,2FACF,OACE,iIACF,OACE,iJACF,OACE,6JACF,OACE,wGACF,OACE,qHACF,OACE,qJACF,OACE,wIACF,OACE,wHACF,OACE,gNACF,OACE,6NACF,OACE,wMACF,OACE,0KACF,OACE,0OACF,OACE,uPACF,OACE,qKACF,OACE,2EACF,OACE,mHACF,OACE,2JACF,OACE,sFACF,OACE,+HACF,OACE,mKACF,OACE,yIACF,OACE,8GACF,OACE,mJACF,OACE,qHACF,OACE,6JACF,OACE,8LACF,OACE,6GACF,OAAU,uDACV,OACE,sEACF,OACE,uEACF,OACE,8EACF,OAAU,iEACV,OACE,qEACF,OACE,4EACF,OACE,uGACF,OACE,0FACF,OACE,8FACF,OACE,2EACF,OACE,wEACF,OACE,wGACF,OACE,uHACF,OAAU,mEACV,OACE,8LACF,OACE,iKACF,OACE,4JACF,OACE,iLACF,OAAU,+DACV,OACE,6EACF,OACE,gFACF,OACE,iHACF,OACE,0FACF,OACE,8EACF,OACE,oFACF,OACE,2FACF,OAAU,4DACV,OACE,wKACF,OACE,qGACF,OACE,qIACF,OACE,kJACF,OACE,6EACF,OACE,sEACF,OACE,mGACF,OAAU,gCACV,OAAU,oDACV,OAAU,iEACV,OAAU,kDACV,OACE,0EACF,OAAU,2CACV,OAAU,6CACV,OAAU,sDACV,OAAU,4DACV,OAAU,qDACV,OACE,sMACF,OAAU,uCACV,OAAU,8DACV,OAAU,sDACV,OAAU,8CACV,OACE,wEACF,OAAU,+BACV,OACE,2EACF,OAAU,oEACV,OAAU,iEACV,OAAU,qCACV,OAAU,sDACV,OAAU,kEACV,OACE,4EACF,OAAU,gCACV,OACE,uFACF,OAAU,+CACV,OACE,6KACF,OAAU,kDACV,OAAU,wDACV,OAAU,oDACV,OACE,uGACF,OACE,0EACF,OACE,yEACF,OACE,4GACF,OACE,4IACF,OACE,+GACF,OACE,8GACF,OACE,iJACF,OACE,qEACF,OACE,4FACF,OACE,qHACF,OACE,kJACF,OACE,wFACF,OACE,wGACF,OACE,oGACF,OACE,kFACF,OACE,2GACF,OACE,4HACF,OAAU,mDACV,OAAU,6CACV,OAAU,yCACV,OACE,yFACF,OAAU,4CACV,OACE,6FACF,OACE,+HACF,OACE,0GACF,OACE,gGACF,OAAU,+BACV,OAAU,uDACV,OAAU,qDACV,OAAU,wBACV,OAAU,8CACV,OAAU,6DACV,OAAU,+DACV,OAAU,wCACV,OAAU,sCACV,OAAU,wDACV,OAAU,oDACV,OAAU,oDACV,OACE,+GACF,OACE,kGACF,OAAU,yBACV,OAAU,kCACV,OAAU,4CACV,OAAU,gDACV,OAAU,qDACV,OACE,sEACF,OACE,iIACF,OACE,yFACF,OAAU,0CACV,OACE,iGACF,OAAU,mDACV,OACE,8GACF,OACE,mIACF,OACE,8EACF,OACE,8FACF,OACE,+FACF,OACE,+GACF,OACE,+FACF,OACE,sGACF,OACE,mKACF,OACE,gNACF,OACE,mFACF,OACE,kFACF,OACE,oKACF,OACE,mKACF,OAAU,6CACV,OAAU,8DACV,OACE,yHACF,OACE,iKACF,OACE,oFACF,OACE,mFACF,OACE,wFACF,OAAU,8DACV,OAAU,+BACV,OACE,sEACF,OACE,uHACF,OAAU,4DACV,OACE,0EACF,OAAU,oCACV,OACE,uEACF,OAAU,2CACV,OAAU,8CACV,OAAU,iBACV,OACE,6GACF,OACE,yIACF,OACE,2EACF,OACE,sJACF,OAAU,0CACV,OAAU,kCACV,OAAU,mEACV,OAAU,gDACV,OAAU,mEACV,OAAU,8CACV,OAAU,wBACV,OACE,6EACF,OAAU,iCACV,OAAU,4BACV,OAAU,0BACV,OAAU,6BACV,OAAU,+CACV,OAAU,oDACV,OAAU,4BACV,OAAU,iCACV,OAAU,sDACV,OAAU,2DACV,OAAU,uCACV,OAAU,4CACV,OAAU,iCACV,OAAU,wCACV,OAAU,mDACV,OAAU,qDACV,OAAU,mCACV,OAAU,+BACV,OAAU,4BACV,OAAU,+CACV,OAAU,mDACV,OAAU,oDACV,OAAU,qCACV,OAAU,gEACV,OACE,gFACF,OACE,mFACF,OACE,2EACF,OACE,4EACF,OACE,gHACF,OAAU,kEACV,OACE,2GACF,OACE,sGACF,OACE,qGACF,OACE,gFACF,OACE,oJACF,OAAU,0CACV,OAAU,qCACV,OACE,qEACF,OACE,kKACF,OACE,gLACF,OACE,yMACF,OACE,4LACF,OACE,0MACF,OAAU,wDACV,OACE,8GACF,OACE,oHACF,OACE,4IACF,OACE,8EACF,OACE,sGACF,OAAU,6CACV,OACE,wKACF,OAAU,iDACV,OAAU,kEACV,OAAU,mDACV,OAAU,2BACV,OACE,2FACF,OACE,+FACF,OAAU,wBACV,OAAU,sCACV,OACE,2FACF,OACE,+FACF,OAAU,2BACV,OACE,mFACF,OAAU,sCACV,OACE,8EACF,OACE,gFACF,OAAU,0BACV,OAAU,wBACV,OAAU,YACV,OAAU,2BACV,OAAU,sCACV,OAAU,uCACV,OACE,+EACF,OAAU,sCACV,OACE,wFACF,OAAU,sCACV,OAAU,8BACV,OAAU,yBACV,OAAU,uBACV,OAAU,qCACV,OAAU,gEACV,OACE,iMACF,OACE,yKACF,OAAU,0BACV,OACE,8EACF,OAAU,qCACV,OACE,2EACF,OACE,uGACF,OACE,6HACF,OAAU,2BACV,OACE,sFACF,OACE,6HACF,OAAU,2BACV,OAAU,sCACV,OAAU,0DACV,OAAU,mEACV,OACE,+FACF,OACE,qHACF,OAAU,mBACV,OACE,8EACF,OACE,qHACF,OAAU,mBACV,OAAU,8BACV,OAAU,kDACV,OACE,sGACF,OACE,qFACF,OAAU,4BACV,OAAU,gDACV,OAAU,sBACV,OAAU,gDACV,OACE,yEACF,OACE,0EACF,OAAU,6BACV,OACE,gFACF,OAAU,iDACV,OACE,kHACF,OACE,iGACF,OAAU,0BACV,OAAU,8CACV,OAAU,uDACV,OACE,0GACF,OACE,+IACF,OAAU,+CACV,OAAU,8BACV,OAAU,2BACV,OAAU,4DACV,OAAU,uCACV,OAAU,+BACV,OAAU,4BACV,OAAU,6DACV,OAAU,iDACV,OAAU,gCACV,OACE,sGACF,OACE,0GACF,OAAU,6BACV,OACE,mGACF,OACE,uGACF,OAAU,8DACV,OACE,oIACF,OACE,wIACF,MAAU,wDACV,OAAU,6DACV,OAAU,4BACV,OACE,qEACF,OAAU,yDACV,OAAU,iDACV,OAAU,+DACV,OAAU,6BACV,OACE,qEACF,OAAU,sCACV,OAAU,6DACV,OAAU,4BACV,OAAU,oEACV,OAAU,uCACV,OAAU,oEACV,OACE,6EACF,OAAU,sCACV,OAAU,oEACV,OACE,6EACF,OAAU,6DACV,OAAU,4BACV,OACE,2FACF,OAAU,2BACV,OAAU,sCACV,OACE,6HACF,OACE,kJACF,OACE,+JACF,OAAU,uDACV,OAAU,kCACV,OAAU,qBACV,OAAU,+CACV,OACE,kHACF,OAAU,+DACV,OACE,qFACF,OACE,uKACF,OAAU,yBACV,OAAU,+BACV,OACE,2GACF,OACE,qHACF,OACE,kIACF,OAAU,gCACV,OAAU,sDACV,OAAU,qDACV,OAAU,8CACV,OACE,sFACF,OAAU,sDACV,OACE,kFACF,OACE,oIACF,OACE,gIACF,OACE,wEACF,OAAU,oDACV,OAAU,0CACV,OACE,kFACF,OAAU,4BACV,OAAU,+BACV,OACE,iPACF,OAAU,0BACV,OAAU,0CACV,OACE,+FACF,OACE,yMACF,OACE,uFACF,OACE,qJACF,OACE,qMACF,OACE,2HACF,OACE,yJACF,OACE,0HACF,OACE,+HACF,OACE,qHACF,OACE,2HACF,OACE,8GACF,OACE,kGACF,OACE,kGACF,OACE,2IACF,OACE,iGACF,OACE,uFACF,OACE,qGACF,OACE,kHACF,OACE,sGACF,OACE,uGACF,MACE,uIACF,OACE,sJACF,OACE,sHACF,OACE,mIACF,OACE,kIACF,OACE,wEACF,OAAU,qCACV,OAAU,SACV,OACE,sEACF,OAAU,2CACV,OAAU,iEACV,OACE,gGACF,OAAU,oEACV,OAAU,4CACV,OACE,qMACF,OACE,+KACF,OACE,8JACF,OAAU,iDACV,OACE,uEACF,OACE,sGACF,OACE,iGACF,OACE,wHACF,OAAU,oEACV,OACE,oGACF,OAAU,4CACV,OACE,8IACF,OAAU,yCACV,OACE,8EACF,OACE,kFACF,OACE,iFACF,OACE,0GACF,OAAU,oEACV,OAAU,yCACV,OACE,+IACF,OACE,wNACF,OACE,sEACF,OACE,0FACF,OACE,mIACF,OAAU,yDACV,OACE,2EACF,OACE,sFACF,OAAU,gEACV,OAAU,+DACV,OACE,8FACF,OACE,2IACF,OAAU,+CACV,OACE,+NACF,OAAU,iCACV,OAAU,yCACV,MACE,sJACF,OAAU,8DACV,OAAU,uDACV,OACE,uGACF,OACE,qLACF,OAAU,mBACV,OACE,sEACF,OAAU,6CACV,OAAU,kCACV,OACE,4EACF,OACE,gFACF,OACE,0FACF,OAAU,sCACV,OAAU,6DACV,OACE,yEACF,OACE,kFACF,OACE,8IACF,OAAU,6DACV,OACE,qJACF,OACE,+HACF,OACE,wIACF,OAAU,mEACV,OAAU,mEACV,OACE,8EACF,OACE,6GACF,OACE,iHACF,OAAU,qDACV,OACE,mGACF,OACE,4HACF,OACE,0IACF,OACE,gJACF,OACE,oKACF,OACE,sKACF,OAAU,iDACV,OACE,mGACF,OACE,0HACF,OAAU,mDACV,OAAU,gEACV,OACE,iHACF,OAAU,sDACV,OACE,qEACF,OACE,iFACF,OACE,uGACF,OACE,8EACF,OACE,+EACF,OAAU,6CACV,OAAU,+BACV,OAAU,oDACV,OAAU,gDACV,OACE,sGACF,OACE,kGACF,OAAU,4CACV,OAAU,gEACV,OAAU,mDACV,OACE,yEACF,OACE,oFACF,OACE,yEACF,OACE,oFACF,OACE,0EACF,OAAU,6DACV,OACE,wJACF,OACE,kIACF,OACE,qIACF,OACE,qFACF,OAAU,wBACV,OACE,4FACF,OACE,qFACF,OAAU,8DACV,OAAU,yDACV,OAAU,mBACV,OAAU,aACV,OAAU,kCACV,OAAU,gBACV,OAAU,yCACV,OAAU,0CACV,OACE,uEACF,OACE,+HACF,OAAU,mCACV,OACE,sJACF,OACE,iIACF,OACE,8EACF,OACE,kFACF,OAAU,qDACV,OACE,iKACF,OACE,2MACF,OACE,gIACF,OACE,oIACF,OAAU,6BACV,OAAU,6CACV,OACE,6FACF,OACE,gHACF,OACE,8IACF,OACE,sJACF,OAAU,6DACV,OACE,yHACF,OACE,yHACF,OACE,qHACF,OACE,wEACF,OAAU,gEACV,OACE,yEACF,OAAU,2DACV,OAAU,6DACV,OACE,0MACF,OACE,uEACF,OAAU,kEACV,OACE,gHACF,OACE,2EACF,OACE,2EACF,OAAU,6CACV,OACE,4GACF,OACE,uFACF,OAAU,oEACV,OACE,oFACF,OACE,yGACF,OAAU,oEACV,OACE,oFACF,OACE,kFACF,OAAU,iEACV,OAAU,sDACV,OACE,uEACF,OACE,qFACF,OACE,0JACF,OACE,sIACF,OACE,iFACF,OACE,sGACF,OACE,oHACF,OAAU,gCACV,OAAU,8BACV,OACE,iGACF,OAAU,8CACV,OAAU,mEACV,OACE,qGACF,OACE,2EACF,OAAU,gEACV,OACE,6JACF,OACE,uGACF,OACE,qEACF,OAAU,wDACV,OAAU,+CACV,OAAU,sDACV,OAAU,gEACV,OACE,6IACF,OAAU,qCACV,OAAU,oDACV,OACE,2EACF,OACE,0EACF,OACE,2JACF,OACE,kIACF,OACE,gGACF,OACE,yEACF,OACE,uEACF,OAAU,6CACV,OAAU,oCACV,OACE,6FACF,OACE,mFACF,OACE,8FACF,OACE,wJACF,OACE,+EACF,OACE,mKACF,OACE,+HACF,OACE,+HACF,OACE,mIACF,OACE,oFACF,OAAU,kDACV,OAAU,sDACV,OACE,kFACF,OAAU,mEACV,OACE,gFACF,OAAU,sDACV,OAAU,+DACV,OAAU,gDACV,OAAU,uBACV,OAAU,wCACV,OACE,mFACF,OACE,uFACF,OAAU,8DACV,OACE,4FACF,OACE,gHACF,OACE,2HACF,OACE,kGACF,OAAU,wBACV,OAAU,qCACV,OACE,0IACF,OACE,yHACF,OACE,uHACF,OACE,8HACF,OAAU,iCACV,OACE,yHACF,OACE,6EACF,OAAU,oBACV,OACE,oGACF,OAAU,2DACV,OACE,sEACF,OAAU,wBACV,OAAU,2BACV,OAAU,oDACV,OAAU,2BACV,OAAU,qDACV,OACE,gFACF,OAAU,mCACV,OAAU,gCACV,OAAU,gEACV,OAAU,oEACV,OACE,0EACF,OAAU,mDACV,OACE,8FACF,OAAU,2DACV,OAAU,+BACV,OACE,4HACF,OAAU,wDACV,OAAU,wDACV,OAAU,kDACV,OACE,uGACF,OACE,qGACF,OAAU,kDACV,OACE,qFACF,OAAU,uDACV,OAAU,gCACV,OAAU,wBACV,OACE,uEACF,OAAU,sCACV,OACE,0FACF,OACE,qGACF,OACE,0GACF,OACE,4HACF,OACE,mIACF,OAAU,uCACV,OACE,+GACF,OACE,yGACF,OACE,gHACF,OACE,iFACF,OAAU,sBACV,OAAU,2DACV,OAAU,8BACV,OAAU,8DACV,OAAU,4CACV,OAAU,mDACV,OACE,uFACF,OACE,sHACF,OAAU,mBACV,OAAU,kBACV,OAAU,sDACV,OACE,qHACF,OACE,4HACF,OAAU,iDACV,OAAU,kCACV,OAAU,gEACV,OACE,4FACF,OACE,mFACF,OACE,gHACF,OACE,wFACF,OACE,0IACF,OACE,kMACF,OACE,uGACF,OACE,kFACF,OAAU,+CACV,OAAU,2CACV,OAAU,gEACV,OACE,2EACF,OACE,4GACF,OACE,wGACF,OAAU,4DACV,OAAU,4CACV,OAAU,+CACV,OACE,+EACF,OACE,4EACF,OAAU,yDACV,OACE,wEACF,OACE,iFACF,OACE,mFACF,OACE,8IACF,OACE,sEACF,OACE,uFACF,OACE,uHACF,OACE,kGACF,OACE,wIACF,OACE,kIACF,OACE,iJACF,OACE,iJACF,OAAU,uCACV,OACE,gHACF,OAAU,wDACV,OACE,6EACF,OACE,wFACF,OAAU,mCACV,OAAU,8BACV,OACE,gJACF,OACE,6EACF,OACE,wFACF,OAAU,mCACV,OACE,6FACF,OACE,8FACF,OACE,wLACF,OAAU,8BACV,OAAU,2DACV,OACE,oGACF,OACE,oJACF,OAAU,8DACV,OAAU,oCACV,OACE,0IACF,OACE,6EACF,OACE,6FACF,OAAU,mEACV,OAAU,mEACV,OACE,6EACF,OACE,8EACF,OAAU,uCACV,OAAU,mDACV,OACE,0EACF,OACE,0GACF,OACE,wEACF,OACE,qGACF,OACE,gHACF,OACE,4FACF,OACE,0EACF,OACE,sEACF,OAAU,mDACV,OACE,8GACF,OACE,yHACF,OACE,yGACF,OACE,yFACF,OAAU,iDACV,OACE,4HACF,OACE,mIACF,OACE,oHACF,OACE,8FACF,OACE,yIACF,OACE,yHACF,OACE,uJACF,OACE,kKACF,OACE,yJACF,OACE,6GACF,OACE,kJACF,OACE,mJACF,OACE,sFACF,OAAU,wDACV,OAAU,wBACV,OAAU,8DACV,OAAU,0DACV,OAAU,0DACV,OAAU,6CACV,OACE,gFACF,OACE,qMACF,OAAU,yDACV,OAAU,yCACV,OAAU,yDACV,OAAU,wDACV,OAAU,yBACV,OAAU,+DACV,OACE,yHACF,OACE,mGACF,OACE,0EACF,OACE,qGACF,OACE,gMACF,OAAU,iEACV,OACE,8EACF,OACE,uEACF,OACE,+HACF,OAAU,kCACV,OACE,qEACF,OAAU,4BACV,OAAU,qCACV,OAAU,qCACV,OACE,4HACF,OACE,oFACF,OACE,+HACF,OACE,mGACF,OACE,0GACF,OACE,oGACF,OACE,yGACF,OACE,qHACF,OACE,sJACF,OACE,iKACF,OAAU,uCACV,OACE,2EACF,OACE,qEACF,OAAU,iEACV,OACE,4EACF,OACE,mFACF,OACE,qFACF,OACE,2JACF,OACE,wEACF,OACE,mFACF,OACE,8EACF,OACE,yFACF,OACE,sFACF,OACE,8GACF,OACE,kHACF,OACE,kFACF,OACE,6FACF,OACE,wFACF,OACE,iGACF,OAAU,4DACV,OACE,+JACF,OACE,wEACF,OACE,mFACF,OACE,2KACF,OACE,gGACF,OACE,+GACF,OACE,gHACF,OACE,+FACF,OACE,uFACF,OACE,kGACF,OAAU,uCACV,OACE,8MACF,OACE,iGACF,OACE,6GACF,OACE,mGACF,OACE,uIACF,OACE,+GACF,OACE,yJACF,OACE,qGACF,OACE,sHACF,OACE,sEACF,OACE,uIACF,OACE,8JACF,OACE,oJACF,OACE,qJACF,OACE,6JACF,OACE,wPACF,OACE,oJACF,OACE,wJACF,OACE,2EACF,OACE,wKACF,OACE,mKACF,OACE,iKACF,OACE,4LACF,OACE,uKACF,OACE,+HACF,OACE,mIACF,OAAU,+DACV,OAAU,gEACV,OAAU,2DACV,OACE,+FACF,OACE,qNACF,OACE,4GACF,OACE,uHACF,OACE,4JACF,OACE,2HACF,OACE,sEACF,OACE,8HACF,OACE,6IACF,OACE,4JACF,OACE,iLACF,OACE,8LACF,OACE,uHACF,OACE,qHACF,OACE,wJACF,OACE,6IACF,OACE,oIACF,OACE,oIACF,OACE,2IACF,OACE,gIACF,OACE,oIACF,OACE,0GACF,OACE,uJACF,OACE,0HACF,OACE,yHACF,OACE,wHACF,OACE,iHACF,OACE,gGACF,OAAU,oEACV,OACE,0FACF,OACE,2EACF,OACE,4EACF,OACE,oFACF,OACE,gIACF,OACE,8FACF,OAAU,2DACV,OACE,8FACF,OACE,qHACF,OACE,iKACF,OACE,4HACF,OACE,kHACF,OACE,qFACF,OAAU,sDACV,OAAU,2BACV,OAAU,kEACV,OACE,kFACF,OACE,qEACF,OAAU,iEACV,OACE,sFACF,OACE,yEACF,OACE,qEACF,OACE,gNACF,OACE,yGACF,OACE,4GACF,OAAU,uCACV,OAAU,sBACV,OAAU,iBACV,OACE,0EACF,OAAU,8DACV,OACE,oKACF,OAAU,UACV,OACE,0LACF,OAAU,iDACV,OAAU,yCACV,OACE,kIACF,OAAU,8BACV,OAAU,+CACV,OACE,uKACF,OACE,4LACF,OACE,uJACF,OACE,+FACF,OAAU,uDACV,OAAU,wCACV,OAAU,2DACV,OACE,iMACF,OAAU,4CACV,OACE,oJACF,OACE,8KACF,OACE,4IACF,OAAU,sCACV,OACE,wHACF,OACE,sKACF,OACE,yGACF,OACE,oFACF,OAAU,sCACV,OAAU,uDACV,OACE,yIACF,OACE,qMACF,OACE,4MACF,OACE,0GACF,OAAU,gEACV,OACE,gHACF,OACE,oHACF,OACE,8KACF,OACE,4HACF,OACE,8KACF,OACE,gGACF,OACE,oGACF,OACE,oMACF,OACE,wMACF,OAAU,sDACV,OAAU,iDACV,OACE,+GACF,OACE,4HACF,OACE,+JACF,OACE,yGACF,OACE,qJACF,OACE,4HACF,OACE,mFACF,OACE,wEACF,OACE,uFACF,OACE,8EACF,OACE,yFACF,OACE,yLACF,OAAU,qCACV,OACE,6EACF,OAAU,+DACV,OACE,8FACF,OACE,yGACF,OACE,+FACF,OACE,gHACF,OAAU,6DACV,OACE,6FACF,OAAU,qDACV,OAAU,oCACV,OACE,uFACF,OACE,4FACF,OACE,sEACF,OACE,iFACF,OAAU,oBACV,OAAU,gCACV,OAAU,iEACV,OACE,4EACF,OACE,+EACF,OAAU,sDACV,OACE,sFACF,OACE,qFACF,OAAU,6CACV,OAAU,sDACV,OAAU,gBACV,OACE,kFACF,OAAU,sCACV,OAAU,mCACV,OAAU,mEACV,OACE,uEACF,OAAU,8CACV,OAAU,2DACV,OAAU,iCACV,OAAU,0DACV,OACE,uFACF,OAAU,oEACV,OAAU,iDACV,OAAU,4DACV,OAAU,oCACV,OACE,4GACF,OAAU,oBACV,OACE,wIACF,OAAU,wCACV,OAAU,oEACV,OACE,qFACF,OACE,yHACF,OACE,yIACF,OACE,oHACF,OACE,uGACF,OACE,yGACF,OACE,4PACF,OACE,oKACF,OAAU,kDACV,OACE,oMACF,OAAU,mCACV,OAAU,gEACV,OACE,sEACF,OACE,yFACF,OACE,0FACF,OAAU,mEACV,OAAU,2CACV,OACE,2EACF,OACE,8FACF,OACE,uEACF,OACE,6EACF,OACE,2GACF,OACE,4GACF,OACE,mFACF,OACE,kFACF,OACE,8EACF,OACE,6FACF,OACE,2JACF,OACE,gLACF,OACE,wJACF,OACE,mFACF,OAAU,uDACV,OACE,2IACF,OACE,sJACF,OAAU,6BACV,OAAU,+DACV,OAAU,8CACV,OACE,oGACF,OACE,4HACF,OACE,mGACF,OACE,0GACF,OACE,mHACF,OACE,qHACF,OACE,6FACF,OAAU,+BACV,OAAU,mDACV,OACE,0EACF,OACE,6GACF,OACE,wHACF,OAAU,2DACV,OAAU,0CACV,OACE,iFACF,OAAU,kDACV,OACE,8FACF,OACE,2FACF,OACE,yFACF,OACE,uGACF,OACE,uEACF,OAAU,+CACV,OAAU,6CACV,OAAU,wCACV,OAAU,yCACV,OACE,kHACF,OAAU,8CACV,OACE,oJACF,OACE,kJACF,OACE,6GACF,OACE,0GACF,OACE,mHACF,OAAU,mBACV,OACE,sLACF,OAAU,0DACV,OACE,6GACF,OACE,6JACF,OACE,iFACF,OACE,8FACF,OAAU,mEACV,OAAU,2BACV,OACE,sHACF,OAAU,mEACV,OACE,sHACF,OACE,6FACF,OACE,qGACF,OACE,4IACF,OACE,sJACF,OACE,uFACF,OAAU,8CACV,OAAU,sDACV,OAAU,+DACV,OACE,+EACF,OACE,4HACF,OACE,0KACF,OACE,wJACF,OACE,mKACF,OACE,sJACF,OACE,2IACF,OACE,4JACF,OACE,0HACF,OACE,wHACF,OACE,oHACF,OACE,sGACF,OACE,+LACF,OACE,mIACF,OACE,mHACF,OACE,oFACF,OACE,2GACF,OACE,4LACF,OACE,8GACF,OACE,kJACF,OACE,0KACF,OACE,kLACF,OACE,2MACF,OACE,kJACF,OACE,6GACF,OACE,2GACF,OACE,sHACF,OACE,gIACF,OACE,2IACF,OACE,iJACF,OACE,4JACF,OACE,gGACF,OACE,oFACF,OACE,0EACF,OAAU,wDACV,OACE,uHACF,OAAU,uDACV,OAAU,mEACV,OAAU,yCACV,OAAU,4BACV,OAAU,yDACV,OACE,oIACF,OACE,yFACF,OACE,6EACF,OACE,qFACF,OAAU,oEACV,OACE,qMACF,OAAU,yDACV,OAAU,6CACV,OAAU,aACV,OACE,sEACF,OACE,kFACF,OAAU,2CACV,OACE,kGACF,OAAU,uDACV,OAAU,6DACV,OAAU,uDACV,OACE,wFACF,OACE,uGACF,OACE,mIACF,OAAU,gBACV,OACE,sEACF,OACE,gNACF,OAAU,iCACV,OACE,8GACF,OACE,wFACF,OACE,qEACF,OAAU,mDACV,OAAU,oDACV,OACE,iGACF,OAAU,kCACV,OAAU,oDACV,OAAU,wDACV,OAAU,gDACV,OAAU,2BACV,OAAU,uCACV,OAAU,iCACV,OACE,sGACF,OACE,gHACF,OACE,0HACF,OACE,gJACF,OACE,6IACF,OACE,sEACF,OACE,+IACF,OACE,kJACF,OACE,iGACF,OACE,yEACF,OACE,0IACF,OACE,sEACF,OACE,qHACF,OACE,oIACF,OACE,wIACF,OACE,gIACF,OACE,uKACF,OACE,mHACF,OACE,iHACF,OACE,4JACF,OACE,+KACF,OACE,wLACF,OACE,kHACF,OAAU,+DACV,OACE,0EACF,OACE,8FACF,OACE,kHACF,OACE,kKACF,OACE,sLACF,OACE,gKACF,OACE,oIACF,OACE,mHACF,OACE,8HACF,OACE,4JACF,OACE,2EACF,OAAU,8DACV,OAAU,4DACV,OAAU,iEACV,OACE,+FACF,OACE,yGACF,OACE,0FACF,OACE,wJACF,OACE,0HACF,OACE,4IACF,OACE,iKACF,OACE,+LACF,OACE,sJACF,OACE,oLACF,OACE,kJACF,OACE,4IACF,OACE,mHACF,OACE,uJACF,OACE,4HACF,OACE,mIACF,OACE,uJACF,OACE,iIACF,OACE,8IACF,OACE,yLACF,OACE,uIACF,OACE,8JACF,OACE,kHACF,OACE,uLACF,OACE,sLACF,OAAU,qBACV,OACE,uFACF,OACE,4KACF,OACE,wKACF,OAAU,iEACV,OACE,qIACF,OACE,mKACF,OACE,uIACF,OAAU,+CACV,OAAU,kBACV,OAAU,mCACV,OAAU,iCACV,OACE,6MACF,OACE,sHACF,OACE,qMACF,OACE,6GACF,OACE,mLACF,OACE,uLACF,OACE,8LACF,OACE,6JACF,OACE,uMACF,OACE,4JACF,OACE,+GACF,OACE,6IACF,OACE,iJACF,OACE,kKACF,OACE,kKACF,OACE,yKACF,OACE,+LACF,OAAU,yBACV,OAAU,uDACV,OAAU,mBACV,OACE,0HACF,OACE,gJACF,OACE,kFACF,OACE,qIACF,OAAU,gCACV,OACE,4FACF,OACE,2GACF,OACE,gIACF,OAAU,kEACV,OACE,yMACF,OAAU,cACV,OACE,sMACF,OACE,wHACF,OAAU,6DACV,OACE,kHACF,OACE,0KACF,OACE,0MACF,OACE,oIACF,OACE,2LACF,OACE,qIACF,OACE,6FACF,OACE,iKACF,OAAU,yCACV,OAAU,uDACV,OAAU,iEACV,OAAU,kDACV,OAAU,gEACV,OAAU,2DACV,OACE,qEACF,OACE,qEACF,OACE,mJACF,OACE,6KACF,OACE,yKACF,OACE,wJACF,OACE,oJACF,OACE,6FACF,OAAU,wDACV,OAAU,mBACV,OAAU,kEACV,OACE,4GACF,OACE,oFACF,OACE,kGACF,OACE,yHACF,OACE,wIACF,OACE,sEACF,OACE,2FACF,OACE,+HACF,OACE,uEACF,OAAU,iEACV,OAAU,yDACV,OACE,6EACF,OAAU,qCACV,OAAU,iEACV,OACE,iFACF,OAAU,oDACV,OACE,qMACF,OACE,8JACF,OAAU,kEACV,OAAU,2BACV,OACE,2EACF,OACE,2JACF,OACE,oFACF,OACE,uEACF,OACE,iGACF,OACE,iFACF,OACE,0FACF,OAAU,mBACV,OAAU,gEACV,OAAU,0CACV,OACE,sFACF,OACE,oFACF,OAAU,gDACV,OACE,iGACF,OACE,qGACF,OACE,+FACF,OAAU,uDACV,OACE,yIACF,OAAU,gEACV,OAAU,+DACV,OACE,yFACF,OAAU,mEACV,OAAU,iDACV,OAAU,gEACV,OAAU,+DACV,OACE,gIACF,OAAU,0CACV,OAAU,+CACV,OAAU,oCACV,OACE,4GACF,OACE,yFACF,OACE,0GACF,OAAU,0DACV,OACE,wFACF,OAAU,wDACV,OACE,0FACF,OACE,iIACF,OACE,6HACF,OACE,wLACF,OACE,kLACF,OACE,8FACF,OACE,wFACF,OAAU,mCACV,OACE,iIACF,OACE,qGACF,OAAU,sDACV,OACE,6HACF,OACE,oGACF,OACE,gGACF,OACE,0LACF,OAAU,yCACV,OACE,8FACF,OACE,qFACF,OAAU,kEACV,OAAU,oCACV,OAAU,kBACV,OAAU,+BACV,OAAU,sCACV,OAAU,0CACV,OAAU,6BACV,OAAU,6DACV,OAAU,6BACV,OACE,4GACF,OAAU,0CACV,OAAU,2DACV,OACE,gKACF,OACE,6KACF,OAAU,uDACV,OACE,yFACF,OACE,iHACF,OACE,+FACF,OACE,6FACF,OACE,4IACF,OACE,wJACF,OACE,uFACF,OAAU,yDACV,OACE,sEACF,OACE,uFACF,OAAU,6DACV,OACE,8FACF,OAAU,8DACV,OAAU,kEACV,OACE,uHACF,OACE,2HACF,OAAU,oEACV,OAAU,sDACV,OACE,wEACF,OACE,mFACF,OACE,sEACF,OACE,sJACF,OAAU,kCACV,OAAU,qCACV,OAAU,0DACV,OACE,4JACF,OACE,4JACF,OACE,yJACF,OACE,+EACF,OACE,8JACF,OAAU,mEACV,OACE,0EACF,OACE,uKACF,OACE,oKACF,OACE,qJACF,OACE,2GACF,OACE,kQACF,OACE,2GACF,OACE,kQACF,OACE,mLACF,OAAU,6CACV,OAAU,6CACV,OAAU,mEACV,OAAU,qDACV,OAAU,4CACV,OACE,8EACF,OACE,oJACF,OACE,+JACF,OACE,0LACF,OACE,kMACF,OACE,yFACF,OACE,+HACF,OACE,sHACF,OACE,mFACF,OACE,0HACF,OACE,2FACF,OACE,2FACF,OACE,gIACF,OACE,8FACF,OACE,uFACF,OACE,2GACF,OACE,sHACF,OAAU,mEACV,OACE,qEACF,OACE,gQACF,OACE,4IACF,OAAU,wBACV,OAAU,6BACV,OACE,sIACF,OACE,yKACF,OACE,2IACF,OACE,sFACF,OACE,oGACF,OAAU,yBACV,OACE,+EACF,OACE,sHACF,OACE,yIACF,OACE,yIACF,OACE,0IACF,OACE,mHACF,OAAU,uBACV,OACE,0NACF,OACE,0NACF,OACE,uIACF,OACE,sHACF,OACE,sFACF,OAAU,yCACV,OAAU,4CACV,OAAU,6CACV,OAAU,wCACV,OAAU,oBACV,OAAU,+DACV,OAAU,mCACV,OAAU,wCACV,OACE,oNACF,OAAU,uCACV,OACE,kNACF,OAAU,0BACV,OACE,uGACF,OACE,0EACF,OAAU,oBACV,OAAU,sBACV,OAAU,qBACV,OAAU,4BACV,OACE,iJACF,OACE,yOACF,OACE,+LACF,OACE,qKACF,OACE,6IACF,OACE,yIACF,OAAU,oDACV,OAAU,+DACV,OAAU,0BACV,OAAU,qCACV,OAAU,mCACV,OAAU,mCACV,OACE,4KACF,OACE,mFACF,OACE,+EACF,OACE,mGACF,OACE,oFACF,OAAU,+CACV,OACE,kJACF,OAAU,6DACV,OAAU,uCACV,OAAU,yCACV,OACE,sEACF,OAAU,0BACV,OAAU,mDACV,OAAU,gDACV,OAAU,4BACV,OAAU,wCACV,OAAU,6CACV,OACE,uEACF,OAAU,4CACV,OAAU,+CACV,OAAU,oEACV,OAAU,8DACV,OACE,iMACF,OACE,iNACF,OAAU,sDACV,MACE,wHACF,OACE,2LACF,OACE,gOACF,OACE,iOACF,OACE,4NACF,OACE,4MACF,OACE,mJACF,OACE,2IACF,OACE,yEACF,OAAU,6DACV,OAAU,yDACV,OAAU,wDACV,OAAU,iDACV,OAAU,4DACV,OAAU,gEACV,OAAU,8CACV,OAAU,+CACV,OACE,8GACF,OACE,kGACF,OAAU,iCACV,OAAU,0DACV,OAAU,mDACV,OAAU,mCACV,OACE,0EACF,OACE,wFACF,OAAU,2CACV,OAAU,uDACV,OAAU,wDACV,OAAU,uCACV,OACE,4GACF,OACE,iFACF,OAAU,2BACV,OAAU,yDACV,OAAU,yDACV,OAAU,qDACV,OACE,2EACF,OACE,kGACF,OAAU,6CACV,OAAU,mEACV,OACE,mFACF,OAAU,mEACV,OAAU,6DACV,OAAU,+CACV,OAAU,8DACV,OACE,oHACF,OACE,2EACF,OAAU,2CACV,OACE,oFACF,OACE,+FACF,OAAU,gDACV,OACE,0JACF,OACE,4KACF,OACE,4KACF,OACE,8KACF,OACE,uJACF,OACE,yJACF,OACE,2KACF,OACE,2KACF,OACE,6KACF,OACE,sJACF,OAAU,mEACV,OAAU,6DACV,OACE,4GACF,OAAU,8DACV,OACE,iIACF,OAAU,UACV,OAAU,4CACV,OACE,2EACF,OACE,kGACF,OACE,wFACF,OACE,+MACF,OACE,oLACF,OACE,uIACF,OACE,6HACF,OACE,+IACF,OACE,wHACF,OACE,8HACF,OACE,gJACF,OACE,yHACF,OACE,4FACF,OACE,8FACF,OACE,gIACF,OACE,+HACF,OAAU,wBACV,OAAU,WACV,OAAU,2DACV,OACE,iJACF,OACE,4EACF,OAAU,oBACV,OACE,mFACF,OAAU,oBACV,OACE,6EACF,OAAU,yDACV,OACE,wFACF,OAAU,mEACV,OACE,gGACF,OACE,2FACF,OAAU,8DACV,OACE,iLACF,OACE,0MACF,OACE,6KACF,OACE,yIACF,OACE,4MACF,OACE,yEACF,OACE,8FACF,OAAU,kEACV,OAAU,8CACV,OACE,4FACF,OAAU,aACV,OACE,+GACF,OACE,+JACF,OACE,+GACF,OACE,yIACF,OACE,qNACF,OACE,2EACF,OACE,iKACF,OACE,iHACF,OACE,0GACF,OACE,+EACF,OAAU,iEACV,OACE,yEACF,OAAU,gEACV,OACE,2EACF,OACE,mFACF,OACE,mFACF,OACE,4IACF,OACE,wHACF,OACE,qGACF,OACE,0HACF,OACE,oHACF,OACE,0GACF,OACE,+GACF,OAAU,uDACV,OACE,kHACF,OACE,qIACF,OAAU,kEACV,OACE,mFACF,OACE,6GACF,OACE,6HACF,OACE,0IACF,OACE,qFACF,OACE,yEACF,OAAU,2BACV,OAAU,4DACV,OACE,wFACF,OACE,2EACF,OACE,qEACF,OAAU,kEACV,OACE,+MACF,OACE,2IACF,OACE,kGACF,OACE,wMACF,OACE,iMACF,OACE,kMACF,OACE,uJACF,OACE,kGACF,OACE,qGACF,OAAU,0DACV,OACE,+FACF,OACE,yIACF,OACE,uIACF,OACE,qEACF,OACE,4FACF,OACE,6LACF,OAAU,6BACV,OAAU,gDACV,OACE,6FACF,OACE,uEACF,OACE,sGACF,OACE,8IACF,OAAU,iEACV,OAAU,eACV,OAAU,oDACV,OAAU,8BACV,OACE,8EACF,OACE,gMACF,OACE,8EACF,OACE,uEACF,OAAU,yDACV,OAAU,+DACV,OAAU,4DACV,OACE,qEACF,OACE,qFACF,OACE,qEACF,OACE,8EACF,OACE,qFACF,OACE,wEACF,OACE,wGACF,OACE,wFACF,OACE,kFACF,OACE,8FACF,OAAU,mCACV,OACE,gIACF,OACE,qEACF,OAAU,wCACV,OAAU,iEACV,OAAU,uDACV,OAAU,oCACV,MACE,qKACF,OAAU,qCACV,OAAU,wDACV,OACE,kHACF,OAAU,oCACV,OAAU,+CACV,OAAU,+BACV,OAAU,wBACV,OAAU,sCACV,OAAU,iDACV,OACE,8EACF,OAAU,uDACV,OACE,0IACF,OACE,wLACF,OACE,kJACF,OACE,4LACF,OACE,qJACF,OACE,mKACF,OACE,gLACF,OAAU,cACV,OACE,6MACF,OACE,oIACF,OACE,oIACF,OACE,yJACF,OACE,6MACF,OACE,sGACF,OACE,mHACF,OAAU,kDACV,OACE,qPACF,OACE,gMACF,OACE,oFACF,OAAU,kCACV,OACE,8LACF,OACE,8MACF,OACE,gGACF,OAAU,iDACV,OACE,kGACF,OAAU,kBACV,OACE,8FACF,OACE,4EACF,OACE,oMACF,OACE,iMACF,OAAU,0CACV,OACE,iFACF,OACE,mFACF,OACE,wFACF,OACE,8HACF,OACE,kHACF,OAAU,yDACV,OACE,gNACF,OACE,4EACF,OAAU,kCACV,OACE,2GACF,OACE,wGACF,OACE,iJACF,OACE,8IACF,OACE,oKACF,OACE,2LACF,OACE,uFACF,OACE,gJACF,OACE,iFACF,OACE,oFACF,OACE,iNACF,OAAU,2CACV,OAAU,eACV,OAAU,qBACV,OACE,sFACF,OACE,gMACF,OAAU,kEACV,OACE,oFACF,OACE,0HACF,OACE,mFACF,OACE,4EACF,OACE,yFACF,OACE,iFACF,OACE,wFACF,OACE,8GACF,OACE,qKACF,OACE,0KACF,OACE,gKACF,OACE,iLACF,OACE,uLACF,OACE,+KACF,OACE,mLACF,OACE,0IACF,OACE,+IACF,OACE,2JACF,OACE,4FACF,OACE,uGACF,OACE,mJACF,OACE,8JACF,OACE,4FACF,OACE,uGACF,OACE,6GACF,OACE,kHACF,OACE,6HACF,OACE,iHACF,OACE,4HACF,OACE,uIACF,OACE,gJACF,OACE,4GACF,OAAU,iBACV,OACE,+GACF,OAAU,iEACV,OACE,kKACF,OACE,wHACF,OACE,0KACF,OAAU,kEACV,OACE,0FACF,OACE,+HACF,OACE,iIACF,OAAU,iEACV,OACE,kFACF,OACE,+FACF,OACE,4EACF,OACE,+EACF,OAAU,2CACV,OAAU,2BACV,OACE,mFACF,OACE,sEACF,OACE,0EACF,OAAU,0CACV,OAAU,gCACV,OACE,gGACF,OACE,sFACF,OACE,qHACF,OACE,qGACF,OACE,wHACF,OACE,sHACF,OACE,4FACF,OAAU,uDACV,OAAU,+BACV,OAAU,8BACV,OAAU,2CACV,OACE,+FACF,OAAU,mEACV,OAAU,qCACV,OACE,uGACF,OAAU,gEACV,OACE,qFACF,OACE,+GACF,OAAU,0DACV,OAAU,oCACV,OACE,6GACF,OACE,gJACF,OACE,wFACF,OACE,2HACF,OACE,+GACF,OAAU,gBACV,OACE,kOACF,OACE,uFACF,OAAU,mCACV,OAAU,6BACV,OAAU,wDACV,OACE,4GACF,OACE,mFACF,OACE,gLACF,OACE,0IACF,OACE,+EACF,OACE,0EACF,OACE,yJACF,OACE,6JACF,OACE,8GACF,OACE,oGACF,OACE,sEACF,OAAU,2BACV,OACE,gGACF,OACE,mFACF,OAAU,uCACV,OACE,wGACF,OAAU,2DACV,OACE,yEACF,OAAU,sDACV,OACE,yGACF,OACE,4JACF,OACE,uEACF,OACE,+FACF,OACE,4GACF,OAAU,iCACV,OAAU,0CACV,OACE,sEACF,OAAU,mCACV,OACE,2GACF,OAAU,qCACV,OAAU,2CACV,OACE,qHACF,OACE,6HACF,OACE,wIACF,OACE,6EACF,OACE,qFACF,OACE,gGACF,OAAU,qDACV,OAAU,6BACV,OAAU,mBACV,OAAU,mBACV,OACE,0EACF,OACE,gHACF,OACE,oHACF,OACE,+GACF,OACE,mHACF,OACE,2GACF,OAAU,cACV,OACE,qIACF,OACE,6GACF,OACE,qIACF,OACE,yJACF,OAAU,mCACV,OAAU,8CACV,OAAU,oCACV,OAAU,qCACV,OAAU,qCACV,OAAU,mEACV,OAAU,qBACV,OACE,sGACF,OAAU,iCACV,OAAU,uBACV,OAAU,uBACV,OACE,gFACF,OAAU,mBACV,OAAU,4BACV,OAAU,uCACV,OAAU,oBACV,OACE,qEACF,OAAU,kEACV,OAAU,gBACV,OAAU,yDACV,OAAU,iDACV,OAAU,mEACV,OACE,gOACF,OACE,qMACF,OAAU,gEACV,OACE,gJACF,OACE,2JACF,OAAU,oDACV,OACE,6JACF,OACE,wKACF,OAAU,+CACV,OACE,+HACF,OACE,iHACF,OACE,4HACF,OAAU,yCACV,OAAU,8CACV,OACE,6IACF,OACE,wJACF,OAAU,oDACV,OAAU,uDACV,OACE,qFACF,OAAU,2BACV,OAAU,oCACV,OAAU,8CACV,OAAU,wCACV,OACE,0GACF,OAAU,gEACV,OACE,kGACF,OACE,wIACF,OACE,mMACF,OACE,kFACF,OACE,qHACF,OACE,yFACF,OAAU,6DACV,OAAU,iEACV,OAAU,wCACV,OAAU,gBACV,OAAU,8DACV,OACE,qEACF,OAAU,mCACV,OAAU,yDACV,OAAU,iDACV,OACE,6KACF,OAAU,uBACV,OAAU,mCACV,OACE,uKACF,OAAU,+BACV,OACE,0IACF,OAAU,iBACV,OAAU,+CACV,OAAU,qBACV,OAAU,8BACV,OACE,uGACF,OAAU,uBACV,OAAU,aACV,OAAU,6CACV,OAAU,sCACV,OAAU,8CACV,OAAU,gEACV,OAAU,oBACV,OAAU,oBACV,OACE,0EACF,OACE,uEACF,OAAU,qCACV,OACE,wEACF,OAAU,eACV,OAAU,qCACV,OAAU,gBACV,OACE,+IACF,OACE,gIACF,OAAU,gDACV,OAAU,kEACV,OACE,oFACF,OAAU,gEACV,OACE,wFACF,OAAU,8DACV,OACE,wEACF,OACE,0MACF,OAAU,sDACV,OAAU,sBACV,OACE,4FACF,OAAU,qCACV,OACE,+JACF,OACE,8MACF,OACE,+GACF,OAAU,wBACV,OACE,iIACF,OACE,kGACF,OACE,gHACF,OAAU,kEACV,OACE,0KACF,OAAU,+BACV,OACE,qEACF,OAAU,kEACV,OAAU,0DACV,OAAU,4DACV,OACE,mFACF,OAAU,0DACV,OAAU,0DACV,OACE,2EACF,OAAU,yBACV,OAAU,mBACV,OAAU,6DACV,OAAU,4CACV,OAAU,gCACV,OACE,+EACF,OAAU,iCACV,OACE,kFACF,OACE,wEACF,OAAU,4BACV,OACE,0JACF,OAAU,0DACV,OAAU,kCACV,OACE,wEACF,MACE,6EACF,OACE,8LACF,OACE,wIACF,OAAU,wDACV,OAAU,2DACV,OAAU,uDACV,OAAU,oEACV,OACE,gFACF,OACE,kIACF,OACE,yFACF,OACE,sFACF,OAAU,iCACV,OAAU,6CACV,OAAU,8DACV,OACE,yEACF,OACE,qHACF,OACE,wEACF,OACE,iFACF,OACE,qGACF,OACE,6GACF,OACE,iHACF,MAAU,iDACV,OACE,sGACF,OACE,qIACF,OACE,6GACF,OACE,8JACF,OAAU,mDACV,OACE,yIACF,OACE,iHACF,OACE,kKACF,OAAU,+CACV,OACE,6EACF,OACE,iFACF,OAAU,qDACV,OACE,oFACF,OACE,wFACF,OACE,8JACF,OACE,6KACF,OACE,6FACF,OACE,0JACF,OACE,wKACF,OACE,kMACF,OACE,4FACF,OACE,gGACF,OAAU,kDACV,OAAU,0CACV,OACE,sEACF,OAAU,8CACV,SACE,qEACF,SAAU,2CACV,SAAU,sDACV,SAAU,iCACV,SAAU,2CACV,SAAU,sDACV,SAAU,cACV,SAAU,0BACV,SAAU,mDACV,SAAU,2CACV,SAAU,gDACV,SAAU,4CACV,SAAU,uDACV,SAAU,gDACV,SAAU,0CACV,SACE,8EACF,SACE,4EACF,SAAU,cACV,SAAU,cACV,SACE,qFACF,SAAU,sDACV,SAAU,oDACV,SAAU,oDACV,SAAU,2DACV,SACE,4EACF,SACE,iFACF,SACE,oGACF,SACE,6EACF,SACE,iFACF,SACE,iFACF,SAAU,qCACV,SAAU,0BACV,SACE,wMACF,SAAU,uDACV,SAAU,mCACV,SACE,+PACF,SAAU,gDACV,SAAU,6BACV,SAAU,8BACV,SAAU,0DACV,SACE,uGACF,SAAU,sBACV,SAAU,iCACV,SACE,uFACF,SACE,0EACF,SAAU,0DACV,SAAU,0CACV,SAAU,gEACV,SACE,8FACF,SAAU,gCACV,SAAU,iEACV,SACE,mFACF,SAAU,mEACV,SAAU,uDACV,SACE,yEACF,SAAU,mDACV,SACE,sEACF,SACE,kHACF,SACE,gHACF,SAAU,mEACV,SAAU,4DACV,SACE,wGACF,SACE,sGACF,SAAU,yDACV,SAAU,2CACV,SACE,qEACF,SAAU,qDACV,SAAU,oDACV,SAAU,mDACV,SACE,4EACF,SAAU,4CACV,SAAU,0CACV,SAAU,uDACV,SACE,oFACF,SACE,0EACF,SACE,sEACF,SACE,wGACF,SACE,8FACF,SACE,qGACF,SAAU,8BACV,SACE,2FACF,SAAU,4DACV,SACE,kFACF,SACE,yEACF,SAAU,+DACV,SACE,sEACF,SAAU,4DACV,SAAU,mEACV,SACE,oIACF,SACE,0HACF,SACE,kKACF,SACE,+JACF,SACE,qGACF,SACE,sIACF,SAAU,qCACV,SAAU,6DACV,SACE,8EACF,SACE,4FACF,SACE,kFACF,SAAU,4CACV,SACE,uEACF,SAAU,6DACV,SACE,8EACF,SACE,4FACF,SACE,kFACF,SAAU,mEACV,SACE,4EACF,SAAU,oEACV,SAAU,oEACV,SACE,wPACF,SACE,mGACF,SACE,iGACF,SACE,4EACF,SACE,qJACF,SACE,kIACF,SACE,mHACF,SACE,oGACF,SACE,wFACF,SACE,8EACF,SAAU,6DACV,SACE,0JACF,SACE,gIACF,SACE,8PACF,SACE,+JACF,SACE,gQACF,SAAU,yBACV,SAAU,qCACV,SAAU,gDACV,SACE,6KACF,SAAU,mCACV,SACE,oOACF,SACE,uFACF,SAAU,wDACV,SAAU,qCACV,SACE,gQACF,SAAU,gEACV,SACE,iQACF,SAAU,sDACV,SACE,+JACF,SACE,oNACF,SACE,wJACF,SACE,2IACF,SACE,iKACF,SACE,8JACF,SACE,yKACF,SACE,6JACF,SACE,2JACF,SACE,uJACF,SACE,kMACF,SACE,mKACF,SACE,yJACF,SACE,gJACF,SACE,qKACF,SACE,oJACF,SACE,6OACF,SACE,+LACF,SACE,kKACF,SACE,sJACF,SACE,qJACF,SACE,mJACF,SACE,wJACF,SACE,6KACF,SACE,4JACF,SACE,sJACF,SACE,gKACF,SACE,gKACF,SACE,2LACF,SACE,mJACF,SACE,wNACF,SACE,uIACF,SACE,iIACF,SACE,0KACF,SACE,6HACF,SACE,yHACF,SACE,gIACF,SACE,kIACF,SAAU,uDACV,SAAU,0CACV,SACE,qJACF,SACE,8LACF,SACE,yJACF,SACE,8IACF,SACE,mLACF,SACE,kJACF,SACE,mJACF,SACE,uJACF,SACE,sJACF,SACE,6IACF,SACE,gJACF,SAAU,0CACV,SAAU,gDACV,SAAU,qCACV,SACE,4GACF,SACE,mLACF,SACE,gLACF,SACE,gPACF,SACE,6KACF,SACE,6PACF,SACE,qJACF,SACE,yPACF,SACE,wJACF,SACE,2IACF,SACE,oLACF,SACE,+IACF,SACE,oIACF,SACE,yKACF,SACE,0MACF,SACE,8IACF,SACE,iIACF,SACE,uJACF,SACE,oJACF,SACE,+JACF,SACE,mJACF,SACE,iJACF,SACE,6IACF,SACE,wLACF,SACE,yJACF,SACE,+IACF,SACE,sIACF,SACE,2JACF,SACE,8IACF,SACE,mOACF,SACE,qLACF,SACE,wJACF,SACE,4IACF,SACE,2IACF,SACE,yIACF,SACE,8IACF,SACE,sHACF,SACE,wHACF,SACE,mKACF,SACE,kJACF,SACE,4IACF,SACE,sJACF,SACE,qJACF,SACE,kLACF,SACE,8PACF,SACE,8MACF,SACE,6HACF,SACE,uHACF,SACE,gKACF,SACE,mHACF,SACE,+GACF,SACE,oJACF,SACE,iIACF,SACE,qHACF,SAAU,gCACV,SACE,wIACF,SACE,yIACF,SACE,wIACF,SACE,4IACF,SACE,sIACF,SAAU,gCACV,SAAU,sCACV,SAAU,2BACV,SACE,kGACF,SACE,8EACF,SACE,2GACF,SACE,6GACF,SACE,wJACF,SAAU,uBACV,SAAU,qDACV,SAAU,uDACV,SAAU,sDACV,SAAU,8DACV,SACE,uGACF,SAAU,+DACV,SACE,qHACF,SACE,+PACF,SACE,iMACF,SACE,+HACF,SACE,kKACF,SAAU,8DACV,SAAU,gEACV,SAAU,2DACV,SAAU,4DACV,SAAU,oEACV,SACE,mIACF,SACE,oFACF,SACE,yMACF,SACE,qGACF,SACE,uGACF,SACE,kGACF,SACE,mGACF,SACE,2GACF,SAAU,oDACV,SACE,6FACF,SAAU,qDACV,SACE,+OACF,SACE,4EACF,SAAU,2DACV,SAAU,qDACV,SAAU,+DACV,SAAU,+DACV,SACE,mNACF,SACE,sPACF,SACE,uLACF,SACE,qHACF,SAAU,oDACV,SAAU,sDACV,SAAU,oEACV,SACE,yHACF,SACE,yEACF,SAAU,yDACV,SACE,+FACF,SACE,2FACF,SACE,6FACF,SACE,yHACF,SACE,sGACF,SACE,iPACF,SACE,wFACF,SACE,yFACF,SACE,yFACF,SAAU,6DACV,SACE,yEACF,SAAU,2DACV,SACE,qHACF,SACE,0LACF,SACE,qFACF,SACE,iQACF,SACE,8JACF,SACE,wMACF,SACE,4KACF,SACE,4IACF,SACE,uIACF,SACE,+GACF,SACE,yMACF,SACE,iQACF,SACE,6GACF,SACE,2HACF,SACE,mIACF,SACE,yGACF,SACE,yIACF,SACE,yGACF,SAAU,iCACV,SAAU,iDACV,SACE,wEACF,SACE,+NACF,SACE,qKACF,SAAU,6BACV,SACE,mJACF,SACE,mLACF,SACE,4MACF,SAAU,iEACV,SACE,mOACF,SACE,+PACF,SACE,oNACF,SACE,mIACF,SACE,kMACF,SACE,0NACF,SACE,kPACF,SACE,qOACF,SACE,uOACF,SACE,0IACF,SACE,wFACF,SACE,sEACF,SACE,8FACF,SACE,uHACF,SACE,0GACF,SACE,8IACF,SACE,iMACF,SACE,uIACF,SACE,qHACF,SACE,qJACF,SACE,kIACF,SACE,oJACF,SACE,uGACF,SACE,qEACF,SAAU,qDACV,SACE,oIACF,SACE,8IACF,SACE,6HACF,SACE,6MACF,SACE,gGACF,SACE,gFACF,SACE,gKACF,SACE,mFACF,SACE,mFACF,SAAU,kDACV,SACE,+NACF,SAAU,2DACV,SAAU,2CACV,SACE,2HACF,SACE,yLACF,SACE,+PACF,SACE,mOACF,SACE,iQACF,SACE,qFACF,SACE,8FACF,SACE,qEACF,SACE,8EACF,SACE,qJACF,SACE,0OACF,SACE,6JACF,SACE,gKACF,SACE,gJACF,SACE,gOACF,SACE,oGACF,SACE,oFACF,SACE,2KACF,SACE,oJACF,SACE,oIACF,SACE,uNACF,SACE,qKACF,SACE,yPACF,SAAU,+DACV,SACE,gHACF,SACE,wJACF,SAAU,kBACV,SACE,oJACF,SACE,0KACF,SACE,qJACF,SACE,8LACF,SAAU,qCACV,SACE,0KACF,SACE,0JACF,SACE,wIACF,SACE,2JACF,SACE,iKACF,SACE,6MACF,SACE,wGACF,SACE,oJACF,SAAU,6BACV,SAAU,2CACV,SAAU,+BACV,SACE,sFACF,SACE,+EACF,SAAU,yDACV,SAAU,4DACV,SACE,8IACF,SAAU,wCACV,SAAU,8DACV,SACE,0HACF,SACE,kIACF,SACE,8GACF,SACE,sHACF,SAAU,6CACV,SACE,oGACF,SACE,uLACF,SACE,kIACF,SACE,gNACF,SAAU,iBACV,SAAU,4DACV,SAAU,2BACV,SACE,6GACF,SACE,oGACF,SACE,gFACF,SACE,gJACF,SACE,uHACF,SACE,iKACF,SACE,iIACF,SACE,4LACF,SAAU,sDACV,SACE,+LACF,SACE,mGACF,SACE,sMACF,SACE,sLACF,SAAU,oDACV,SACE,kNACF,SAAU,gCACV,SACE,4IACF,SAAU,uCACV,SACE,mFACF,SACE,2JACF,SAAU,4CACV,SACE,6EACF,SAAU,0DACV,SAAU,sCACV,SAAU,4CACV,SAAU,+BACV,SAAU,4CACV,SAAU,4CACV,SACE,sGACF,SACE,2GACF,SACE,wGACF,SACE,+GACF,SACE,4HACF,SACE,iKACF,SACE,yJACF,SACE,8IACF,SACE,wKACF,SACE,2NACF,SACE,0KACF,SACE,0NACF,SAAU,8CACV,SAAU,2DACV,SAAU,6BACV,SAAU,gEACV,SAAU,mDACV,SACE,6FACF,SACE,2EACF,SAAU,0DACV,SACE,6EACF,SACE,wEACF,SACE,uFACF,SACE,kFACF,SACE,uFACF,SAAU,0DACV,SACE,0GACF,SAAU,uDACV,SACE,uFACF,SACE,qGACF,SACE,8FACF,SAAU,iDACV,SAAU,0CACV,SAAU,0DACV,SAAU,6DACV,SAAU,gEACV,SAAU,yCACV,SAAU,oEACV,SACE,qEACF,SACE,uKACF,SAAU,sDACV,SACE,0FACF,SAAU,gDACV,SACE,iGACF,SAAU,4DACV,SAAU,iDACV,SAAU,uCACV,SACE,6EACF,SAAU,6DACV,SACE,mFACF,SACE,iIACF,SACE,+IACF,SACE,uIACF,SACE,2IACF,SACE,oFACF,SACE,qGACF,SACE,iFACF,SACE,6HACF,SACE,qGACF,SACE,qGACF,SACE,qHACF,SACE,8HACF,SACE,yIACF,SACE,8IACF,SACE,qFACF,SACE,8FACF,SACE,8GACF,SACE,uHACF,SACE,mHACF,SACE,mHACF,SACE,4HACF,SACE,6IACF,SACE,yIACF,SACE,gGACF,SACE,iGACF,SACE,sJACF,SACE,mIACF,SACE,wIACF,SACE,sIACF,SACE,wGACF,SACE,qGACF,SACE,mFACF,SACE,kLACF,SACE,uGACF,SACE,sGACF,SACE,qKACF,SACE,mKACF,SACE,yKACF,SACE,yKACF,SACE,4KACF,SACE,gQACF,SACE,2EACF,SAAU,qCACV,SAAU,wDACV,SACE,iGACF,SACE,8EACF,SAAU,sDACV,SAAU,qDACV,SACE,8EACF,SAAU,wCACV,SAAU,qDACV,SAAU,kDACV,SAAU,iDACV,SACE,+EACF,SACE,8EACF,SAAU,kDACV,SAAU,iDACV,SACE,4FACF,SAAU,oEACV,SAAU,mEACV,SACE,6EACF,SAAU,qDACV,SAAU,oDACV,SACE,4EACF,SAAU,oDACV,SAAU,mDACV,SACE,wFACF,SACE,6EACF,SACE,sGACF,SAAU,oDACV,SAAU,mDACV,SACE,kGACF,SAAU,2CACV,SAAU,2CACV,SAAU,2CACV,SAAU,uCACV,SAAU,sCACV,SAAU,4CACV,SAAU,2BACV,SAAU,iEACV,SAAU,0BACV,SACE,iIACF,SACE,+EACF,SAAU,6CACV,SACE,8EACF,SACE,oFACF,SAAU,+DACV,SACE,uHACF,SACE,yEACF,SAAU,gBACV,SAAU,+BACV,SAAU,uDACV,SAAU,oCACV,SAAU,uDACV,SAAU,yCACV,SAAU,gBACV,SAAU,0CACV,SAAU,8BACV,SAAU,gCACV,SAAU,iCACV,SAAU,iCACV,SAAU,uDACV,SACE,4EACF,SAAU,sDACV,SAAU,wCACV,SAAU,qCACV,SACE,gFACF,SACE,sEACF,SACE,wFACF,SAAU,kCACV,SAAU,gBACV,SAAU,mCACV,SAAU,kEACV,SACE,4JACF,SACE,0MACF,SACE,wJACF,SACE,2GACF,SACE,+GACF,SACE,4IACF,SAAU,iCACV,SAAU,+BACV,SAAU,+BACV,SAAU,yDACV,SAAU,+DACV,SACE,uKACF,SAAU,uCACV,SAAU,qCACV,SAAU,qCACV,SAAU,iCACV,SAAU,0BACV,SAAU,2DACV,SACE,kFACF,SACE,oFACF,SACE,gFACF,SACE,yGACF,SACE,qGACF,SAAU,OACV,SAAU,kEACV,SAAU,yDACV,SACE,8EACF,SACE,qFACF,SACE,qEACF,SAAU,kBACV,SAAU,8CACV,SAAU,qCACV,SACE,yEACF,SACE,6EACF,SACE,4HACF,SAAU,gEACV,SAAU,iDACV,SACE,6EACF,SAAU,oEACV,SAAU,iBACV,SAAU,6CACV,SAAU,oCACV,SAAU,eACV,SAAU,2CACV,SAAU,kCACV,SAAU,oBACV,SAAU,gDACV,SAAU,uCACV,SAAU,gCACV,SAAU,0BACV,SAAU,sDACV,SAAU,6CACV,SAAU,sBACV,SAAU,kDACV,SAAU,yCACV,SAAU,wBACV,SAAU,kCACV,SACE,iGACF,SACE,wFACF,SAAU,iBACV,SAAU,6CACV,SAAU,oCACV,SAAU,kBACV,SAAU,6BACV,SAAU,2BACV,SAAU,QACV,SAAU,+DACV,SAAU,qCACV,SACE,uEC52WJ,IAEa6+D,GAAiB,SAACl1F,EAAem1F,GAC5C,GAAIn1F,GAHc,SAACA,GAA2C,OAAAA,KAAQo1F,EAAR,CAGlDC,CAAYr1F,GAAO,CAC7B,IAAM,EAAOo1F,GAAIp1F,GACjB,OAAOm1F,GAAkB,EAAKz0G,OAASy0G,EACnC,UAAG,EAAKvwG,MAAM,EAAGuwG,GAAe,KAChC,EAGN,OAAOn1F,CACT,aCFI,GAAU,CAAC,EAEf,GAAQ80B,kBAAoB,IAC5B,GAAQL,cAAgB,IAElB,GAAQN,OAAS,SAAc,KAAM,QAE3C,GAAQT,OAAS,IACjB,GAAQmB,mBAAqB,IAEhB,IAAI,KAAS,IAKnB,SAAe,MAAW,KAAQ90C,OAAS,KAAQA,YAASmB,yNCP7Do0G,GAAW,IAMXC,GAAqB,IACrBC,GAAkB,IAGlBC,GAAwB,IAE9B,SAASC,GAAOC,EAAiBtnG,GAC/B,IAAM8mB,EAAK9mB,GAAc,QACzB,OAAOsnG,EAAMt1G,KAAI,SAACu1G,EAAM7+E,GAAU,OAChC,qBAAOrM,EAAE,IAAImrF,GAAc,IAAV9+E,EAAc,EAAI5B,GAAE,UAClCygF,IADyC7+E,EADZ,GAKpC,CAWO,SAAS++E,GAAY,OAC1Bj0G,EAAI,OACJk0G,EAAc,iBACdC,EAAM,SACNC,EAAO,UACPC,EAAe,kBACfC,EAAwB,2BAElBC,EAAWxB,GAAc,uBACzByB,EAAWzB,GAAc,uBACzB0B,EAAU1B,GAAc,sBACxB2B,EAAU3B,GAAc,sBAExB4B,EAAmBJ,EAAW,GAAKC,EAAW,IAAM,IACpDI,EAAmBL,EAAW,GAAKC,EAAW,GAAK,GACnD71F,GAAU41F,EAAW,IAAO,KA9ChB,IA8CqCI,EACjDE,EAAaN,EAAW,IAAMC,EAAW,IAAM,IAC/CM,EAAuBP,EAAW,GAAKC,EAAW,GAAK,GACvD91F,EAAQ,KAAOm2F,EACfE,EAAqBN,EAAU,GAAK,GAEpCO,EAAcT,GAAY,IAAMC,GAAY,KAAO,IAEnDS,GAAY,IAAAx5E,QAAuB,MACnCy5E,GAAS,IAAAz5E,QAAsB,MAE/B,GAA0B,IAAAC,UAAS,GAAlCy5E,EAAQ,KAAEC,EAAW,MAE5B,IAAAj6E,YAAU,WACR,IAAM2sD,EAAiB,IAAI/C,gBAAe,SAACgD,GAGzCqtB,EAAYrtB,EAAQ,GAAGx4E,OAAO6lE,YAChC,IAKA,OAJI8/B,EAAOhjG,SACT41E,EAAe5c,QAAQgqC,EAAOhjG,SAGzB,WACL41E,EAAezc,YACjB,CACF,IAEM,MNhFD,SAA0B72B,WACzB,GAA0B,IAAA9Y,UAAS,CACvC7S,EAAG,EACH6J,EAAG,IAFEimD,EAAQ,KAAE08B,EAAW,KAItB,GAAkB,IAAA35E,UAAsB,MAAvC17B,EAAI,KAAEgpF,EAAO,KACd,GAAwB,IAAAttD,WAAS,GAAhC45E,EAAO,KAAEC,EAAU,KACpBC,GAAa,IAAA/5E,SAAO,GACpBg6E,GAAa,IAAAh6E,QAA8B,MAKxCi6E,GAAa,IAAAh6E,WAAS,GAAb,GAEZg5E,EAAU3B,GAAc,sBA+BxB4C,EAAgBnhE,aAAS,EAATA,EAAWkoB,wBAC3Bk5C,GAAaD,aAAa,EAAbA,EAAe9sF,IAAK,EACjCgtF,GAAaF,aAAa,EAAbA,EAAejjF,IAAK,EACjCojF,GAAiBH,aAAa,EAAbA,EAAej3F,QAAS,EACzCq3F,GAAiC,QAAlB,EAAAN,EAAWvjG,eAAO,eAAEwqD,wBAAwBh+C,QAAS,IACpEs3F,GACc,QAAlB,EAAAP,EAAWvjG,eAAO,eAAEwqD,wBAAwB/9C,SAAU,IAEpDs3F,EACFt9B,EAAS9vD,EAAI+sF,EAAaG,EA1Dd,IA0DwC/0G,OAAOs0E,WACvD,oBACA,OACF3vD,EAAOgzD,EAAS9vD,EAEpB,IAAK6rF,EAAS,CACZ,IAAMwB,EACJv9B,EAAS9vD,EAAI+sF,EAAaG,EAAe,EAjE/B,IAiE8C/0G,OAAOs0E,WAGjE2gC,EAAaC,EAAmB,IAAM,OACtCvwF,EAHwBgzD,EAAS9vD,EAAIktF,EAAe,GAAK,EAIrDA,EAAe,EACfG,EACAJ,EAAiBC,EACjBpwF,EAGN,IAAMwwF,EACJx9B,EAASjmD,EAAImjF,EAAaG,EA5Ed,IA4EyCh1G,OAAO+zF,YACxD,oBACA,MAEN,MAAO,CACLqhB,YA9DkB,SAACt0F,EAAyB9hB,GAC5Cw1G,EAAWtjG,SAAU,EACf,MAAS,GAAQ4P,EAAO0yB,GAAvB3rB,EAAC,KAAE6J,EAAC,KACXs2D,EAAQhpF,GACRq1G,EAAY,CAAExsF,EAAC,EAAE6J,EAAC,IAClB6iF,GAAW,EACb,EAyDEc,YAvDkB,SAACv0F,GACnB0zF,EAAWtjG,SAAU,EACf,MAAS,GAAQ4P,EAAO0yB,GAAvB3rB,EAAC,KAAE6J,EAAC,KACX2iF,EAAY,CAAExsF,EAAC,EAAE6J,EAAC,IAClB6iF,GAAW,EACb,EAmDEe,YAjDkB,WAElBd,EAAWtjG,SAAU,EACrBsY,YAAW,WACLgrF,EAAWtjG,UACbqjG,GAAW,GACXvsB,EAAQ,MACR0sB,GAAU,GACVF,EAAWtjG,SAAU,EAEzB,GAAG,GACL,EAuCEqkG,YAAav2G,EACbw2G,eAAgBlB,EAChBmB,aAAc,CACZ9oG,MAAO,SACF,IAAM,CACTgY,KAAI,EACJE,IAAK8yD,EAASjmD,EACdowB,UAAW,oBAAamzD,EAAU,aAAKE,EAAU,OAEnDvhF,IAAK,SAAC+T,GACJ8sE,EAAWvjG,QAAUy2B,EACjBA,EACF+sE,GAAU,IACA/sE,GAAM8sE,EAAWvjG,SAC3BwjG,GAAU,EAEd,GAGN,CMdMgB,CAAoBzB,EAAU/iG,SANhCkkG,EAAW,cACXC,EAAW,cACXC,EAAW,cACXG,EAAY,eACZD,EAAc,iBACdD,EAAW,cAGP,GAGF,IAAA76E,WAAS,GAFXi7E,EAAgC,KAChCC,EAAmC,KAG/B,GAGF,IAAAl7E,WAAS,GAFXm7E,EAAmC,KACnCC,EAAsC,KAGlC,GAGF,IAAAp7E,WAAS,GAFXq7E,EAAkC,KAClCC,EAAqC,KAGvC,GAAoB,IAAhBh3G,EAAKnB,OACP,OAAO,KAGT,IAAMo4G,EAAkBj3G,EAAK80C,MAC3B,SAACr2C,GAAS,OAAAA,EAAK,qBAAuB21G,CAA5B,IAIN8C,EAAal3G,EAChBi1C,QAAO,SAACx2C,GAAS,OAAAA,EAAK,qBAAuB21G,CAA5B,IACjBx1G,OAAOq4G,GAAmB,IAEvBE,E/FlFD,WACL,OAAOnnD,GAAIl/C,MAAM,KAAMtQ,WAAWs6D,SAAS,GAC7C,C+FgF4B,GAEvB/B,OCnIU,SAAgBrI,GAC7B,IAAI9rC,EACAkqC,EAEF,IAAK,MAAMlnD,KAAS8oD,EACL,MAAT9oD,SACUvI,IAARulB,EACEhd,GAASA,IAAOgd,EAAMkqC,EAAMlnD,IAE5Bgd,EAAMhd,IAAOgd,EAAMhd,GACnBknD,EAAMlnD,IAAOknD,EAAMlnD,KAiB/B,MAAO,CAACgd,EAAKkqC,EACf,CDuGY,CAAU9uD,EAAKxB,KAAI,SAACmD,GAAM,OAAAA,EAAE,uBAAF,MACjCyf,MAAM,CAAC,GAxGY,KA0GhBg2F,EAAejC,EAAYJ,EAAqBI,EAAY,KAAO,EAEnEkC,EAAS,KAEZt+C,OAAO,CAAC,EAAG06C,KACXryF,MAAM,CAAC,EAAG1C,EAAQ04F,IAEfE,EAAS,KAEZv+C,OAAO,CAAC,EAAG06C,KACXryF,MAAM,CAACzC,EA3HO,KA6HX44F,EAAgBpG,GAAqBgD,GAE3C,OACE,4BACE,mBAAKnwE,QAAQ,OAAOtlB,MAAM,IAAIC,OAAO,KAAG,WACtC,6BACE,sBAAQ1gB,GAAG,aAAaghE,QAAQ,aAAW,WACzC,iBAAMt9D,EAAE,8WAEV,uBAAQ1D,GAAG,eAAeghE,QAAQ,aAAW,YAC3C,mBAAQu4C,GAAG,MAAMC,GAAG,MAAMhlF,EAAE,MAAM4nC,KAAK,kBACvC,iBACE14D,EAAE,2bACF04D,KAAK,qBAKb,SAACw4C,GAAW,CACVpzC,MAAO,WAAIy0C,EAAc,YAAIqD,EAAc70G,cAAa,oEACxD2+D,YAAaizC,GAA4B,KAGzC4C,EAAWr4G,QAGX,oBAAK+1B,IAAKqgF,EAAW1gE,UAAW,GAAOC,WAAS,YAC9C,mBAAKD,UAAW,GAAO,sBAAoB,UACxCiiE,GAAkBD,GACjB,UAACpD,GAAO,MACFsD,EAAY,CAChB9oG,MAAK,SAAO8oG,EAAa9oG,OAAK,CAAE+Q,MAAO81F,EAAW,IAAM,OAAG,YAE3D,uBAAQjgE,UAAW,GAAO,mBAAiB,YACzC,kBAAIA,UAAW,GAAO,oBAAkB,UACrC8+D,GAAekD,EAAY,wBAE9B,kBAAGhiE,UAAW,GAAO,qBAAmB,wBAC3BgiE,EAAY,4BAI3B,mBAAIhiE,UAAW,GAAO,iBAAe,YACnC,2BACE,4DAC8B,IAC3By8D,GACCuF,EAAY,sBAAwB,KACnC,IAAG,uBAEE,IAAG,SACNA,EAAY,cAAcv7C,iBAAgB,QAEnD,2BACE,4DAC8B,IAC3Bg2C,GACCuF,EAAY,uBAAyB,KACpC,IAAG,MACFzF,GAAeoD,GAAe,cAC1B,IAAG,SACNqC,EAAY,wBAAwBv7C,iBAAgB,QAG7D,yBACE,6CACe,IACZ20C,GAAY4G,EAAY,sCAK/B,SAEN,oBAAKhiE,UAAW,GAAOsrB,MAAI,YACzB,uBAAI,UACFo3C,EACI,UAAG5D,GACD4D,EAAgB,oBACjB,8EACkB/G,GACvB+G,EAAgB,yBACjB,8CAAsCA,EAC/B,cACAj8C,iBAAgB,iDAAyCg2C,GACzDiG,EAAgB,sBAAwB,KACzC,2DAAmD/C,EAAc,uBAAe+C,EAC/E,wBACAj8C,iBAAgB,iDAAyCg2C,GACzDiG,EAAgB,uBAAyB,KAC1C,eAAO/C,EAAc,eACtB,IAAE,OACLA,EAAc,8HACoCA,EAAc,4FAEnE,wBACGl0G,EACEi1C,QACC,SAACqf,GACC,OAAAA,EAAI,yBAA2B,KAC/BA,EAAI,eAAiB,GADrB,IAGHlX,MACC,SAAC/8C,EAAGC,GACF,OAAAA,EAAE,wBAA0BD,EAAE,uBAA9B,IAEH7B,KAAI,SAAC81D,GAAQ,OACZ,wBACG,UAAG++C,GACF/+C,EAAI,oBACL,kDAA0CA,EACzC,cACA0G,iBAAgB,iDAAyCg2C,GACzD18C,EAAI,sBAAwB,KAC7B,6DAAqD4/C,EAAc,uBAAe5/C,EACjF,wBACA0G,iBAAgB,iDAAyCg2C,GACzD18C,EAAI,uBAAyB,KAC9B,eAAO4/C,EAAc,cAXf5/C,EAAI,mBADD,WAiBpB,oBACE/f,UAAW,GAAOmjE,MAClBz4C,QAAS,cAAOvgD,EAAQm2F,EAAU,YAChCl2F,EA9PM,IA8PiBg2F,GACvB,iBAEF//E,IAAKsgF,GAAM,YAEX,2BACE,uBAAQj3G,GAAG,iBAAiB4qB,EAAE,IAAI6J,EAAE,IAAIhU,MAAM,IAAIC,OAAO,KAAG,YAC1D,oBAASg5F,WAAW,QAAQ1mE,OAAO,QACnC,gCACE,wBAAa2mE,GAAG,QAChB,wBAAaA,GAAG,sBAElB,wBAAaA,GAAG,yBAIpB,kBACE90D,UAAW,oBAAa+xD,EAAU,YAAIF,EAAgB,KACtDpgE,UAAW,GAAa,MAAC,YAEzB,oBACEA,UAAW,GAAO,cAClBuO,UAAW,wBAAiB8xD,EAAgB,MAAG,UAE9Cf,GAAO,CAAC,8BAA+B,qBAG1C,iBACEgE,GAAI,EACJC,GAAI,EACJC,GAzRG,GA0RHC,GAAIr5F,EACJ41B,UAAW,GAAO,eAGnB+iE,EAAOh8C,MAAM,GAAG98D,KAAI,SAACuiD,GACpB,IAAMruB,EAAI4kF,EAAOv2D,GACjB,OACE,kBAEE+B,UAAW,wBAAiBpwB,EAAC,KAC7BulF,WAAW,MACX1jE,UAAW,GAAa,MAAC,YAEzB,oBAAM1rB,GAAI,GAAI6J,EAAG5e,KAAKi7C,MAAM+lD,EAAuB,IAAE,UAClD/zD,EAAKia,qBAER,iBACEztD,YAAY,IACZgnC,UAAW,GAAO,iBAClBsjE,GAAI,EACJC,GAAI,GACJC,GAAG,IACHC,GAAG,SAdAj3D,EAkBX,SAGF,kBACE+B,UAAW,oBAAakyD,EAAcH,EAAU,8BAC7C,GAAKyC,EAAO1D,IAAyBe,EAAgB,MAAG,YAE3D,gBACE7xD,UAAU,oBACVvO,UAAW,GAAO,gBAClB51B,OAAQ81F,EAAU,GAAK,GACvB/1F,MAAO+1F,EAAU,GAAK,GACtB/wG,UAAU,iBAEZ,oBACEu0G,WAAW,MACX1jE,UAAW,GACT,GAAO,eACP,GAAO,4BACR,UAEAs/D,GAAO,CACN,oBACA,gBACA,6BAIN,kBACE/wD,UAAW,oBAAakyD,EAAcH,EAAU,gCACtCyC,EAAO1D,IAAb,GAAsCe,EAAgB,MAAG,YAE7D,oBACEsD,WAAW,MACX1jE,UAAW,GACT,GAAO,eACP,GAAO,4BACR,UAEAs/D,GAAO,CACN,oBACA,eACA,yBAGJ,gBACE/wD,UAAU,+BACVvO,UAAW,GAAO,gBAClB51B,OAAQ81F,EAAU,GAAK,GACvB/1F,MAAO+1F,EAAU,GAAK,GACtB/wG,UAAU,qBAId,kBACEo/C,UAAW,oBAAa+xD,EAAU,aAChCl2F,EAASg2F,EAAgB,KAE3BpgE,UAAW,GAAa,MAAC,YAEzB,oBACEA,UAAW,GAAO,cAClB0jE,WAAW,MACXn1D,UAAW,oBAAapkC,EAAQ04F,EAAY,UAAO,UAElDvD,GAAO,CACN,0BACA,UAAGK,EAAc,+BAIrB,iBACErrF,EAAG,EACHgvF,GAAIn5F,EAAQ04F,EACZ7iE,UAAW,GAAO,eAEnB8iE,EAAO/7C,MAAM,GAAG98D,KAAI,SAACuiD,GACpB,IAAMl4B,EAAIwuF,EAAOt2D,GACjB,OACE,kBAEE+B,UAAW,oBAAaj6B,EAAC,QACzBovF,WACEpvF,EAAI,GAAK,QAAUA,EAAInK,EAAQ,IAAM,MAAQ,SAE/C61B,UAAW,GAAa,MAAC,YAEzB,oBAAM7hB,EAAE,MAAI,UAAEquB,EAAKia,qBACnB,iBACEztD,YAAY,IACZgnC,UAAW,GAAO,iBAClBsjE,GAAG,IACHhvF,EAAE,IACFkvF,GAAG,IACHC,GAAG,UAdAj3D,EAkBX,SAGF,kBACE+B,UAAW,uCACN,GAAKu0D,EAAOzD,IAAyBiB,EAAU,+BAChDl2F,EAASg2F,EAAmB,GAAE,MAAG,YAErC,gBACE7xD,UAAU,kCACVvO,UAAW,GAAO,gBAClB51B,OAAQ81F,EAAU,GAAK,GACvB/1F,MAAO+1F,EAAU,GAAK,GACtB/wG,UAAU,iBAEZ,oBACEu0G,WAAW,MACX1jE,UAAW,GACT,GAAO,eACP,GAAO,4BACR,UAEAs/D,GAAO,CACN,oBACA,yBACA,aAAMK,aAIZ,kBACEpxD,UAAW,oBACT,GAAKu0D,EAAOzD,IAAyBiB,EAAU,aAC5Cl2F,EAASg2F,EAAmB,GAAE,MAAG,YAEtC,gBACE7xD,UAAU,gCACVvO,UAAW,GAAO,gBAClB51B,OAAQ81F,EAAU,GAAK,GACvB/1F,MAAO+1F,EAAU,GAAK,GACtB/wG,UAAU,iBAEZ,oBACEu0G,WAAW,QACX1jE,UAAW,GACT,GAAO,eACP,GAAO,4BACR,UAEAs/D,GAAO,CACN,oBACA,0BACA,aAAMK,EAAc,eAM1B,iBAAGpxD,UAAW,oBAAa+xD,EAAU,QAAK,WACxC,iBACEtgE,UAAW,GAAO,0BAClB1rB,EAAGwuF,EAAOzD,IAhdN,EAidJl1F,MAAO24F,EAAO5D,KAjdV,EAkdJ/gF,EACEiiF,EAAmB2C,EAAO1D,IAndxB,EAqdJj1F,OACEA,EAAS24F,EAAO1D,IAAyB,QAM/C,iBACEr/D,UAAW,GAAO,eAClBsjE,GAAIR,EAAOzD,IAAyBiB,EACpCiD,GAAIT,EAAOzD,IAAyBiB,EACpCkD,GAAIT,EAAO7D,IAAYkB,EACvBqD,GAAI,IAAMr5F,EAASg2F,EACnBxnG,gBAAgB,SAIlB,iBACEonC,UAAW,GAAO,eAClBsjE,IAAK,IAAMhD,EACXiD,GAAIT,EAAO5D,IAAYoB,EACvBkD,GAAIT,EAAO1D,IAAyBe,EACpCqD,GAAIV,EAAO1D,IAAyBe,EACpCxnG,gBAAgB,SAIlB,iBAAG21C,UAAW,oBAAa+xD,EAAU,YAAIF,EAAgB,MAAG,UACzDuC,EAAW14G,KAAI,SAACmD,GACf,IFnfRu2G,EACApE,EACFC,EEifgBlrF,EAAIwuF,EAAO11G,EAAE,yBACb+wB,EAAI4kF,EAAO31G,EAAE,eAEb82F,EAAa92F,EAAE,qBAAuByyG,EAGtC+D,EAAW9E,GAAe1xG,EAAE,oBAC5By2G,GF1fdF,GE0fmCC,GAAY,IF1flC31G,MAAM,KACnBsxG,EAAQ,GACVC,EAAO,GAEXmE,EAAMz1G,SAAQ,SAAC41G,GACTtE,EAAKl1G,OAASw5G,EAAKx5G,OEqfgC,GFpfrDk1G,GAAQ,WAAIsE,IAEZvE,EAAM/1G,KAAKg2G,GACXA,EAAOsE,EAEX,IAEAvE,EAAM/1G,KAAKg2G,GE6ekD,GF3erBD,EAAMj1G,SAC5Ci1G,EAAMwE,GAAsB,UAAGxE,EAAMwE,GAAoBv1G,MACvD,EACAw1G,IACD,KACDzE,EAAMj1G,OEseqD,GFnetDi1G,GEoea0E,EAAUrB,EAAkBx1G,EAAE,yBAE9B82G,EAAa92G,EAAE,wBAGf+2G,EAFY/2G,EAAE,cAGNiyG,IACZ6E,EAAa7E,GACT,gBACA6E,EAAa7E,GACb,eACA,gBAEA+E,EACHh3G,EAAE,yBAA2B,QAC1Bw2G,GAAYA,EAASt5G,QAAU,IAClC8C,EAAE,yBAA2B,OAC1Bw2G,GAAYA,EAASt5G,QAAU,KAClC8C,EAAE,yBAA2B,QAC1Bw2G,GAAYA,EAASt5G,QAAU,IAErC,OACE,kBACE01C,UAAW,GACT,GAAOqkE,OACP,GAAOF,GACPjgB,GAAc,GAAO,oBAEvB31C,UAAW,oBAAaj6B,EAAC,OAEzBwY,QAAS,WACPgzE,EAAgB1yG,EAAE,mBACpB,EACAk3G,aAAc,SAAC/2F,GACbs0F,EAAYt0F,EAAOngB,EACrB,EACAm3G,YAAa,SAACh3F,GACZu0F,EAAYv0F,EACd,EACAi3F,aAAc,WACZzC,GACF,GAAC,WAEA7d,GACC,iBAAGlkD,UAAW,GAAO,sBAAoB,WACvC,oBACEU,OAAO,uBACP6N,UAAW,oBACT61D,EAAgBtB,EAAO5D,IAAY5qF,EAAI,EAAC,aACrC6J,EAAI8lF,EAAO,KAChBP,WAAYU,EAAgB,MAAQ,SACpCpkE,UAAW,GAAO,iBAAe,UAEhC6jE,EAAc55G,KAAI,SAACu1G,EAAMh1G,GAAM,OAC9B,qBAAe8pB,EAAG,EAAGmrF,GAAG,UAAQ,UAC7BD,IADSh1G,EADkB,UAOlC,MAEJ,mBACEw1C,UAAW,GAAO,iBAClB9hB,EAAG+lF,EACHf,GAAI/kF,OApCD,UAAG/wB,EAAE,wBAAuB,YAAIA,EAAE,oBAwC7C,QAKF,kBAAGmhD,UAAW,oBAAa+xD,EAAU,YAAIF,EAAgB,MAAG,WACzDgC,GACC,kBACE7zD,UAAW,oBACTu0D,EAAO5D,KACNiB,EAAUf,GAAkBD,IAAmB,SAElDn/D,UAAW,GAAO,qBAAmB,YAErC,iBACE8lB,KAAK,QACLxxC,GAAI,EACJ6J,EAAG,EACHhU,MAAOg2F,EAAUf,GAAkBD,GACnC/0F,OAAQ+1F,EAAU,IAAM,IACxBngE,UAAW,GAAO,0BAEpB,oBACEuO,UAAU,mBACVvO,UAAW,GAAO,0BAAwB,gDAK5C,MAEJ,kBACEA,UAAW,GAAO,kBAClBuO,UAAW,wCAEP,GACAu0D,EAAO5D,KACNiB,EAAUf,GAAkBD,IAAmB,2BAGpDmF,aAAc,WACZjC,GAAoC,EACtC,EACAmC,aAAc,WACZnC,GAAoC,EACtC,GAAC,YAED,oBAAM/tF,EAAG,GAAI6J,EAAG,GAAI6hB,UAAW,GAAO,wBAAsB,sCAG5D,gBACEA,UAAW,GAAO,uBAClB51B,OAAQ81F,EAAU,GAAK,GACvB/1F,MAAO+1F,EAAU,GAAK,GACtB/wG,UAAU,sBAIbmzG,GACC,kBACE/zD,UAAW,oBACTu0D,EAAO5D,KACNiB,EAAUf,GAAkBD,IAAmB,aAC7C,EAAI4D,EAAO1D,IAAsB,KACtCr/D,UAAW,GAAO,qBAAmB,YAErC,iBACE8lB,KAAK,QACLxxC,GAAI,EACJ6J,EAAG,EACHhU,MAAOg2F,EAAUf,GAAkBD,GACnC/0F,OAAQ+1F,EAAU,IAAM,IACxBngE,UAAW,GAAO,0BAEpB,oBACEuO,UAAU,mBACVvO,UAAW,GAAO,0BAAwB,UAEzCs/D,GACC,CACE,gCACA,cAAOK,GACP,2BAEF,gBAIJ,MAEJ,kBACE3/D,UAAW,GAAO,kBAClBuO,UAAW,sCAET,GACAu0D,EAAO5D,KACNiB,EAAUf,GAAkBD,IAAmB,+BAEhD,GAAK4D,EAAO1D,IAAsB,qBAEpCiF,aAAc,WACZ/B,GAAuC,EACzC,EACAiC,aAAc,WACZjC,GAAuC,EACzC,GAAC,YAED,oBAAMjuF,EAAG,GAAI6J,EAAG,GAAI6hB,UAAW,GAAO,wBAAsB,qCAG5D,gBACEA,UAAW,GAAO,uBAClB51B,OAAQ81F,EAAU,GAAK,GACvB/1F,MAAO+1F,EAAU,GAAK,GACtB/wG,UAAU,sBAIbqzG,GACC,kBACEj0D,UAAW,uBACT,EAAIw0D,EAAO1D,IAAsB,MAEnCr/D,UAAW,GAAO,qBAAmB,YAErC,iBACE8lB,KAAK,MACLxxC,EAAG,EACH6J,EAAG,EACHhU,MAAOg2F,EAAUf,GAAkBD,GACnC/0F,OAAQ+1F,EAAU,IAAM,IACxBngE,UAAW,GAAO,0BAEpB,oBACEuO,UAAU,mBACVvO,UAAW,GAAO,0BAAwB,UAEzCs/D,GACC,CACE,gCACA,cAAOK,GACP,6BAEF,gBAIJ,MAEJ,kBACE3/D,UAAW,GAAO,kBAClBuO,UAAW,wBAAiB,GAAKw0D,EAAO1D,IAAsB,yBAE9DiF,aAAc,WACZ7B,GAAsC,EACxC,EACA+B,aAAc,WACZ/B,GAAsC,EACxC,GAAC,YAED,oBAAMnuF,EAAG,GAAI6J,EAAG,GAAI6hB,UAAW,GAAO,wBAAsB,iCAG5D,gBACEA,UAAW,GAAO,uBAClB51B,OAAQ81F,EAAU,GAAK,GACvB/1F,MAAO+1F,EAAU,GAAK,GACtB/wG,UAAU,mCAnlBpB,SAAC0vG,GAAM,MA4lBf,gBE3vBI,GAAU,CAAC,EAEf,GAAQngE,kBAAoB,IAC5B,GAAQL,cAAgB,IAElB,GAAQN,OAAS,SAAc,KAAM,QAE3C,GAAQT,OAAS,IACjB,GAAQmB,mBAAqB,IAEhB,IAAI,KAAS,IAKnB,SAAe,MAAW,KAAQ90C,OAAS,KAAQA,YAASmB,yNCT5D,SAAS25G,GAAe,SAC7Bh5G,EAAI,OACJk0G,EAAc,iBACdE,EAAO,UACP6E,EAAc,iBACd5E,EAAe,kBAET6E,EAAel5G,EAAKo9C,MAAK,SAAC/8C,EAAGC,GAAM,OAAAA,EAAE64G,MAAQ94G,EAAE84G,KAAZ,IAAmBp2G,MAAM,EAAG,IAE/Dq2G,EAAWtlG,KAAKg7C,IAAG,MAARh7C,KAAYolG,EAAa16G,KAAI,SAAC81D,GAAQ,OAAAA,EAAI6kD,KAAJ,KAEjDt0G,EAAWiE,MAAMosC,KAAKpsC,MAAMowG,EAAar6G,QAAQiP,QAEjD8vE,EAAU,wCAEhB,OACE,oBAAKrpC,UAAW,GAAO8kE,MAAI,YACzB,SAACxG,GAAW,IACVpzC,MAAO,+CAAwCy0C,GAC/Ct2B,QAASA,EACTvc,YAAa,UAEZ,QAFe,EAAAgyC,GACde,UACD,eAAE1xG,cAAa,uBAAe0xG,EAAO,MAAG,WAEzC,SAAC/U,GAAM,CACLd,MAAM,UACNzJ,MAAOmkB,EAAez6G,KAAI,SAACy1C,GAAM,OAC/BrsC,MAAOqsC,EACPsqD,MAAO8U,GAAep/D,EAAG,IAFM,IAIjCrsC,MAAOwsG,EACPvzC,SAAU,SAACj5D,GACTysG,EAAgBzsG,EAClB,OAIFsxG,EAAar6G,QAGb,iCACE,sBAAO01C,UAAW,GAAO+kE,MAAK,kBAAmB17B,GAAO,YACtD,4BACE,2BACE,qCACA,sCACA,sCAEE,kBAAM,4BAKZ,2BACG/4E,EAASrG,KAAI,SAAC6/C,EAAGnpB,GAChB,IAAMo/B,EAAM4kD,EAAahkF,GAEzB,OACE,2BACE,kBAAIqf,UAAW,GAAO,gBAAc,WAClC,kBAAGA,UAAW,GAAO,wBAAsB,YACzC,oBAAMA,UAAW,GAAOrf,MAAK,4BAC1BA,EAAQ,KACH,KACR,oBAAMqf,UAAW,GAAO,qBAAmB,UACxCi8D,GAAsBl8C,EAAI,4BAIjC,kBAAI/f,UAAW,GAAO,cAAY,WAChC,oBAAKA,UAAW,GAAO,wBAAsB,YAC3C,mBAAKA,UAAW,GAAO,wBAAsB,WAC3C,gBACEA,UAAW,GAAO,aAClB5mC,MACE,CACE,UAAWmG,KAAKi7C,MACbuF,EAAI6kD,MAAQC,EAAY,YAMnC,iBAAG7kE,UAAW,GAAO,eAAa,UAC/Bo7D,GAAYr7C,EAAI6kD,kBAIvB,kBAAI5kE,UAAW,GAAO,gBAAc,UACjCy8D,GAAiB18C,EAAI,0BAA4B,UA/B7Cp/B,EAmCb,WAGJ,mBAAKqf,UAAW,GAAOl2C,MAAI,UACxBwG,EAASrG,KAAI,SAAC6/C,EAAGnpB,GAChB,IAAMo/B,EAAM4kD,EAAahkF,GAEzB,OACE,oBAAiBqf,UAAW,GAAO,aAAW,YAC5C,kBAAGA,UAAW,GAAO,cAAY,YAC/B,oBAAMA,UAAW,GAAOrf,OAAK,UAAGA,EAAQ,MACxC,oBAAMqf,UAAW,GAAO,gBAAc,UACnCi8D,GAAsBl8C,EAAI,yBAG/B,oBAAK/f,UAAW,GAAO,cAAY,YACjC,iBAAGA,UAAW,GAAO,gBAAc,6BACnC,oBAAKA,UAAW,GAAO,wBAAsB,YAC3C,mBAAKA,UAAW,GAAO,wBAAsB,WAC3C,gBACEA,UAAW,GAAO,aAClB5mC,MACE,CACE,UAAWmG,KAAKi7C,MACbuF,EAAI6kD,MAAQC,EAAY,YAMnC,iBAAG7kE,UAAW,GAAO,eAAa,UAC/Bo7D,GAAYr7C,EAAI6kD,mBAIvB,kBAAG5kE,UAAW,GAAO,gBAAc,WAChCy8D,GAAiB18C,EAAI,0BAA4B,KAAI,2BA5BhDp/B,EAiCd,WAhGJ,SAACk+E,GAAM,OAsGf,gBClJI,GAAU,CAAC,EAEf,GAAQngE,kBAAoB,IAC5B,GAAQL,cAAgB,IAElB,GAAQN,OAAS,SAAc,KAAM,QAE3C,GAAQT,OAAS,IACjB,GAAQmB,mBAAqB,IAEhB,IAAI,KAAS,IAKnB,SAAe,MAAW,KAAQ90C,OAAS,KAAQA,YAASmB,yNCP7Dk6G,GhBgKC,SAAyBtwG,GAC9B,IAAM4oG,EAAgBD,GACpB3oG,EAAQ+2D,MAAK,SAAC/rB,GAAM,MAAoB,QAApBA,EAAEvxC,aAAF,IAChBiwG,GACAH,GACJvpG,GAEF,OAAO8oG,GAAYF,EAAe5oG,EAAS2pG,GAAeP,GAC5D,CgBxKqBmH,CAAgB,IAE/BhI,GAAS,CACb,CAAEtrG,KAAM,eACR,CAAEA,KAAM,QACR,CAAEA,KAAM,mBACR,CACEA,KAAM,uBACN+nD,OAAQ,SAACrmD,GAAkB,OAAAumD,SAASvmD,EAAT,GAE7B,CACE1B,KAAM,uBACN+nD,OAAQ,SAACrmD,GAAkB,OAAAumD,SAASvmD,EAAT,GAE7B,CACE1B,KAAM,aACN+nD,OAAQ,SAACrmD,GAAkB,OAAAumD,SAASvmD,EAAT,GAE7B,CACE1B,KAAM,sBACN+nD,OAAQ,SAACrmD,GAAkB,OAAAg8E,WAAWh8E,EAAX,GAE7B,CACE1B,KAAM,qBACN+nD,OAAQ,SAACrmD,GAAkB,OAAAg8E,WAAWh8E,EAAX,IAUzB6xG,GAAkB,CACtB,CAAEvzG,KAAM,gBACR,CAAEA,KAAM,QACR,CAAEA,KAAM,mBACR,CACEA,KAAM,QACN+nD,OAAQ,SAACrmD,GAAkB,OAAAumD,SAASvmD,EAAT,GAE7B,CACE1B,KAAM,yBACN+nD,OAAQ,SAACrmD,GAAkB,OAAAg8E,WAAWh8E,EAAX,IAUzB8xG,GAAmB,CACvB,CAAExzG,KAAM,eACR,CAAEA,KAAM,QACR,CACEA,KAAM,6DACN+nD,OAAQ,SAACrmD,GAAkB,OAAAg8E,WAAWh8E,EAAX,GAE7B,CACE1B,KAAM,iDACN+nD,OAAQ,SAACrmD,GAAkB,OAAAg8E,WAAWh8E,EAAX,IC9EzB,GAAK,UAAG,0CAAqB,yBAC7B4sC,GAAYvzC,SAAS04G,eAAe,IAE1C,IAAKnlE,GACH,MAAM,IAAIrvC,MAAM,6CAAsC,GAAE,OAG7C,OAAWqvC,IACnBnuC,QACH,SAACuzG,EAAa,WACZ,UD8EG,iBAECt6B,EAAW,wBACXu6B,EAFO74C,KAEQse,IAAa,CAAC,EAE7B,GAAkB,IAAA5jD,UAAoB,IAArC17B,EAAI,KAAEgpF,EAAO,KACd,GAAoC,IAAAttD,UAA6B,IAAhEo+E,EAAa,KAAEC,EAAgB,KAChC,GAAsC,IAAAr+E,UAA8B,IAAnEs+E,EAAc,KAAEC,EAAiB,KAClC,GAAoC,IAAAv+E,WAAS,GAA5Cw+E,EAAa,KAAEC,EAAgB,KAChC,GAA8C,IAAAz+E,WAAS,GAAtD0+E,EAAkB,KAAEC,EAAqB,KAE1C,EAAgD75C,GACpD,MACA,IAFa85C,EAAO,QAAYC,EAAe,WAK3CC,EAAiB,IAAI95G,IAC3BV,EAAKyC,SAAQ,SAAC6xD,GACZkmD,EAAe15G,IAAIwzD,EAAImmD,KACzB,IACA,IAAMC,EAAc16G,EAAKnB,OACrBiK,MAAMosC,KAAKslE,GAAgBp9D,MAAK,SAAC/8C,EAAGC,GAAM,OAAA6tD,SAAS7tD,GAAK6tD,SAAS9tD,EAAvB,IAC1C,GAEE,EAA0CmgE,GAC9C,OACAk6C,GAFatlD,EAAI,QAAYulD,EAAY,WAKrCC,EAAmB,IAAIl6G,IAC7BV,EAAKyC,SAAQ,SAAC6xD,GACZsmD,EAAiB95G,IAAIwzD,EAAI,eAAe5xD,cAC1C,IACA,IAAMm4G,EAAgB76G,EAAKnB,OACvBiK,MAAMosC,KAAK0lE,GAAkBx9D,MAAK,SAAC/8C,EAAGC,GAAM,OAAAD,EAAEsxG,cAAcrxG,EAAhB,IAC5C,GACEw6G,EhBXD,SAAwB7xG,GAC7B,IAAM4oG,EAAgBD,GAAYM,GAAiBjpG,GACnD,OAAO8oG,GAAYF,EAAe5oG,EAASqoG,GAC7C,CgBQsByJ,CAAeF,GAE7B,EAA8Cr6C,GAClD,SACAq6C,GAFa1G,EAAM,QAAY6G,EAAc,WAKzC9B,EAAel5G,EAClBi1C,QACC,SAACtzC,GAAM,OAAAA,EAAE,eAAee,gBAAkByxG,GAAUxyG,EAAQ,OAAMyzD,CAA3D,IAKRhY,MAAK,SAAC/8C,EAAGC,GAAM,OAAAA,EAAE,wBAA0BD,EAAE,uBAA9B,IAEZ46G,EAAoB,IAAIv6G,IAC9Bw4G,EAAaz2G,SAAQ,SAAC6xD,GACpB2mD,EAAkBn6G,IAAIwzD,EAAI,mBAC5B,IACA,IAAM2kD,EAAiBj5G,EAAKnB,OACxBiK,MAAMosC,KAAK+lE,GAAmB79D,MAAK,SAAC/8C,EAAGC,GAAM,OAAAD,EAAEsxG,cAAcrxG,EAAhB,IAC7C,GAEE,EAAgDkgE,GACpD,UACAy4C,EAHoC,QAAf,EAAAC,EAAa,UAAE,eAAG,oBAC1B9E,EAAO,QAAYC,EAAe,YAMjD,IAAAl5E,YAAU,WACRg/E,GAAiB,GACjB,GACE,UACE,wCAA4B,uCACCG,EAAO,SAErCtvF,MAAK,SAAChrB,GACLgpF,EAtHC3yB,GAsHmBr2D,EAtHFwxG,IAuHpB,IACCvmF,OAAM,SAACrpB,GACN46B,QAAQC,MAAM76B,GACdonF,EAAQ,GACV,IACCkyB,SAAQ,WACPf,GAAiB,EACnB,GACJ,GAAG,CAACG,KAEJ,IAAAn/E,YAAU,WACRk/E,GAAsB,GAClBlG,GACF,GACE,UACE,wCAA4B,iDACWmG,EAAO,YAAInG,EAAM,SAEzDnpF,MAAK,SAAChrB,GACL+5G,EAtHD1jD,GAsHuCr2D,EAtHtBy5G,IAuHlB,IACCxuF,OAAM,SAACrpB,GACN46B,QAAQC,MAAM76B,GACdm4G,EAAiB,GACnB,IACCmB,SAAQ,WACPb,GAAsB,EACxB,GAEN,GAAG,CAACC,EAASnG,KAEb,IAAAh5E,YAAU,WACR,GACE,UACE,wCAA4B,kDACYm/E,EAAO,SAEhDtvF,MAAK,SAAChrB,GACLi6G,EAtHC5jD,GAsHuCr2D,EAtHtB05G,IAuHpB,IACCzuF,OAAM,SAACrpB,GACN46B,QAAQC,MAAM76B,GACdq4G,EAAkB,GACpB,GACJ,GAAG,CAACK,IAEJ,IAAMa,EAAwBrB,EAAc7kE,QAC1C,SAACtzC,GAAM,OAAAA,EAAQ,OAAMyzD,GAAQzzD,EAAE,qBAAuByyG,CAA/C,IAGHF,EAAiB1D,GAAsB8J,GAEvCc,EAAoBpB,EAAellE,MACvC,SAACnzC,GAAM,OAAAA,EAAE,eAAee,gBAAkByxG,GAAUxyG,EAAQ,OAAMyzD,CAA3D,IAGLimD,OAAqBh8G,EACrBi8G,OAAaj8G,EAEjB,GAAI+7G,EAAmB,CACrB,IAAMG,EAAkBvK,GACtBoK,EACE,8DACE,KAEAI,EAAgBxK,GACpBoK,EAAkB,kDAAoD,KAElEK,EAAcjL,GAAsB8J,GACpCoB,EAAavK,GAAqBgD,GAAQzxG,cAEhD24G,EACED,GAA8C,QAAzBjH,EAAOtxG,cACxB,UAAG04G,EAAe,mBAAWzK,GAC3B2K,GACD,uCAA+BrmD,EAAI,UACpC/1D,EAENi8G,EACEF,GAA8C,QAAzBjH,EAAOtxG,cACxB,UAAG04G,EAAe,eAAOzK,GACvB2K,GACD,2BAAmBC,EAAU,+CAAuCF,EAAa,uBAAe1K,GAC/F2K,GACD,uBAAermD,EAAI,UACpB/1D,EAGR,OACE,UAACwgF,GAAa,IACZzgB,SAAUy6C,EAAQz6C,SAClBC,IAAKw6C,EAAQx6C,IACbygB,cAAc,OACdE,eAAgBV,EAChB/f,UAAW26C,GAAiBE,EAC5Br6B,SACE,iCACE,SAACsf,GAAM,CACLd,MAAM,UACNzJ,MAAOykB,GACP3xG,MAAO0yG,EACPrsD,OAAO,cACP4S,SAAU,SAACj5D,GACT2yG,EAAgB3yG,EAClB,KAEF,SAACy3F,GAAM,CACLd,MAAM,SACNzJ,MAAOgmB,EACPlzG,MAAOusG,EACPlmD,OAAO,cACP4S,SAAU,SAACj5D,GACTozG,EAAepzG,EACjB,KAEF,SAACy3F,GAAM,CACLd,MAAM,OACNzJ,MAAO4lB,EAAYl8G,KAAI,SAACy1C,GAAM,OAAGrsC,MAAOqsC,EAAV,IAC9BrsC,MAAOwtD,EACPnH,OAAO,cACP4S,SAAU,SAACj5D,GAAU,OAAA+yG,EAAa/yG,EAAb,QAEtB,YAGL,oBAAK2sC,UAAW,GAAO,sBAAoB,YACzC,mBAAKA,UAAW,GAAO,iBAAe,WACpC,SAAC0/D,GAAW,CACVj0G,KAAMk5G,EACNhF,eAAgBA,EAChBC,OAAQA,EACRC,QAASA,EACTC,gBAAiBA,EACjBC,yBAA0B+G,GAAsBC,QAIpD,mBAAK/mE,UAAW,GAAO,oBAAkB,WACvC,UAACoqB,GAAQ,IAACzvC,KAAK,aAAW,YACxB,0BACE,+BAAY,koBAYd,kFAKN,mBAAKqlB,UAAW,GAAO,oBAAkB,WACvC,SAACykE,GAAc,CACbh5G,KAAMm7G,EACNjH,eAAgBA,EAChBE,QAASA,EACT6E,eAAgBA,EAChB5E,gBAAiBA,QAIrB,mBAAK9/D,UAAW,GAAO,oBAAkB,WACvC,UAACoqB,GAAQ,IAACzvC,KAAK,aAAW,YACxB,saASA,gFAKV,GChVQ","sources":["webpack://mckinsey-global-flows/webpack/runtime/create fake namespace object","webpack://mckinsey-global-flows/./src/components/AboutBlock/styles.module.scss","webpack://mckinsey-global-flows/./src/components/ChartHeader/styles.module.scss","webpack://mckinsey-global-flows/./src/components/ControlsBar/styles.module.scss","webpack://mckinsey-global-flows/./src/components/EndNotes/styles.module.scss","webpack://mckinsey-global-flows/./src/components/ErrorBoundary/styles.module.scss","webpack://mckinsey-global-flows/./src/components/FooterCTA/styles.module.scss","webpack://mckinsey-global-flows/./src/components/Menu/styles.module.scss","webpack://mckinsey-global-flows/./src/components/NoData/styles.module.scss","webpack://mckinsey-global-flows/./src/components/PageContainer/styles.module.scss","webpack://mckinsey-global-flows/./src/components/PageTopper/styles.module.scss","webpack://mckinsey-global-flows/./src/components/Select/styles.module.scss","webpack://mckinsey-global-flows/./src/components/Tooltip/styles.module.scss","webpack://mckinsey-global-flows/./src/pages/product-concentration/BubbleChart/styles.module.scss","webpack://mckinsey-global-flows/./src/pages/product-concentration/SuppliersChart/styles.module.scss","webpack://mckinsey-global-flows/./src/pages/product-concentration/styles.module.scss","webpack://mckinsey-global-flows/./node_modules/css-loader/dist/runtime/api.js","webpack://mckinsey-global-flows/./node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://mckinsey-global-flows/./node_modules/react-dom/cjs/react-dom.production.min.js","webpack://mckinsey-global-flows/./node_modules/react-dom/client.js","webpack://mckinsey-global-flows/./node_modules/react-dom/index.js","webpack://mckinsey-global-flows/./node_modules/react/cjs/react-jsx-runtime.production.min.js","webpack://mckinsey-global-flows/./node_modules/react/cjs/react.production.min.js","webpack://mckinsey-global-flows/./node_modules/react/index.js","webpack://mckinsey-global-flows/./node_modules/react/jsx-runtime.js","webpack://mckinsey-global-flows/./node_modules/scheduler/cjs/scheduler.production.min.js","webpack://mckinsey-global-flows/./node_modules/scheduler/index.js","webpack://mckinsey-global-flows/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://mckinsey-global-flows/./node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://mckinsey-global-flows/./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://mckinsey-global-flows/./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://mckinsey-global-flows/./node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://mckinsey-global-flows/./node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://mckinsey-global-flows/webpack/bootstrap","webpack://mckinsey-global-flows/webpack/runtime/compat get default export","webpack://mckinsey-global-flows/webpack/runtime/define property getters","webpack://mckinsey-global-flows/webpack/runtime/hasOwnProperty shorthand","webpack://mckinsey-global-flows/webpack/runtime/make namespace object","webpack://mckinsey-global-flows/webpack/runtime/nonce","webpack://mckinsey-global-flows/./src/components/ErrorBoundary/styles.module.scss?3ac8","webpack://mckinsey-global-flows/./src/components/ErrorBoundary/index.tsx","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selector.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selectorAll.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/matcher.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/selectChild.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/selectChildren.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/sparse.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/enter.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/data.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/sort.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/namespaces.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/namespace.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/attr.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/window.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/style.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/property.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/classed.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/text.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/html.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/raise.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/lower.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/creator.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/insert.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/remove.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/clone.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/on.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/dispatch.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/index.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/select.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/selectAll.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/array.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/filter.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/constant.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/exit.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/join.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/merge.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/order.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/call.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/nodes.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/node.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/size.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/empty.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/each.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/append.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/datum.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/selection/iterator.js","webpack://mckinsey-global-flows/./node_modules/d3-dispatch/src/dispatch.js","webpack://mckinsey-global-flows/./node_modules/d3-timer/src/timer.js","webpack://mckinsey-global-flows/./node_modules/d3-timer/src/timeout.js","webpack://mckinsey-global-flows/./node_modules/d3-transition/src/transition/schedule.js","webpack://mckinsey-global-flows/./node_modules/d3-interpolate/src/number.js","webpack://mckinsey-global-flows/./node_modules/d3-interpolate/src/transform/decompose.js","webpack://mckinsey-global-flows/./node_modules/d3-interpolate/src/transform/parse.js","webpack://mckinsey-global-flows/./node_modules/d3-interpolate/src/transform/index.js","webpack://mckinsey-global-flows/./node_modules/d3-transition/src/transition/tween.js","webpack://mckinsey-global-flows/./node_modules/d3-color/src/define.js","webpack://mckinsey-global-flows/./node_modules/d3-color/src/color.js","webpack://mckinsey-global-flows/./node_modules/d3-interpolate/src/basis.js","webpack://mckinsey-global-flows/./node_modules/d3-interpolate/src/constant.js","webpack://mckinsey-global-flows/./node_modules/d3-interpolate/src/color.js","webpack://mckinsey-global-flows/./node_modules/d3-interpolate/src/rgb.js","webpack://mckinsey-global-flows/./node_modules/d3-interpolate/src/basisClosed.js","webpack://mckinsey-global-flows/./node_modules/d3-interpolate/src/string.js","webpack://mckinsey-global-flows/./node_modules/d3-transition/src/transition/interpolate.js","webpack://mckinsey-global-flows/./node_modules/d3-transition/src/transition/attr.js","webpack://mckinsey-global-flows/./node_modules/d3-transition/src/transition/attrTween.js","webpack://mckinsey-global-flows/./node_modules/d3-transition/src/transition/delay.js","webpack://mckinsey-global-flows/./node_modules/d3-transition/src/transition/duration.js","webpack://mckinsey-global-flows/./node_modules/d3-transition/src/transition/selection.js","webpack://mckinsey-global-flows/./node_modules/d3-transition/src/transition/style.js","webpack://mckinsey-global-flows/./node_modules/d3-transition/src/transition/index.js","webpack://mckinsey-global-flows/./node_modules/d3-transition/src/transition/select.js","webpack://mckinsey-global-flows/./node_modules/d3-transition/src/transition/selectAll.js","webpack://mckinsey-global-flows/./node_modules/d3-transition/src/transition/filter.js","webpack://mckinsey-global-flows/./node_modules/d3-transition/src/transition/merge.js","webpack://mckinsey-global-flows/./node_modules/d3-transition/src/transition/transition.js","webpack://mckinsey-global-flows/./node_modules/d3-transition/src/transition/on.js","webpack://mckinsey-global-flows/./node_modules/d3-transition/src/transition/styleTween.js","webpack://mckinsey-global-flows/./node_modules/d3-transition/src/transition/text.js","webpack://mckinsey-global-flows/./node_modules/d3-transition/src/transition/textTween.js","webpack://mckinsey-global-flows/./node_modules/d3-transition/src/transition/remove.js","webpack://mckinsey-global-flows/./node_modules/d3-transition/src/transition/ease.js","webpack://mckinsey-global-flows/./node_modules/d3-transition/src/transition/easeVarying.js","webpack://mckinsey-global-flows/./node_modules/d3-transition/src/transition/end.js","webpack://mckinsey-global-flows/./node_modules/d3-transition/src/selection/transition.js","webpack://mckinsey-global-flows/./node_modules/d3-ease/src/cubic.js","webpack://mckinsey-global-flows/./node_modules/d3-transition/src/selection/index.js","webpack://mckinsey-global-flows/./node_modules/d3-transition/src/selection/interrupt.js","webpack://mckinsey-global-flows/./node_modules/d3-transition/src/interrupt.js","webpack://mckinsey-global-flows/./node_modules/d3-brush/src/brush.js","webpack://mckinsey-global-flows/./node_modules/d3-dsv/src/dsv.js","webpack://mckinsey-global-flows/./node_modules/d3-dsv/src/csv.js","webpack://mckinsey-global-flows/./node_modules/d3-dsv/src/tsv.js","webpack://mckinsey-global-flows/./node_modules/d3-fetch/src/text.js","webpack://mckinsey-global-flows/./node_modules/d3-fetch/src/dsv.js","webpack://mckinsey-global-flows/./node_modules/d3-array/src/ticks.js","webpack://mckinsey-global-flows/./node_modules/d3-array/src/ascending.js","webpack://mckinsey-global-flows/./node_modules/d3-array/src/descending.js","webpack://mckinsey-global-flows/./node_modules/d3-array/src/bisector.js","webpack://mckinsey-global-flows/./node_modules/d3-array/src/bisect.js","webpack://mckinsey-global-flows/./node_modules/d3-array/src/number.js","webpack://mckinsey-global-flows/./node_modules/d3-interpolate/src/array.js","webpack://mckinsey-global-flows/./node_modules/d3-interpolate/src/date.js","webpack://mckinsey-global-flows/./node_modules/d3-interpolate/src/object.js","webpack://mckinsey-global-flows/./node_modules/d3-interpolate/src/numberArray.js","webpack://mckinsey-global-flows/./node_modules/d3-interpolate/src/value.js","webpack://mckinsey-global-flows/./node_modules/d3-interpolate/src/round.js","webpack://mckinsey-global-flows/./node_modules/d3-scale/src/number.js","webpack://mckinsey-global-flows/./node_modules/d3-scale/src/continuous.js","webpack://mckinsey-global-flows/./node_modules/d3-scale/src/constant.js","webpack://mckinsey-global-flows/./node_modules/d3-scale/src/init.js","webpack://mckinsey-global-flows/./node_modules/d3-format/src/formatSpecifier.js","webpack://mckinsey-global-flows/./node_modules/d3-format/src/formatPrefixAuto.js","webpack://mckinsey-global-flows/./node_modules/d3-format/src/formatDecimal.js","webpack://mckinsey-global-flows/./node_modules/d3-format/src/exponent.js","webpack://mckinsey-global-flows/./node_modules/d3-format/src/formatRounded.js","webpack://mckinsey-global-flows/./node_modules/d3-format/src/formatTypes.js","webpack://mckinsey-global-flows/./node_modules/d3-format/src/identity.js","webpack://mckinsey-global-flows/./node_modules/d3-format/src/locale.js","webpack://mckinsey-global-flows/./node_modules/d3-format/src/defaultLocale.js","webpack://mckinsey-global-flows/./node_modules/d3-scale/src/linear.js","webpack://mckinsey-global-flows/./node_modules/d3-scale/src/tickFormat.js","webpack://mckinsey-global-flows/./node_modules/d3-format/src/precisionPrefix.js","webpack://mckinsey-global-flows/./node_modules/d3-format/src/precisionRound.js","webpack://mckinsey-global-flows/./node_modules/d3-format/src/precisionFixed.js","webpack://mckinsey-global-flows/./node_modules/d3-scale/src/pow.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/pointer.js","webpack://mckinsey-global-flows/./node_modules/d3-selection/src/sourceEvent.js","webpack://mckinsey-global-flows/./node_modules/d3-zoom/src/transform.js","webpack://mckinsey-global-flows/./node_modules/clsx/dist/clsx.m.js","webpack://mckinsey-global-flows/./node_modules/d3-format/src/formatGroup.js","webpack://mckinsey-global-flows/./node_modules/d3-format/src/formatNumerals.js","webpack://mckinsey-global-flows/./node_modules/d3-format/src/formatTrim.js","webpack://mckinsey-global-flows/./src/components/EndNotes/styles.module.scss?df8f","webpack://mckinsey-global-flows/./src/components/EndNotes/index.tsx","webpack://mckinsey-global-flows/./src/components/PageTopper/styles.module.scss?d96d","webpack://mckinsey-global-flows/./src/components/PageTopper/index.tsx","webpack://mckinsey-global-flows/./src/components/ControlsBar/styles.module.scss?dc79","webpack://mckinsey-global-flows/./src/components/ControlsBar/index.tsx","webpack://mckinsey-global-flows/./src/hooks/useFilter.ts","webpack://mckinsey-global-flows/./src/hooks/useUrls.ts","webpack://mckinsey-global-flows/./src/components/Menu/styles.module.scss?15e9","webpack://mckinsey-global-flows/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://mckinsey-global-flows/./node_modules/@radix-ui/primitive/dist/index.mjs","webpack://mckinsey-global-flows/./node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://mckinsey-global-flows/./node_modules/@radix-ui/react-context/dist/index.mjs","webpack://mckinsey-global-flows/./node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://mckinsey-global-flows/./node_modules/@radix-ui/react-id/dist/index.mjs","webpack://mckinsey-global-flows/./node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://mckinsey-global-flows/./node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs","webpack://mckinsey-global-flows/./node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://mckinsey-global-flows/./node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://mckinsey-global-flows/./node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs","webpack://mckinsey-global-flows/./node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs","webpack://mckinsey-global-flows/./node_modules/@radix-ui/react-focus-scope/dist/index.mjs","webpack://mckinsey-global-flows/./node_modules/@radix-ui/react-portal/dist/index.mjs","webpack://mckinsey-global-flows/./node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://mckinsey-global-flows/./node_modules/@radix-ui/react-focus-guards/dist/index.mjs","webpack://mckinsey-global-flows/./node_modules/tslib/tslib.es6.js","webpack://mckinsey-global-flows/./node_modules/react-remove-scroll-bar/dist/es2015/constants.js","webpack://mckinsey-global-flows/./node_modules/use-sidecar/dist/es2015/medium.js","webpack://mckinsey-global-flows/./node_modules/react-remove-scroll/dist/es2015/medium.js","webpack://mckinsey-global-flows/./node_modules/react-remove-scroll/dist/es2015/UI.js","webpack://mckinsey-global-flows/./node_modules/use-callback-ref/dist/es2015/useMergeRef.js","webpack://mckinsey-global-flows/./node_modules/use-callback-ref/dist/es2015/useRef.js","webpack://mckinsey-global-flows/./node_modules/use-callback-ref/dist/es2015/assignRef.js","webpack://mckinsey-global-flows/./node_modules/use-sidecar/dist/es2015/exports.js","webpack://mckinsey-global-flows/./node_modules/react-style-singleton/dist/es2015/singleton.js","webpack://mckinsey-global-flows/./node_modules/get-nonce/dist/es2015/index.js","webpack://mckinsey-global-flows/./node_modules/react-style-singleton/dist/es2015/component.js","webpack://mckinsey-global-flows/./node_modules/react-style-singleton/dist/es2015/hook.js","webpack://mckinsey-global-flows/./node_modules/react-remove-scroll-bar/dist/es2015/utils.js","webpack://mckinsey-global-flows/./node_modules/react-remove-scroll-bar/dist/es2015/component.js","webpack://mckinsey-global-flows/./node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js","webpack://mckinsey-global-flows/./node_modules/react-remove-scroll/dist/es2015/handleScroll.js","webpack://mckinsey-global-flows/./node_modules/react-remove-scroll/dist/es2015/SideEffect.js","webpack://mckinsey-global-flows/./node_modules/react-remove-scroll/dist/es2015/sidecar.js","webpack://mckinsey-global-flows/./node_modules/react-remove-scroll/dist/es2015/Combination.js","webpack://mckinsey-global-flows/./node_modules/aria-hidden/dist/es2015/index.js","webpack://mckinsey-global-flows/./node_modules/@radix-ui/react-dialog/dist/index.mjs","webpack://mckinsey-global-flows/./src/components/Menu/index.tsx","webpack://mckinsey-global-flows/./src/components/MenuIcon/index.tsx","webpack://mckinsey-global-flows/./src/components/FooterCTA/styles.module.scss?5275","webpack://mckinsey-global-flows/./src/components/FooterCTA/index.tsx","webpack://mckinsey-global-flows/./src/components/AboutBlock/styles.module.scss?2924","webpack://mckinsey-global-flows/./src/components/AboutBlock/index.tsx","webpack://mckinsey-global-flows/./src/utils/keys.ts","webpack://mckinsey-global-flows/./src/components/PageContainer/styles.module.scss?2322","webpack://mckinsey-global-flows/./src/components/PageContainer/index.tsx","webpack://mckinsey-global-flows/./node_modules/@radix-ui/number/dist/index.mjs","webpack://mckinsey-global-flows/./node_modules/@radix-ui/react-direction/dist/index.mjs","webpack://mckinsey-global-flows/./node_modules/@floating-ui/core/dist/floating-ui.core.browser.min.mjs","webpack://mckinsey-global-flows/./node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.min.mjs","webpack://mckinsey-global-flows/./node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.esm.js","webpack://mckinsey-global-flows/./node_modules/@radix-ui/react-popper/dist/index.mjs","webpack://mckinsey-global-flows/./node_modules/@radix-ui/react-use-size/dist/index.mjs","webpack://mckinsey-global-flows/./node_modules/@radix-ui/react-visually-hidden/dist/index.mjs","webpack://mckinsey-global-flows/./node_modules/@radix-ui/react-select/dist/index.mjs","webpack://mckinsey-global-flows/./node_modules/@radix-ui/react-collection/dist/index.mjs","webpack://mckinsey-global-flows/./node_modules/@radix-ui/react-use-previous/dist/index.mjs","webpack://mckinsey-global-flows/./node_modules/@radix-ui/react-label/dist/index.mjs","webpack://mckinsey-global-flows/./src/components/Select/styles.module.scss?89a1","webpack://mckinsey-global-flows/./src/components/Select/index.tsx","webpack://mckinsey-global-flows/./src/config/product-concentration/economies.ts","webpack://mckinsey-global-flows/./src/config/economies.ts","webpack://mckinsey-global-flows/./src/config/regions.ts","webpack://mckinsey-global-flows/./src/config/sectors.ts","webpack://mckinsey-global-flows/./src/utils/format.ts","webpack://mckinsey-global-flows/./src/config/economy-regions.ts","webpack://mckinsey-global-flows/./src/utils/filter.ts","webpack://mckinsey-global-flows/./src/components/ChartHeader/styles.module.scss?5846","webpack://mckinsey-global-flows/./src/components/ChartHeader/index.tsx","webpack://mckinsey-global-flows/./src/hooks/useMediaQuery.ts","webpack://mckinsey-global-flows/./src/components/Tooltip/styles.module.scss?90b9","webpack://mckinsey-global-flows/./src/components/Tooltip/index.tsx","webpack://mckinsey-global-flows/./src/components/NoData/styles.module.scss?1117","webpack://mckinsey-global-flows/./src/components/NoData/index.tsx","webpack://mckinsey-global-flows/./src/config/hs6.ts","webpack://mckinsey-global-flows/./src/pages/product-concentration/utils.tsx","webpack://mckinsey-global-flows/./src/pages/product-concentration/BubbleChart/styles.module.scss?a2b5","webpack://mckinsey-global-flows/./src/pages/product-concentration/BubbleChart/index.tsx","webpack://mckinsey-global-flows/./node_modules/d3-array/src/extent.js","webpack://mckinsey-global-flows/./src/pages/product-concentration/SuppliersChart/styles.module.scss?da96","webpack://mckinsey-global-flows/./src/pages/product-concentration/SuppliersChart/index.tsx","webpack://mckinsey-global-flows/./src/pages/product-concentration/styles.module.scss?0195","webpack://mckinsey-global-flows/./src/pages/product-concentration/App.tsx","webpack://mckinsey-global-flows/./src/pages/product-concentration/index.tsx"],"sourcesContent":["var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".container__dQt8m{--grid-gutter: 20px}@media(min-width: 768px){.container__dQt8m{--grid-gutter: 40px}}.container__dQt8m .overline__tBURr{font-size:14px;color:inherit;font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-weight:500;line-height:1.5;margin:0 0 5px;padding:0 var(--grid-gutter);width:100%}@media(min-width: 400px)and (max-width: 1023px){.container__dQt8m .overline__tBURr{font-size:calc(14px + (16 - 14) * (\\n          100vw - 400px\\n        ) / (1024 - 400))}}@media(min-width: 1024px){.container__dQt8m .overline__tBURr{font-size:16px}}.container__dQt8m .ctas__MSOfZ{border-top:1px solid #e6e6e6;display:grid;gap:calc(2*var(--grid-gutter));grid-template-columns:1fr 1fr;padding:0 var(--grid-gutter);position:relative}.container__dQt8m .ctas__MSOfZ::before{content:\\\" \\\";display:block;position:absolute;top:0;left:50%;height:100%;width:1px;background-color:#e6e6e6}@media(min-width: 1024px)and (max-width: 1199px){.container__dQt8m .ctas__MSOfZ{display:block}.container__dQt8m .ctas__MSOfZ::before{display:none}}.container__dQt8m p.cta-text__wLSMc{font-size:14px;color:inherit;font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-weight:300;line-height:1.5;padding:0}@media(min-width: 400px)and (max-width: 1023px){.container__dQt8m p.cta-text__wLSMc{font-size:calc(14px + (16 - 14) * (\\n          100vw - 400px\\n        ) / (1024 - 400))}}@media(min-width: 1024px){.container__dQt8m p.cta-text__wLSMc{font-size:16px}}@media(min-width: 1024px)and (max-width: 1199px){.container__dQt8m p.cta-text__wLSMc:last-child .cta-link__MSfI4{padding-top:0}}.container__dQt8m .cta-link__MSfI4{color:#000;display:inline-block;font-weight:500;text-decoration:none;transition:all .5s ease-out;display:block;height:100%;padding:1rem 0 60px 0;position:relative;font-weight:300}.container__dQt8m .cta-link__MSfI4:after{color:#2251ff;content:\\\"\\\";display:inline;font-family:mck-icons;font-weight:400;font-size:inherit;padding-left:.5rem;padding-right:.75rem;transition:padding .4s ease-in-out;vertical-align:middle}.container__dQt8m .cta-link__MSfI4:hover,.container__dQt8m .cta-link__MSfI4:focus-visible{color:#2251ff}.container__dQt8m .cta-link__MSfI4:hover:after,.container__dQt8m .cta-link__MSfI4:focus-visible:after{padding-left:1.5rem;padding-right:0}.container__dQt8m .cta-link__MSfI4::after{position:absolute;bottom:10px;left:-0.5em}.container__dQt8m .cta-link__MSfI4 .hyphenate__DrgCs{hyphens:auto}@media(min-width: 1024px)and (max-width: 1199px){.container__dQt8m .cta-link__MSfI4{padding:18px 0}.container__dQt8m .cta-link__MSfI4::after{position:static;display:inline}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/AboutBlock/styles.module.scss\",\"webpack://./src/styles/mixins/_mq.scss\",\"webpack://./src/styles/mixins/_fluid-size.scss\",\"webpack://./src/styles/mixins/_typography.scss\",\"webpack://./src/styles/variables/_typography.scss\",\"webpack://./src/styles/variables/_borders.scss\",\"webpack://./src/styles/mixins/_pseudo.scss\",\"webpack://./src/styles/mixins/_shorthander.scss\",\"webpack://./src/styles/mixins/_size.scss\",\"webpack://./src/styles/variables/_colors.scss\"],\"names\":[],\"mappings\":\"AAAA,kBAEA,mBACE,CAAA,yBCwBE,kBDzBJ,mBAGI,CAAA,CAAA,mCAGF,cEaW,CAAA,aChBH,CAAA,4CCFA,CAAA,eAOD,CAAA,eAkBC,CAAA,cJlBN,CAAA,4BACA,CAAA,UACA,CAAA,gDCmBA,mCDvBF;;yBEqBM,CAAA,CDFJ,0BDnBF,mCE0BM,cAZK,CAAA,CFPX,+BACE,4BKhBK,CLiBL,YAAA,CACA,8BAAA,CACA,6BAAA,CACA,4BAAA,CACA,iBAAA,CAGA,uCMhBF,WAAA,CAYA,aAAA,CCGE,iBA+DmB,CAhBjB,KAAA,CASA,QAAA,CCpDJ,WRDuB,CQEvB,SRFkB,CACd,wBSvBa,CR2Bf,iDDhBF,+BAiBI,aAAA,CACA,uCACE,YAAA,CAAA,CAKN,oCEZI,cANO,CCVX,aANQ,CAOR,4CCTQ,CDUR,eCLS,CDMT,eCcQ,CJaN,SAAA,CCVA,gDDQF,oCEVM;;yBAAA,CAAA,CDFJ,0BDYF,oCELM,cAZK,CAAA,CDST,iDDYE,gEACE,aAAA,CAAA,CAKN,mCG2GA,UM5JQ,CN6JR,oBAAA,CACA,eCpJO,CDqJP,oBAAA,CACA,2BAAA,CH7GE,aAAA,CACA,WAAA,CACA,qBAAA,CACA,iBAAA,CACA,eI/CO,CD0JT,yCACE,aM1JY,CN2JZ,WAAA,CACA,cAAA,CACA,qBCjKO,CDkKP,eC9JK,CD+JL,iBAAA,CACA,kBAAA,CACA,oBAAA,CACA,kCAAA,CACA,qBAAA,CAGF,0FAEE,aMxKY,CNyKZ,sGACE,mBAAA,CACA,eAAA,CH5HF,0COjCA,iBA+DmB,CAVjB,WAAA,CAGA,WAAA,CPnBF,qDACE,YAAA,CC9BF,iDDkBF,mCAeI,cAAA,CAEA,0CACE,eAAA,CACA,cAAA,CAAA\",\"sourcesContent\":[\"@import \\\"@/styles\\\";\\n\\n.container {\\n  --grid-gutter: #{$grid-gutter-mobile};\\n  @include mq($bp-larger-gutters) {\\n    --grid-gutter: #{$grid-gutter};\\n  }\\n\\n  .overline {\\n    @include body-text($weight: $fw-med);\\n    margin: 0 0 $spacing-xxs;\\n    padding: 0 var(--grid-gutter);\\n    width: 100%;\\n  }\\n\\n  .ctas {\\n    border-top: $border;\\n    display: grid;\\n    gap: calc(2 * var(--grid-gutter));\\n    grid-template-columns: 1fr 1fr;\\n    padding: 0 var(--grid-gutter);\\n    position: relative;\\n\\n    // Vertical line\\n    &::before {\\n      @include pseudo(0 x x 50%);\\n      @include size(1px, 100%);\\n      background-color: $c-border;\\n    }\\n\\n    // Stack links and hide vertical line when sidebar is narrow\\n    @include mq($bp-sidebar, $bp-sidebar-wide) {\\n      display: block;\\n      &::before {\\n        display: none;\\n      }\\n    }\\n  }\\n\\n  p.cta-text {\\n    @include body-text;\\n    padding: 0;\\n    @include mq($bp-sidebar, $bp-sidebar-wide) {\\n      &:last-child .cta-link {\\n        padding-top: 0;\\n      }\\n    }\\n  }\\n\\n  .cta-link {\\n    @include arrow-link;\\n    display: block;\\n    height: 100%;\\n    padding: 1rem 0 $spacing-xxl 0;\\n    position: relative;\\n    font-weight: $fw-light;\\n    &::after {\\n      @include absolute(x x 10px -0.5em);\\n    }\\n\\n    .hyphenate {\\n      hyphens: auto;\\n    }\\n    @include mq($bp-sidebar, $bp-sidebar-wide) {\\n      padding: $spacing-md 0;\\n\\n      &::after {\\n        position: static;\\n        display: inline;\\n      }\\n    }\\n  }\\n}\\n\",\"// Write less verbose media queries.\\n// $bp-1 - breakpoint value, min-width if declaring range\\n// $bp-2 [null] - [Optional] breakpoint value, max-width if declaring range\\n//\\n// @example scss - SCSS\\n// .item-1 {\\n//    @include mq(600px, 768px) {\\n//     display: block;\\n//   }\\n// }\\n//\\n// .item-2 {\\n//   @include mq(768px) {\\n//     display: block;\\n//   }\\n// }\\n\\n@mixin mq($bp-1, $bp-2: null) {\\n  @if $bp-1 == \\\"max\\\" {\\n    @media (max-width: $bp-2 - 1) {\\n      @content;\\n    }\\n  } @else if $bp-2 == \\\"max\\\" {\\n    @media (max-width: $bp-1 - 1) {\\n      @content;\\n    }\\n  } @else if $bp-2 == null {\\n    @media (min-width: $bp-1) {\\n      @content;\\n    }\\n  } @else {\\n    @media (min-width: $bp-1) and (max-width: $bp-2 - 1) {\\n      @content;\\n    }\\n  }\\n}\\n\",\"// - - - - - - - - - - - - - - - - - - - - - - - - - -----------------------------\\n// Fluid Font Sizing\\n//\\n// FOR:   Dynamically changing the size of type\\n//        between certain screen sizes. Think of\\n//        it as a CSS-only version of FitText\\n// REQ:   Depends on the `mq` media query mixin\\n// REF:   http://www.adrenalinmedia.com.au/blog/january-2016/this-changes-everything-css-%E2%80%98fluid-properties%E2%80%99\\n// USE:   @include fluid-size(\\n//          40px $bp__tablet--sm,\\n//          60px $bp__desktop\\n//        );\\n//\\n// - - - - - - - - - - - - - - - - - - - - - - - - - ----------------------------\\n\\n@mixin fluid-size(\\n  $properties: font-size,\\n  $tween-start: 16px 400px,\\n  $tween-end: 60px 1400px,\\n  $use-mq: true\\n) {\\n  $min-size: nth($tween-start, 1);\\n  $max-size: nth($tween-end, 1);\\n  $min-width: nth($tween-start, 2);\\n  $max-width: nth($tween-end, 2);\\n  @each $property in $properties {\\n    @if $use-mq {\\n      #{$property}: $min-size;\\n      @include mq($min-width, $max-width) {\\n        #{$property}: calc(#{$min-size} + (#{strip-units($max-size)} - #{strip-units($min-size)}) * (\\n          100vw - #{$min-width}\\n        ) / (#{strip-units($max-width)} - #{strip-units($min-width)}));\\n      }\\n      @include mq($max-width) {\\n        #{$property}: $max-size;\\n      }\\n    } @else {\\n      #{$property}: calc(#{$min-size} +\\n      (#{strip-units($max-size)} - #{strip-units($min-size)}) *\\n      (100vw - #{$min-width}) /\\n      (#{strip-units($max-width)} - #{strip-units($min-width)}));\\n    }\\n  }\\n}\\n\\n// Misin just for font size\\n@mixin fluid-font($tween-start: 16px 400px, $tween-end: 60px 1400px, $use-mq: true) {\\n  @include fluid-size(font-size, $tween-start, $tween-end, $use-mq);\\n}\\n\",\"// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// basic type mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin body-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  @include fluid-font($fs-xxs $bp-phablet, $fs-xs $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin heading-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.35\\n) {\\n  @include fluid-font($fs-sm $bp-phablet, 21px $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin dek-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.375\\n) {\\n  @include fluid-font($fs-sm $bp-phablet, $fs-md $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin control-label(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.25\\n) {\\n  color: $color;\\n  font-family: $font;\\n  font-size: $fs-xs;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin basic-formatting {\\n  a {\\n    @include inline-link;\\n  }\\n\\n  strong,\\n  b {\\n    font-weight: $fw-med;\\n  }\\n  em,\\n  i {\\n    font-style: italic;\\n  }\\n}\\n\\n// Since SVGs scale up with browser, reduce font size on larger screens\\n@mixin svg-label($weight: $fw-light, $has-breakout: true) {\\n  font-family: $ff-sans;\\n  font-size: $fs-md;\\n  font-weight: $weight;\\n\\n  @include mq($bp-tablet) {\\n    font-size: $fs-sm;\\n  }\\n\\n  @if ($has-breakout) {\\n    @include mq($bp-breakout-chart) {\\n      font-size: $fs-xs;\\n    }\\n  }\\n}\\n\\n@mixin tiny-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  color: $color;\\n  font-size: $fs-xxxs;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n  @include mq($bp-phablet) {\\n    font-size: $fs-xxs;\\n  }\\n}\\n\\n@mixin micro-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  color: $color;\\n  font-size: $fs-xxxxs;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n\\n  @include mq($bp-tablet) {\\n    font-size: $fs-xxxs;\\n  }\\n  @include mq($bp-desktop) {\\n    font-size: $fs-xxs;\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// link mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin inline-link(\\n  $color: inherit,\\n  $underline: $c-bright-blue,\\n  $hover: $c-white,\\n  $active: $c-spot\\n) {\\n  border-bottom: solid 2px $underline;\\n  color: $color;\\n  cursor: pointer;\\n  padding-left: 0.125rem;\\n  padding-right: 0.125rem;\\n  text-decoration: none;\\n\\n  &:hover {\\n    background-color: $underline;\\n    border-bottom: solid 2px $underline;\\n    color: $hover;\\n  }\\n  &:focus-visible {\\n    outline: $outline;\\n  }\\n}\\n\\n@mixin inline-link-on-dark {\\n  @include inline-link($c-cyan-500, $c-cyan-500, $c-deep-blue);\\n}\\n\\n@mixin arrow-link {\\n  color: $c-black;\\n  display: inline-block;\\n  font-weight: $fw-med;\\n  text-decoration: none;\\n  transition: all 0.5s ease-out;\\n\\n  &:after {\\n    color: $c-bright-blue;\\n    content: \\\"\\\\e608\\\";\\n    display: inline;\\n    font-family: $ff-icons;\\n    font-weight: $fw-reg;\\n    font-size: inherit;\\n    padding-left: 0.5rem;\\n    padding-right: 0.75rem;\\n    transition: padding 0.4s ease-in-out;\\n    vertical-align: middle;\\n  }\\n\\n  &:hover,\\n  &:focus-visible {\\n    color: $c-bright-blue;\\n    &:after {\\n      padding-left: 1.5rem;\\n      padding-right: 0;\\n    }\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// Button mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin button($style: solid, $color: $c-text, $bg: $c-bg) {\\n  @include body-text;\\n  padding: 0.55em 1.1em;\\n  appearance: none;\\n\\n  &:focus-visible {\\n    outline: $outline;\\n  }\\n\\n  @if $style == outline {\\n    background-color: transparent;\\n    border: 1px solid $color;\\n\\n    &:hover,\\n    &:focus-visible {\\n      background-color: $color;\\n      border-color: $color;\\n      color: $bg;\\n    }\\n  } @else {\\n    background-color: $bg;\\n    color: $color;\\n    border: solid 1px transparent;\\n    &:hover,\\n    &:focus-visible {\\n      background-color: $color;\\n      border-color: $bg;\\n      color: $bg;\\n    }\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// Heading Mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin h1($color: inherit, $font: $ff-serif, $weight: $fw-med, $lh: 1) {\\n  @include fluid-font(38px 400px, $fs-xxxl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  letter-spacing: -0.03em;\\n  line-height: $lh;\\n}\\n\\n@mixin h2($color: inherit, $font: $ff-sans, $weight: $fw-med, $lh: 0.9) {\\n  @include fluid-font($fs-lg 400px, $fs-xl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin h3($color: inherit, $font: $ff-sans, $weight: $fw-med, $lh: 1) {\\n  @include fluid-font($fs-sm 400px, $fs-xl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\",\"// Families\\n\\n// replace with actual fonts\\n$ff-sans: \\\"McKinsey Sans\\\", Arial, sans-serif;\\n$ff-serif: Bower, Georgia, serif;\\n$ff-icons: mck-icons;\\n\\n// Weights\\n$fw-light: 300;\\n$fw-reg: 400;\\n$fw-med: 500;\\n\\n// Sizes\\n$fs-xxxxs: 9px;\\n\\n$fs-xxxs: 12px;\\n$fs-xxs: 14px;\\n$fs-xs: 16px;\\n$fs-sm: 18px;\\n$fs-md: 24px;\\n$fs-lg: 28px;\\n$fs-xl: 36px;\\n$fs-xxl: 45px;\\n$fs-xxxl: 52px;\\n$fs-xxxxl: 110px;\\n$fs-xxxxxl: 98px;\\n\\n// Line Height\\n$lh-base: 1.5;\\n$lh-med: 1.375;\\n$lh-tiny: 1;\\n$lh-small: 1;\\n$lh-smallcap: 1.25;\\n\\n$lh-mono: 1.2;\\n\",\"$border: 1px solid $c-border;\\n$rule: 1px solid $c-rule;\\n$outline: 4px solid $c-outline;\\n\",\"// Content\\n// -------\\n// FOR: Filling pseudo-clases :before, :after with blank content\\n// WHY: Pseudo classes won't appear unless you fill them with content.\\n// This mixin includes the difficult-to-recall cross-browser character code for \\\"blank\\\".\\n// USE: @include content;\\n\\n@mixin content($content: '\\\\0020') {\\n  content: '#{$content}';\\n}\\n\\n\\n// Pseudo\\n// -------\\n// FOR: Quickly pasting essential and commonly used properties that make pseudo classes work\\n// WHY: Easier than remembering and writing each time. Should cut down on mistakes/debugging.\\n// USE: @include pseudo;\\n\\n@mixin pseudo($coordinates: none) {\\n  @include content;\\n  display: block;\\n  @if $coordinates != 'none' {\\n    @include absolute($coordinates);\\n  }\\n}\\n\",\"// Shorthand method for common multi-value declarations such as absolute, padding, and margin. Can also be used as the basis to create new multi-value declarations that we haven't conceived.\\n//\\n// @name shorthander\\n// $position - Takes name of attribute: margin, padding, absolute, fixed, relative, static.\\n// $value - Takes 1-4 values, following convention of traditional CSS shorthand properties for margin, padding, etc. One notable improvement: You can use the shorthand and still leave some values blank. Do so by placing an 'n' in place of any numeral.\\n//\\n// @example scss - SCSS\\n// .item {\\n//   @include absolute(0 0 0 0);\\n//   //@include relative(0 0 0 0);\\n//   //@include fixed(0 0 0 0);\\n//   //@include padding(0 0 0 0);\\n//   //@include margin(0 0 0 0);\\n// }\\n\\n@mixin shorthander($position, $value) {\\n  $position-prefix: '';\\n\\n  @if $position == 'margin' or $position == 'padding' {\\n    $position-prefix: $position + '-';\\n  } @else if $position == 'null' {\\n    // do nothing\\n  } @else {\\n    position: $position;\\n  }\\n\\n  @if length($value) == 1 and $value != 'n' and $value != 'x' and $value != 'null' {\\n    #{$position-prefix}top: auto($value);\\n    #{$position-prefix}right: auto($value);\\n    #{$position-prefix}bottom: auto($value);\\n    #{$position-prefix}left: auto($value);\\n  }\\n\\n  @if length($value) == 2 {\\n    $value-y: nth($value, 1);\\n    $value-x: nth($value, 2);\\n    @if $value-y != 'n' and $value-y != 'x' and $value-y != 'null' {\\n      #{$position-prefix}top: auto($value-y);\\n      #{$position-prefix}bottom: auto($value-y);\\n    }\\n    @if $value-x != 'n' and $value-x != 'x' and $value-x != 'null' {\\n      #{$position-prefix}left: auto($value-x);\\n      #{$position-prefix}right: auto($value-x);\\n    }\\n  }\\n\\n  @if length($value) == 3 {\\n    $value-y-top: nth($value, 1);\\n    $value-x: nth($value, 2);\\n    $value-y-bottom: nth($value, 3);\\n\\n    @if $value-y-top != 'n' and $value-y-top != 'x' and $value-y-top != 'null' {\\n      #{$position-prefix}top: auto($value-y-top);\\n    }\\n    @if $value-x != 'n' and $value-x != 'x' and $value-x != 'null' {\\n      #{$position-prefix}right: auto($value-x);\\n      #{$position-prefix}left: auto($value-x);\\n    }\\n    @if $value-y-bottom != 'n' and $value-y-bottom != 'x' and $value-y-bottom != 'null' {\\n      #{$position-prefix}bottom: auto($value-y-bottom);\\n    }\\n  }\\n\\n  @if length($value) == 4 {\\n    $value-top: nth($value, 1);\\n    $value-right: nth($value, 2);\\n    $value-bottom: nth($value, 3);\\n    $value-left: nth($value, 4);\\n\\n    @if $value-top != 'n' and $value-top != 'x' and $value-top != 'null' {\\n      #{$position-prefix}top: auto($value-top);\\n    }\\n    @if $value-right != 'n' and $value-right != 'x' and $value-right != 'null' {\\n      #{$position-prefix}right: auto($value-right);\\n    }\\n    @if $value-bottom != 'n' and $value-bottom != 'x' and $value-bottom != 'null' {\\n      #{$position-prefix}bottom: auto($value-bottom);\\n    }\\n    @if $value-left != 'n' and $value-left != 'x' and $value-left != 'null' {\\n      #{$position-prefix}left: auto($value-left);\\n    }\\n  }\\n}\\n\\n// Absolute\\n@mixin absolute($value) {\\n  @include shorthander(absolute, $value);\\n}\\n\\n// Fixed\\n@mixin fixed($value) {\\n  @include shorthander(fixed, $value);\\n}\\n\\n// Sticky\\n@mixin sticky($value) {\\n  @include shorthander(sticky, $value);\\n}\\n\\n// Relative\\n@mixin relative($value) {\\n  @include shorthander(relative, $value);\\n}\\n\\n// Padding\\n@mixin padding($value) {\\n  @include shorthander(padding, $value);\\n}\\n\\n// Margin\\n@mixin margin($value) {\\n  @include shorthander(margin, $value);\\n}\\n\",\"/// Sets the `width` and `height` of the element.\\n/// @param {Number [unit]} $width - Width (or height and width if $height is not declared)\\n/// @param {Number [unit]} $height - Height\\n/// @link http://codepen.io/upstatement/pen/KpoOpZ See it on Codepen\\n///\\n/// @example scss - Usage\\n/// .box-1 {\\n///   @include size(100px, 150px);\\n/// }\\n///\\n/// .box-2 {\\n///   @include size(200px);\\n/// }\\n///\\n/// @example css - CSS Output\\n/// .box-1 {\\n///   width: 100px;\\n///   height: 150px;\\n/// }\\n///\\n/// .box-2 {\\n///   width: 200px;\\n///   height: 200px;\\n/// }\\n///\\n\\n@mixin size($width, $height: $width) {\\n  height: $height;\\n  width: $width;\\n}\\n\",\"$c-black: #000000;\\n$c-white: #ffffff;\\n$c-gray-light: #888888;\\n$c-gray-mid: #757575;\\n$c-gray-verylight: #e6e6e6;\\n$c-gray-superlight: #e9e9e9;\\n$c-gray-dark: #333333;\\n\\n// Blues\\n$c-bright-blue: #2251ff;\\n$c-deep-blue: #051c2c;\\n$c-purple-blue: #708fff;\\n$c-light-blue: #e0e7ff;\\n$c-verylight-blue: #f2f5f9;\\n\\n// McKinsey dataviz colors\\n$c-cyan-500: #00a9f4;\\n$c-electric-blue-900: #061f79;\\n\\n// Applications\\n$c-bg: $c-white;\\n$c-border: $c-gray-verylight;\\n$c-border-on-dark: rgba($c-white, 0.2);\\n$c-gray-text: $c-gray-mid;\\n$c-rule: $c-black;\\n$c-spot: $c-bright-blue;\\n$c-text: $c-black;\\n$c-outline: $c-purple-blue;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"container\": \"container__dQt8m\",\n\t\"overline\": \"overline__tBURr\",\n\t\"ctas\": \"ctas__MSOfZ\",\n\t\"cta-text\": \"cta-text__wLSMc\",\n\t\"cta-link\": \"cta-link__MSfI4\",\n\t\"hyphenate\": \"hyphenate__DrgCs\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".container__vRRLi{position:relative;margin-bottom:24px}@media(min-width: 600px)and (max-width: 1023px){.container__vRRLi.single__eUfrD{gap:20px;align-items:flex-start;display:flex;justify-content:space-between}}@media(min-width: 600px)and (max-width: 1023px)and (min-width: 768px){.container__vRRLi.single__eUfrD{gap:40px}}@media(min-width: 600px)and (max-width: 1023px){.container__vRRLi.single__eUfrD>:nth-child(1){flex-grow:1}.container__vRRLi.single__eUfrD>:nth-child(2){flex-shrink:0}}@media(min-width: 1024px){.container__vRRLi.single__eUfrD{gap:20px;align-items:flex-start;display:flex;justify-content:space-between}}@media(min-width: 1024px)and (min-width: 768px){.container__vRRLi.single__eUfrD{gap:40px}}@media(min-width: 1024px){.container__vRRLi.single__eUfrD>:nth-child(1){flex-grow:1}.container__vRRLi.single__eUfrD>:nth-child(2){flex-shrink:0}}.container__vRRLi.multiple__eLBzk .controls__WAte5{padding-top:24px}.title__l2FX1{font-size:18px;color:inherit;font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-weight:500;line-height:1.4;margin:0;padding:0}@media(min-width: 400px)and (max-width: 1023px){.title__l2FX1{font-size:calc(18px + (21 - 18) * (\\n          100vw - 400px\\n        ) / (1024 - 400))}}@media(min-width: 1024px){.title__l2FX1{font-size:21px}}.description__H50ok{font-size:18px;color:inherit;font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-weight:300;line-height:1.4;margin:0;padding:0}@media(min-width: 400px)and (max-width: 1023px){.description__H50ok{font-size:calc(18px + (21 - 18) * (\\n          100vw - 400px\\n        ) / (1024 - 400))}}@media(min-width: 1024px){.description__H50ok{font-size:21px}}.description__H50ok::first-letter{text-transform:uppercase}.controls__WAte5{margin-top:18px}@media(min-width: 600px)and (max-width: 1023px){.controls__WAte5{margin-top:0}}@media(min-width: 1024px){.controls__WAte5{margin-top:0}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/ChartHeader/styles.module.scss\",\"webpack://./src/styles/variables/_spacing.scss\",\"webpack://./src/styles/mixins/_mq.scss\",\"webpack://./src/styles/mixins/_layout.scss\",\"webpack://./src/styles/mixins/_fluid-size.scss\",\"webpack://./src/styles/mixins/_typography.scss\",\"webpack://./src/styles/variables/_typography.scss\"],\"names\":[],\"mappings\":\"AAiBA,kBACE,iBAAA,CACA,kBCbW,CCyBT,gDFXF,gCGDE,QFJiB,CDXnB,sBAAA,CACA,YAAA,CACA,6BAAA,CAAA,CEqBE,sEFPF,gCGCI,QFRQ,CAAA,CCkBV,gDFvBF,8CACE,WAAA,CAGF,8CACE,aAAA,CAAA,CEcA,0BFPF,gCGDE,QFJiB,CDXnB,sBAAA,CACA,YAAA,CACA,6BAAA,CAAA,CEqBE,gDFPF,gCGCI,QFRQ,CAAA,CCcV,0BFnBF,8CACE,WAAA,CAGF,8CACE,aAAA,CAAA,CAiBF,mDACE,gBCzBS,CD6Bb,cIRM,cANO,CCGX,aANQ,CAOR,4CCtBQ,CDuBR,eChBO,CDiBP,eLS6C,CAC7C,QAAA,CACA,SAAA,CEPE,gDFIJ,cINQ;;yBAAA,CAAA,CFFJ,0BFQJ,cIDQ,cAZK,CAAA,CJmBb,oBIdM,cANO,CCGX,aANQ,CAOR,4CCtBQ,CDuBR,eClBS,CDmBT,eLe2B,CAC3B,QAAA,CACA,SAAA,CEbE,gDFUJ,oBIZQ;;yBAAA,CAAA,CFFJ,0BFcJ,oBIPQ,cAZK,CAAA,CJuBX,kCACE,wBAAA,CAIJ,iBACE,eC9CW,CC0BT,gDFmBJ,iBAGI,YAAA,CAAA,CE1BA,0BFuBJ,iBAOI,YAAA,CAAA\",\"sourcesContent\":[\"@import \\\"@/styles\\\";\\n\\n@mixin two-col {\\n  @include gap;\\n  align-items: flex-start;\\n  display: flex;\\n  justify-content: space-between;\\n\\n  > :nth-child(1) {\\n    flex-grow: 1;\\n  }\\n\\n  > :nth-child(2) {\\n    flex-shrink: 0;\\n  }\\n}\\n\\n.container {\\n  position: relative;\\n  margin-bottom: $spacing-lg;\\n  &.single {\\n    @include mq($bp-tablet, $bp-sidebar) {\\n      @include two-col;\\n    }\\n\\n    @include mq($bp-desktop) {\\n      @include two-col;\\n    }\\n  }\\n\\n  &.multiple .controls {\\n    padding-top: $spacing-lg;\\n  }\\n}\\n\\n.title {\\n  @include heading-text($weight: $fw-med, $lh: 1.4);\\n  margin: 0;\\n  padding: 0;\\n}\\n\\n.description {\\n  @include heading-text($lh: 1.4);\\n  margin: 0;\\n  padding: 0;\\n  &::first-letter {\\n    text-transform: uppercase;\\n  }\\n}\\n\\n.controls {\\n  margin-top: $spacing-md;\\n  @include mq($bp-tablet, $bp-sidebar) {\\n    margin-top: 0;\\n  }\\n\\n  @include mq($bp-desktop) {\\n    margin-top: 0;\\n  }\\n}\\n\",\"@use \\\"sass:math\\\";\\n\\n$spacing-xxs: 5px;\\n$spacing-xs: 8px;\\n$spacing-sm: 12px;\\n$spacing-md: 18px;\\n$spacing-lg: 24px;\\n$spacing-xl: 36px;\\n$spacing-xxl: 60px;\\n$spacing-xxxl: 100px;\\n$spacing-xxxxl: 200px;\\n\\n// Grid\\n$grid-gutter: 40px;\\n$grid-padding: math.div($grid-gutter, 2);\\n$grid-gutter-mobile: 20px;\\n$grid-padding-mobile: math.div($grid-gutter-mobile, 2);\\n\\n// Controls bar\\n$controls-bar-height-m: 65px;\\n$controls-bar-height-d: 75px;\\n\\n// Space between chart and end notes\\n$notes-spacing: $spacing-lg;\\n\",\"// Write less verbose media queries.\\n// $bp-1 - breakpoint value, min-width if declaring range\\n// $bp-2 [null] - [Optional] breakpoint value, max-width if declaring range\\n//\\n// @example scss - SCSS\\n// .item-1 {\\n//    @include mq(600px, 768px) {\\n//     display: block;\\n//   }\\n// }\\n//\\n// .item-2 {\\n//   @include mq(768px) {\\n//     display: block;\\n//   }\\n// }\\n\\n@mixin mq($bp-1, $bp-2: null) {\\n  @if $bp-1 == \\\"max\\\" {\\n    @media (max-width: $bp-2 - 1) {\\n      @content;\\n    }\\n  } @else if $bp-2 == \\\"max\\\" {\\n    @media (max-width: $bp-1 - 1) {\\n      @content;\\n    }\\n  } @else if $bp-2 == null {\\n    @media (min-width: $bp-1) {\\n      @content;\\n    }\\n  } @else {\\n    @media (min-width: $bp-1) and (max-width: $bp-2 - 1) {\\n      @content;\\n    }\\n  }\\n}\\n\",\"@use \\\"sass:math\\\";\\n\\n@mixin site-pad($param: horiz) {\\n  // Keywords for horiz/vert/both\\n  @if ($param == horiz or $param == both) {\\n    @include padding(x $grid-gutter-mobile);\\n    @include mq($bp-larger-gutters) {\\n      @include padding(x $grid-gutter);\\n    }\\n  }\\n  @if ($param == vert or $param == both) {\\n    @include padding($grid-gutter-mobile x);\\n    @include mq($bp-larger-gutters) {\\n      @include padding($grid-gutter x);\\n    }\\n  }\\n\\n  @if ($param != horiz and $param != vert and $param != both) {\\n    // Otherwise param is property name\\n    #{$param}: $grid-gutter-mobile;\\n    @include mq($bp-larger-gutters) {\\n      #{$param}: $grid-gutter;\\n    }\\n  }\\n}\\n\\n@mixin gap {\\n  @include site-pad(gap);\\n}\\n\\n@mixin chart-spacing {\\n  margin-bottom: $spacing-xl;\\n  @include mq($bp-desktop-xl) {\\n    margin-bottom: $spacing-xxl;\\n  }\\n}\\n\\n// On wider screens, break the SVG out of the container so axes labels and tooltips can hang in the left/right margins\\n@mixin chart-breakout($width, $left-val, $right-val, $bp: 1600px) {\\n  $left-pc: math.div($left-val, $width) * 100%;\\n  $right-pc: math.div($right-val, $width) * 100%;\\n\\n  svg {\\n    @include mq($bp) {\\n      margin-left: -#{$left-pc};\\n      margin-right: -#{$right-pc};\\n      width: 100% + $left-pc + $right-pc;\\n    }\\n  }\\n}\\n\",\"// - - - - - - - - - - - - - - - - - - - - - - - - - -----------------------------\\n// Fluid Font Sizing\\n//\\n// FOR:   Dynamically changing the size of type\\n//        between certain screen sizes. Think of\\n//        it as a CSS-only version of FitText\\n// REQ:   Depends on the `mq` media query mixin\\n// REF:   http://www.adrenalinmedia.com.au/blog/january-2016/this-changes-everything-css-%E2%80%98fluid-properties%E2%80%99\\n// USE:   @include fluid-size(\\n//          40px $bp__tablet--sm,\\n//          60px $bp__desktop\\n//        );\\n//\\n// - - - - - - - - - - - - - - - - - - - - - - - - - ----------------------------\\n\\n@mixin fluid-size(\\n  $properties: font-size,\\n  $tween-start: 16px 400px,\\n  $tween-end: 60px 1400px,\\n  $use-mq: true\\n) {\\n  $min-size: nth($tween-start, 1);\\n  $max-size: nth($tween-end, 1);\\n  $min-width: nth($tween-start, 2);\\n  $max-width: nth($tween-end, 2);\\n  @each $property in $properties {\\n    @if $use-mq {\\n      #{$property}: $min-size;\\n      @include mq($min-width, $max-width) {\\n        #{$property}: calc(#{$min-size} + (#{strip-units($max-size)} - #{strip-units($min-size)}) * (\\n          100vw - #{$min-width}\\n        ) / (#{strip-units($max-width)} - #{strip-units($min-width)}));\\n      }\\n      @include mq($max-width) {\\n        #{$property}: $max-size;\\n      }\\n    } @else {\\n      #{$property}: calc(#{$min-size} +\\n      (#{strip-units($max-size)} - #{strip-units($min-size)}) *\\n      (100vw - #{$min-width}) /\\n      (#{strip-units($max-width)} - #{strip-units($min-width)}));\\n    }\\n  }\\n}\\n\\n// Misin just for font size\\n@mixin fluid-font($tween-start: 16px 400px, $tween-end: 60px 1400px, $use-mq: true) {\\n  @include fluid-size(font-size, $tween-start, $tween-end, $use-mq);\\n}\\n\",\"// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// basic type mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin body-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  @include fluid-font($fs-xxs $bp-phablet, $fs-xs $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin heading-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.35\\n) {\\n  @include fluid-font($fs-sm $bp-phablet, 21px $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin dek-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.375\\n) {\\n  @include fluid-font($fs-sm $bp-phablet, $fs-md $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin control-label(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.25\\n) {\\n  color: $color;\\n  font-family: $font;\\n  font-size: $fs-xs;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin basic-formatting {\\n  a {\\n    @include inline-link;\\n  }\\n\\n  strong,\\n  b {\\n    font-weight: $fw-med;\\n  }\\n  em,\\n  i {\\n    font-style: italic;\\n  }\\n}\\n\\n// Since SVGs scale up with browser, reduce font size on larger screens\\n@mixin svg-label($weight: $fw-light, $has-breakout: true) {\\n  font-family: $ff-sans;\\n  font-size: $fs-md;\\n  font-weight: $weight;\\n\\n  @include mq($bp-tablet) {\\n    font-size: $fs-sm;\\n  }\\n\\n  @if ($has-breakout) {\\n    @include mq($bp-breakout-chart) {\\n      font-size: $fs-xs;\\n    }\\n  }\\n}\\n\\n@mixin tiny-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  color: $color;\\n  font-size: $fs-xxxs;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n  @include mq($bp-phablet) {\\n    font-size: $fs-xxs;\\n  }\\n}\\n\\n@mixin micro-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  color: $color;\\n  font-size: $fs-xxxxs;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n\\n  @include mq($bp-tablet) {\\n    font-size: $fs-xxxs;\\n  }\\n  @include mq($bp-desktop) {\\n    font-size: $fs-xxs;\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// link mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin inline-link(\\n  $color: inherit,\\n  $underline: $c-bright-blue,\\n  $hover: $c-white,\\n  $active: $c-spot\\n) {\\n  border-bottom: solid 2px $underline;\\n  color: $color;\\n  cursor: pointer;\\n  padding-left: 0.125rem;\\n  padding-right: 0.125rem;\\n  text-decoration: none;\\n\\n  &:hover {\\n    background-color: $underline;\\n    border-bottom: solid 2px $underline;\\n    color: $hover;\\n  }\\n  &:focus-visible {\\n    outline: $outline;\\n  }\\n}\\n\\n@mixin inline-link-on-dark {\\n  @include inline-link($c-cyan-500, $c-cyan-500, $c-deep-blue);\\n}\\n\\n@mixin arrow-link {\\n  color: $c-black;\\n  display: inline-block;\\n  font-weight: $fw-med;\\n  text-decoration: none;\\n  transition: all 0.5s ease-out;\\n\\n  &:after {\\n    color: $c-bright-blue;\\n    content: \\\"\\\\e608\\\";\\n    display: inline;\\n    font-family: $ff-icons;\\n    font-weight: $fw-reg;\\n    font-size: inherit;\\n    padding-left: 0.5rem;\\n    padding-right: 0.75rem;\\n    transition: padding 0.4s ease-in-out;\\n    vertical-align: middle;\\n  }\\n\\n  &:hover,\\n  &:focus-visible {\\n    color: $c-bright-blue;\\n    &:after {\\n      padding-left: 1.5rem;\\n      padding-right: 0;\\n    }\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// Button mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin button($style: solid, $color: $c-text, $bg: $c-bg) {\\n  @include body-text;\\n  padding: 0.55em 1.1em;\\n  appearance: none;\\n\\n  &:focus-visible {\\n    outline: $outline;\\n  }\\n\\n  @if $style == outline {\\n    background-color: transparent;\\n    border: 1px solid $color;\\n\\n    &:hover,\\n    &:focus-visible {\\n      background-color: $color;\\n      border-color: $color;\\n      color: $bg;\\n    }\\n  } @else {\\n    background-color: $bg;\\n    color: $color;\\n    border: solid 1px transparent;\\n    &:hover,\\n    &:focus-visible {\\n      background-color: $color;\\n      border-color: $bg;\\n      color: $bg;\\n    }\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// Heading Mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin h1($color: inherit, $font: $ff-serif, $weight: $fw-med, $lh: 1) {\\n  @include fluid-font(38px 400px, $fs-xxxl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  letter-spacing: -0.03em;\\n  line-height: $lh;\\n}\\n\\n@mixin h2($color: inherit, $font: $ff-sans, $weight: $fw-med, $lh: 0.9) {\\n  @include fluid-font($fs-lg 400px, $fs-xl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin h3($color: inherit, $font: $ff-sans, $weight: $fw-med, $lh: 1) {\\n  @include fluid-font($fs-sm 400px, $fs-xl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\",\"// Families\\n\\n// replace with actual fonts\\n$ff-sans: \\\"McKinsey Sans\\\", Arial, sans-serif;\\n$ff-serif: Bower, Georgia, serif;\\n$ff-icons: mck-icons;\\n\\n// Weights\\n$fw-light: 300;\\n$fw-reg: 400;\\n$fw-med: 500;\\n\\n// Sizes\\n$fs-xxxxs: 9px;\\n\\n$fs-xxxs: 12px;\\n$fs-xxs: 14px;\\n$fs-xs: 16px;\\n$fs-sm: 18px;\\n$fs-md: 24px;\\n$fs-lg: 28px;\\n$fs-xl: 36px;\\n$fs-xxl: 45px;\\n$fs-xxxl: 52px;\\n$fs-xxxxl: 110px;\\n$fs-xxxxxl: 98px;\\n\\n// Line Height\\n$lh-base: 1.5;\\n$lh-med: 1.375;\\n$lh-tiny: 1;\\n$lh-small: 1;\\n$lh-smallcap: 1.25;\\n\\n$lh-mono: 1.2;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"container\": \"container__vRRLi\",\n\t\"single\": \"single__eUfrD\",\n\t\"multiple\": \"multiple__eLBzk\",\n\t\"controls\": \"controls__WAte5\",\n\t\"title\": \"title__l2FX1\",\n\t\"description\": \"description__H50ok\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes inner-shadow__R8tHS{from{box-shadow:inset -20px 0 15px -15px rgba(0,0,0,.5)}to{box-shadow:inset 0 0 rgba(0,0,0,0)}}.container__mRiYQ{--controls-bar-height: 65px;position:sticky;top:20px;background-color:#fff;border:1px solid #000;margin-bottom:45px;transition:all .2s cubic-bezier(0.645, 0.045, 0.355, 1);width:100%;z-index:2}@media(min-width: 1024px){.container__mRiYQ{--controls-bar-height: 75px}}@media(max-width: 767px){.container__mRiYQ.container-loading__GZgF3{border-color:#2251ff}.container__mRiYQ.container-loading__GZgF3 .inner__C7ROd{opacity:.3}}.inner__C7ROd{overflow-x:auto;position:static;transition:opacity .2s cubic-bezier(0.645, 0.045, 0.355, 1);animation:inner-shadow__R8tHS linear;animation-timeline:scroll(self inline)}@supports not (animation-timeline: scroll(self inline)){@media(max-width: 599px){.inner__C7ROd{box-shadow:inset -20px 0 15px -15px rgba(0,0,0,.5)}}}@media(min-width: 768px){.inner__C7ROd{align-items:center;display:flex;justify-content:space-between}}.top__usr9V{display:flex;align-items:center;justify-content:space-between;padding:0 36px 0 24px;flex:0 0 auto;height:var(--controls-bar-height);position:relative}@media(max-width: 767px){.top__usr9V{display:none}}@keyframes spin__w0xJX{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.loading__kcQB2{position:absolute;top:50%;right:18px;transform:translateY(-50%)}.spinner__hrv98{height:14px;width:14px;border-radius:50%;border:2px solid #e0e7ff;z-index:1}.spinner__hrv98::after{content:\\\" \\\";display:block;position:absolute;top:0;left:0;height:14px;width:14px;animation:spin__w0xJX 600ms linear infinite;border:2px solid #2251ff;border-radius:50%;border-right-color:rgba(0,0,0,0);border-bottom-color:rgba(0,0,0,0);border-left-color:rgba(0,0,0,0);z-index:2}.hide__fiMwI{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.hide__fiMwI.focusable__NnlcV:active,.hide__fiMwI.focusable__NnlcV:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.title__c7Goz{font-size:14px;color:inherit;font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-weight:500;line-height:1.5;padding-right:24px;margin:0}@media(min-width: 400px)and (max-width: 1023px){.title__c7Goz{font-size:calc(14px + (16 - 14) * (\\n          100vw - 400px\\n        ) / (1024 - 400))}}@media(min-width: 1024px){.title__c7Goz{font-size:16px}}.controls__NMiXO{align-items:stretch;border:0;display:flex;flex:0 0 auto;height:var(--controls-bar-height);justify-content:flex-start;margin:0;padding:0;position:relative;z-index:2}.controls__NMiXO button:focus{outline:0 !important}.controls__NMiXO>div:focus-within::before{content:\\\" \\\";display:block;position:absolute;top:3px;right:3px;bottom:3px;left:3px;pointer-events:none;outline:4px solid #708fff}@media(min-width: 768px){.controls__NMiXO{border-left:1px solid #000;border-top:0;padding-left:0;border-top:0}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/ControlsBar/styles.module.scss\",\"webpack://./src/styles/mixins/_shorthander.scss\",\"webpack://./src/styles/variables/_colors.scss\",\"webpack://./src/styles/variables/_borders.scss\",\"webpack://./src/styles/mixins/_mq.scss\",\"webpack://./src/styles/mixins/_size.scss\",\"webpack://./src/styles/mixins/_pseudo.scss\",\"webpack://./src/styles/mixins/_hide.scss\",\"webpack://./src/styles/mixins/_fluid-size.scss\",\"webpack://./src/styles/mixins/_typography.scss\",\"webpack://./src/styles/variables/_typography.scss\",\"webpack://./src/styles/variables/_spacing.scss\"],\"names\":[],\"mappings\":\"AAQA,+BACE,KAJA,kDAAA,CAQA,GACE,kCAAA,CAAA,CAIJ,kBACE,2BAAA,CCIE,eAyEmB,CA1BjB,QAAA,CD7CJ,qBExBQ,CFyBR,qBGzBK,CH0BL,kBAAA,CACA,uDAAA,CACA,UAAA,CACA,SAAA,CIHE,0BJTJ,kBAGI,2BAAA,CAAA,CIEA,yBJUA,2CACE,oBEzBU,CF0BV,yDACE,UAAA,CAAA,CAMR,cACE,eAAA,CACA,eAAA,CACA,2DAAA,CAEA,oCAAA,CACA,sCAAA,CAIA,wDI7BE,yBJmBJ,cArCE,kDAAA,CAAA,CAAA,CIsBE,yBJeJ,cAiBI,kBAAA,CACA,YAAA,CACA,6BAAA,CAAA,CAIJ,YACE,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,qBAAA,CACA,aAAA,CACA,iCAAA,CACA,iBAAA,CIjDE,yBJ0CJ,YASI,YAAA,CAAA,CAIJ,uBACE,KACE,sBAAA,CAEF,GACE,wBAAA,CAAA,CAIJ,gBChEI,iBA+DmB,CAhBjB,OAAA,CAGA,UAAA,CDgBJ,0BAAA,CAIF,gBKlEE,WLiEa,CKhEb,ULgEa,CAGb,iBAAA,CACA,wBAAA,CACA,SAAA,CAEA,uBM3FA,WAAA,CAYA,aAAA,CLGE,iBA+DmB,CAhBjB,KAAA,CASA,MAAA,CIpDJ,WLiEa,CKhEb,ULgEa,CAUX,2CAAA,CACA,wBAAA,CACA,iBAAA,CACA,gCAAA,CACA,iCAAA,CACA,+BAAA,CACA,SAAA,CAIJ,aO/FI,QAAA,CACA,kBAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,SAAA,CACA,iBAAA,CACA,SAAA,CAEA,yEAEE,SAAA,CACA,WAAA,CACA,QAAA,CACA,gBAAA,CACA,eAAA,CACA,UAAA,CPmFN,cQzFM,cANO,CCVX,aANQ,CAOR,4CCTQ,CDUR,eCHO,CDIP,eCcQ,CV0FR,kBWhHW,CXiHX,QAAA,CIxFE,gDJqFJ,cQvFQ;;yBAAA,CAAA,CJFJ,0BJyFJ,cQlFQ,cAZK,CAAA,CRoGb,iBAEE,mBAAA,CACA,QAAA,CACA,YAAA,CACA,aAAA,CACA,iCAAA,CACA,0BAAA,CACA,QAAA,CACA,SAAA,CACA,iBAAA,CACA,SAAA,CAIA,8BACE,oBAAA,CAGF,0CMrIA,WAAA,CAYA,aAAA,CLGE,iBA+DmB,CAhBjB,OAAA,CAGA,SAAA,CAGA,UAAA,CAGA,QAAA,CDgEF,mBAAA,CACA,yBG9IM,CCyBN,yBJ+FJ,iBA0BI,0BGnJG,CHoJH,YAAA,CACA,cAAA,CACA,YAAA,CAAA\",\"sourcesContent\":[\"@import \\\"@/styles\\\";\\n\\n$bp-show-title: $bp-tablet-xl;\\n\\n@mixin box-shadow {\\n  box-shadow: inset -20px 0 15px -15px rgba(0, 0, 0, 0.5);\\n}\\n\\n@keyframes inner-shadow {\\n  from {\\n    @include box-shadow;\\n  }\\n\\n  to {\\n    box-shadow: inset 0 0 rgba(0, 0, 0, 0);\\n  }\\n}\\n\\n.container {\\n  --controls-bar-height: #{$controls-bar-height-m};\\n  @include mq($bp-sidebar) {\\n    --controls-bar-height: #{$controls-bar-height-d};\\n  }\\n\\n  @include sticky(20px x x x);\\n  background-color: $c-white;\\n  border: $rule;\\n  margin-bottom: 45px;\\n  transition: all $transition;\\n  width: 100%;\\n  z-index: 2;\\n  // On mobile, animate the top border during isLoading\\n  @include mq($bp-show-title, max) {\\n    &.container-loading {\\n      border-color: $c-bright-blue;\\n      .inner {\\n        opacity: 0.3;\\n      }\\n    }\\n  }\\n}\\n\\n.inner {\\n  overflow-x: auto;\\n  position: static;\\n  transition: opacity $transition;\\n  // Add gradient fade using animation-timeline (visible when container overflows)\\n  animation: inner-shadow linear;\\n  animation-timeline: scroll(self inline);\\n\\n  // Because MobileSafari doesn't yet support animation-timeline,\\n  // and overflow is very likely on mobile, apply the shadow manually up to $bp-tablet\\n  @supports not (animation-timeline: scroll(self inline)) {\\n    @include mq($bp-tablet, max) {\\n      @include box-shadow;\\n    }\\n  }\\n\\n  @include mq($bp-show-title) {\\n    align-items: center;\\n    display: flex;\\n    justify-content: space-between;\\n  }\\n}\\n\\n.top {\\n  display: flex;\\n  align-items: center;\\n  justify-content: space-between;\\n  padding: 0 $spacing-xl 0 $spacing-lg;\\n  flex: 0 0 auto;\\n  height: var(--controls-bar-height);\\n  position: relative;\\n  @include mq($bp-show-title, max) {\\n    display: none;\\n  }\\n}\\n\\n@keyframes spin {\\n  from {\\n    transform: rotate(0deg);\\n  }\\n  to {\\n    transform: rotate(360deg);\\n  }\\n}\\n\\n.loading {\\n  @include absolute(50% $spacing-md x x);\\n  transform: translateY(-50%);\\n}\\n\\n$spinner-size: 14px;\\n.spinner {\\n  @include size($spinner-size);\\n  border-radius: 50%;\\n  border: 2px solid $c-light-blue;\\n  z-index: 1;\\n\\n  &::after {\\n    @include pseudo(0 x x 0);\\n    @include size($spinner-size);\\n    animation: spin 600ms linear infinite;\\n    border: 2px solid $c-bright-blue;\\n    border-radius: 50%;\\n    border-right-color: transparent;\\n    border-bottom-color: transparent;\\n    border-left-color: transparent;\\n    z-index: 2;\\n  }\\n}\\n\\n.hide {\\n  @include hide;\\n}\\n\\n.title {\\n  @include body-text($weight: $fw-med);\\n  padding-right: $spacing-lg;\\n  margin: 0;\\n}\\n\\n.controls {\\n  // Fieldset element needs resetting on border, margin, padding\\n  align-items: stretch;\\n  border: 0;\\n  display: flex;\\n  flex: 0 0 auto;\\n  height: var(--controls-bar-height);\\n  justify-content: flex-start;\\n  margin: 0;\\n  padding: 0;\\n  position: relative;\\n  z-index: 2;\\n\\n  // Hide default focus styles (they are clipped by overflow-x: auto\\n  // and apply inset focus styles instead\\n  button:focus {\\n    outline: 0 !important;\\n  }\\n\\n  > div:focus-within::before {\\n    @include pseudo(3px 3px 3px 3px);\\n    pointer-events: none;\\n    outline: $outline;\\n  }\\n\\n  @include mq($bp-show-title) {\\n    border-left: $rule;\\n    border-top: 0;\\n    padding-left: 0;\\n    border-top: 0;\\n  }\\n}\\n\",\"// Shorthand method for common multi-value declarations such as absolute, padding, and margin. Can also be used as the basis to create new multi-value declarations that we haven't conceived.\\n//\\n// @name shorthander\\n// $position - Takes name of attribute: margin, padding, absolute, fixed, relative, static.\\n// $value - Takes 1-4 values, following convention of traditional CSS shorthand properties for margin, padding, etc. One notable improvement: You can use the shorthand and still leave some values blank. Do so by placing an 'n' in place of any numeral.\\n//\\n// @example scss - SCSS\\n// .item {\\n//   @include absolute(0 0 0 0);\\n//   //@include relative(0 0 0 0);\\n//   //@include fixed(0 0 0 0);\\n//   //@include padding(0 0 0 0);\\n//   //@include margin(0 0 0 0);\\n// }\\n\\n@mixin shorthander($position, $value) {\\n  $position-prefix: '';\\n\\n  @if $position == 'margin' or $position == 'padding' {\\n    $position-prefix: $position + '-';\\n  } @else if $position == 'null' {\\n    // do nothing\\n  } @else {\\n    position: $position;\\n  }\\n\\n  @if length($value) == 1 and $value != 'n' and $value != 'x' and $value != 'null' {\\n    #{$position-prefix}top: auto($value);\\n    #{$position-prefix}right: auto($value);\\n    #{$position-prefix}bottom: auto($value);\\n    #{$position-prefix}left: auto($value);\\n  }\\n\\n  @if length($value) == 2 {\\n    $value-y: nth($value, 1);\\n    $value-x: nth($value, 2);\\n    @if $value-y != 'n' and $value-y != 'x' and $value-y != 'null' {\\n      #{$position-prefix}top: auto($value-y);\\n      #{$position-prefix}bottom: auto($value-y);\\n    }\\n    @if $value-x != 'n' and $value-x != 'x' and $value-x != 'null' {\\n      #{$position-prefix}left: auto($value-x);\\n      #{$position-prefix}right: auto($value-x);\\n    }\\n  }\\n\\n  @if length($value) == 3 {\\n    $value-y-top: nth($value, 1);\\n    $value-x: nth($value, 2);\\n    $value-y-bottom: nth($value, 3);\\n\\n    @if $value-y-top != 'n' and $value-y-top != 'x' and $value-y-top != 'null' {\\n      #{$position-prefix}top: auto($value-y-top);\\n    }\\n    @if $value-x != 'n' and $value-x != 'x' and $value-x != 'null' {\\n      #{$position-prefix}right: auto($value-x);\\n      #{$position-prefix}left: auto($value-x);\\n    }\\n    @if $value-y-bottom != 'n' and $value-y-bottom != 'x' and $value-y-bottom != 'null' {\\n      #{$position-prefix}bottom: auto($value-y-bottom);\\n    }\\n  }\\n\\n  @if length($value) == 4 {\\n    $value-top: nth($value, 1);\\n    $value-right: nth($value, 2);\\n    $value-bottom: nth($value, 3);\\n    $value-left: nth($value, 4);\\n\\n    @if $value-top != 'n' and $value-top != 'x' and $value-top != 'null' {\\n      #{$position-prefix}top: auto($value-top);\\n    }\\n    @if $value-right != 'n' and $value-right != 'x' and $value-right != 'null' {\\n      #{$position-prefix}right: auto($value-right);\\n    }\\n    @if $value-bottom != 'n' and $value-bottom != 'x' and $value-bottom != 'null' {\\n      #{$position-prefix}bottom: auto($value-bottom);\\n    }\\n    @if $value-left != 'n' and $value-left != 'x' and $value-left != 'null' {\\n      #{$position-prefix}left: auto($value-left);\\n    }\\n  }\\n}\\n\\n// Absolute\\n@mixin absolute($value) {\\n  @include shorthander(absolute, $value);\\n}\\n\\n// Fixed\\n@mixin fixed($value) {\\n  @include shorthander(fixed, $value);\\n}\\n\\n// Sticky\\n@mixin sticky($value) {\\n  @include shorthander(sticky, $value);\\n}\\n\\n// Relative\\n@mixin relative($value) {\\n  @include shorthander(relative, $value);\\n}\\n\\n// Padding\\n@mixin padding($value) {\\n  @include shorthander(padding, $value);\\n}\\n\\n// Margin\\n@mixin margin($value) {\\n  @include shorthander(margin, $value);\\n}\\n\",\"$c-black: #000000;\\n$c-white: #ffffff;\\n$c-gray-light: #888888;\\n$c-gray-mid: #757575;\\n$c-gray-verylight: #e6e6e6;\\n$c-gray-superlight: #e9e9e9;\\n$c-gray-dark: #333333;\\n\\n// Blues\\n$c-bright-blue: #2251ff;\\n$c-deep-blue: #051c2c;\\n$c-purple-blue: #708fff;\\n$c-light-blue: #e0e7ff;\\n$c-verylight-blue: #f2f5f9;\\n\\n// McKinsey dataviz colors\\n$c-cyan-500: #00a9f4;\\n$c-electric-blue-900: #061f79;\\n\\n// Applications\\n$c-bg: $c-white;\\n$c-border: $c-gray-verylight;\\n$c-border-on-dark: rgba($c-white, 0.2);\\n$c-gray-text: $c-gray-mid;\\n$c-rule: $c-black;\\n$c-spot: $c-bright-blue;\\n$c-text: $c-black;\\n$c-outline: $c-purple-blue;\\n\",\"$border: 1px solid $c-border;\\n$rule: 1px solid $c-rule;\\n$outline: 4px solid $c-outline;\\n\",\"// Write less verbose media queries.\\n// $bp-1 - breakpoint value, min-width if declaring range\\n// $bp-2 [null] - [Optional] breakpoint value, max-width if declaring range\\n//\\n// @example scss - SCSS\\n// .item-1 {\\n//    @include mq(600px, 768px) {\\n//     display: block;\\n//   }\\n// }\\n//\\n// .item-2 {\\n//   @include mq(768px) {\\n//     display: block;\\n//   }\\n// }\\n\\n@mixin mq($bp-1, $bp-2: null) {\\n  @if $bp-1 == \\\"max\\\" {\\n    @media (max-width: $bp-2 - 1) {\\n      @content;\\n    }\\n  } @else if $bp-2 == \\\"max\\\" {\\n    @media (max-width: $bp-1 - 1) {\\n      @content;\\n    }\\n  } @else if $bp-2 == null {\\n    @media (min-width: $bp-1) {\\n      @content;\\n    }\\n  } @else {\\n    @media (min-width: $bp-1) and (max-width: $bp-2 - 1) {\\n      @content;\\n    }\\n  }\\n}\\n\",\"/// Sets the `width` and `height` of the element.\\n/// @param {Number [unit]} $width - Width (or height and width if $height is not declared)\\n/// @param {Number [unit]} $height - Height\\n/// @link http://codepen.io/upstatement/pen/KpoOpZ See it on Codepen\\n///\\n/// @example scss - Usage\\n/// .box-1 {\\n///   @include size(100px, 150px);\\n/// }\\n///\\n/// .box-2 {\\n///   @include size(200px);\\n/// }\\n///\\n/// @example css - CSS Output\\n/// .box-1 {\\n///   width: 100px;\\n///   height: 150px;\\n/// }\\n///\\n/// .box-2 {\\n///   width: 200px;\\n///   height: 200px;\\n/// }\\n///\\n\\n@mixin size($width, $height: $width) {\\n  height: $height;\\n  width: $width;\\n}\\n\",\"// Content\\n// -------\\n// FOR: Filling pseudo-clases :before, :after with blank content\\n// WHY: Pseudo classes won't appear unless you fill them with content.\\n// This mixin includes the difficult-to-recall cross-browser character code for \\\"blank\\\".\\n// USE: @include content;\\n\\n@mixin content($content: '\\\\0020') {\\n  content: '#{$content}';\\n}\\n\\n\\n// Pseudo\\n// -------\\n// FOR: Quickly pasting essential and commonly used properties that make pseudo classes work\\n// WHY: Easier than remembering and writing each time. Should cut down on mistakes/debugging.\\n// USE: @include pseudo;\\n\\n@mixin pseudo($coordinates: none) {\\n  @include content;\\n  display: block;\\n  @if $coordinates != 'none' {\\n    @include absolute($coordinates);\\n  }\\n}\\n\",\"// Hides text, but is accessible to screen readers. Best used on single element next to an element that will display. IE: title next to an icon.\\n// $accessible [true] - Triggers accessible clip method. Use \\\"false\\\" for font: 0 method.\\n//\\n// @example scss - SCSS\\n// .item {\\n//   @include hide();\\n//   //@include hide(false);\\n// }\\n\\n@mixin hide($accessible: true) {\\n\\n  @if $accessible != true {\\n    color: transparent;\\n    font: 0/0 a;\\n    text-shadow: none;\\n  }\\n  @else {\\n    border: 0;\\n    clip: rect(0 0 0 0);\\n    height: 1px;\\n    margin: -1px;\\n    overflow: hidden;\\n    padding: 0;\\n    position: absolute;\\n    width: 1px;\\n\\n    &.focusable:active,\\n    &.focusable:focus {\\n      clip: auto;\\n      height: auto;\\n      margin: 0;\\n      overflow: visible;\\n      position: static;\\n      width: auto;\\n    }\\n  }\\n}\\n\",\"// - - - - - - - - - - - - - - - - - - - - - - - - - -----------------------------\\n// Fluid Font Sizing\\n//\\n// FOR:   Dynamically changing the size of type\\n//        between certain screen sizes. Think of\\n//        it as a CSS-only version of FitText\\n// REQ:   Depends on the `mq` media query mixin\\n// REF:   http://www.adrenalinmedia.com.au/blog/january-2016/this-changes-everything-css-%E2%80%98fluid-properties%E2%80%99\\n// USE:   @include fluid-size(\\n//          40px $bp__tablet--sm,\\n//          60px $bp__desktop\\n//        );\\n//\\n// - - - - - - - - - - - - - - - - - - - - - - - - - ----------------------------\\n\\n@mixin fluid-size(\\n  $properties: font-size,\\n  $tween-start: 16px 400px,\\n  $tween-end: 60px 1400px,\\n  $use-mq: true\\n) {\\n  $min-size: nth($tween-start, 1);\\n  $max-size: nth($tween-end, 1);\\n  $min-width: nth($tween-start, 2);\\n  $max-width: nth($tween-end, 2);\\n  @each $property in $properties {\\n    @if $use-mq {\\n      #{$property}: $min-size;\\n      @include mq($min-width, $max-width) {\\n        #{$property}: calc(#{$min-size} + (#{strip-units($max-size)} - #{strip-units($min-size)}) * (\\n          100vw - #{$min-width}\\n        ) / (#{strip-units($max-width)} - #{strip-units($min-width)}));\\n      }\\n      @include mq($max-width) {\\n        #{$property}: $max-size;\\n      }\\n    } @else {\\n      #{$property}: calc(#{$min-size} +\\n      (#{strip-units($max-size)} - #{strip-units($min-size)}) *\\n      (100vw - #{$min-width}) /\\n      (#{strip-units($max-width)} - #{strip-units($min-width)}));\\n    }\\n  }\\n}\\n\\n// Misin just for font size\\n@mixin fluid-font($tween-start: 16px 400px, $tween-end: 60px 1400px, $use-mq: true) {\\n  @include fluid-size(font-size, $tween-start, $tween-end, $use-mq);\\n}\\n\",\"// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// basic type mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin body-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  @include fluid-font($fs-xxs $bp-phablet, $fs-xs $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin heading-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.35\\n) {\\n  @include fluid-font($fs-sm $bp-phablet, 21px $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin dek-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.375\\n) {\\n  @include fluid-font($fs-sm $bp-phablet, $fs-md $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin control-label(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.25\\n) {\\n  color: $color;\\n  font-family: $font;\\n  font-size: $fs-xs;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin basic-formatting {\\n  a {\\n    @include inline-link;\\n  }\\n\\n  strong,\\n  b {\\n    font-weight: $fw-med;\\n  }\\n  em,\\n  i {\\n    font-style: italic;\\n  }\\n}\\n\\n// Since SVGs scale up with browser, reduce font size on larger screens\\n@mixin svg-label($weight: $fw-light, $has-breakout: true) {\\n  font-family: $ff-sans;\\n  font-size: $fs-md;\\n  font-weight: $weight;\\n\\n  @include mq($bp-tablet) {\\n    font-size: $fs-sm;\\n  }\\n\\n  @if ($has-breakout) {\\n    @include mq($bp-breakout-chart) {\\n      font-size: $fs-xs;\\n    }\\n  }\\n}\\n\\n@mixin tiny-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  color: $color;\\n  font-size: $fs-xxxs;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n  @include mq($bp-phablet) {\\n    font-size: $fs-xxs;\\n  }\\n}\\n\\n@mixin micro-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  color: $color;\\n  font-size: $fs-xxxxs;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n\\n  @include mq($bp-tablet) {\\n    font-size: $fs-xxxs;\\n  }\\n  @include mq($bp-desktop) {\\n    font-size: $fs-xxs;\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// link mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin inline-link(\\n  $color: inherit,\\n  $underline: $c-bright-blue,\\n  $hover: $c-white,\\n  $active: $c-spot\\n) {\\n  border-bottom: solid 2px $underline;\\n  color: $color;\\n  cursor: pointer;\\n  padding-left: 0.125rem;\\n  padding-right: 0.125rem;\\n  text-decoration: none;\\n\\n  &:hover {\\n    background-color: $underline;\\n    border-bottom: solid 2px $underline;\\n    color: $hover;\\n  }\\n  &:focus-visible {\\n    outline: $outline;\\n  }\\n}\\n\\n@mixin inline-link-on-dark {\\n  @include inline-link($c-cyan-500, $c-cyan-500, $c-deep-blue);\\n}\\n\\n@mixin arrow-link {\\n  color: $c-black;\\n  display: inline-block;\\n  font-weight: $fw-med;\\n  text-decoration: none;\\n  transition: all 0.5s ease-out;\\n\\n  &:after {\\n    color: $c-bright-blue;\\n    content: \\\"\\\\e608\\\";\\n    display: inline;\\n    font-family: $ff-icons;\\n    font-weight: $fw-reg;\\n    font-size: inherit;\\n    padding-left: 0.5rem;\\n    padding-right: 0.75rem;\\n    transition: padding 0.4s ease-in-out;\\n    vertical-align: middle;\\n  }\\n\\n  &:hover,\\n  &:focus-visible {\\n    color: $c-bright-blue;\\n    &:after {\\n      padding-left: 1.5rem;\\n      padding-right: 0;\\n    }\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// Button mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin button($style: solid, $color: $c-text, $bg: $c-bg) {\\n  @include body-text;\\n  padding: 0.55em 1.1em;\\n  appearance: none;\\n\\n  &:focus-visible {\\n    outline: $outline;\\n  }\\n\\n  @if $style == outline {\\n    background-color: transparent;\\n    border: 1px solid $color;\\n\\n    &:hover,\\n    &:focus-visible {\\n      background-color: $color;\\n      border-color: $color;\\n      color: $bg;\\n    }\\n  } @else {\\n    background-color: $bg;\\n    color: $color;\\n    border: solid 1px transparent;\\n    &:hover,\\n    &:focus-visible {\\n      background-color: $color;\\n      border-color: $bg;\\n      color: $bg;\\n    }\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// Heading Mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin h1($color: inherit, $font: $ff-serif, $weight: $fw-med, $lh: 1) {\\n  @include fluid-font(38px 400px, $fs-xxxl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  letter-spacing: -0.03em;\\n  line-height: $lh;\\n}\\n\\n@mixin h2($color: inherit, $font: $ff-sans, $weight: $fw-med, $lh: 0.9) {\\n  @include fluid-font($fs-lg 400px, $fs-xl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin h3($color: inherit, $font: $ff-sans, $weight: $fw-med, $lh: 1) {\\n  @include fluid-font($fs-sm 400px, $fs-xl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\",\"// Families\\n\\n// replace with actual fonts\\n$ff-sans: \\\"McKinsey Sans\\\", Arial, sans-serif;\\n$ff-serif: Bower, Georgia, serif;\\n$ff-icons: mck-icons;\\n\\n// Weights\\n$fw-light: 300;\\n$fw-reg: 400;\\n$fw-med: 500;\\n\\n// Sizes\\n$fs-xxxxs: 9px;\\n\\n$fs-xxxs: 12px;\\n$fs-xxs: 14px;\\n$fs-xs: 16px;\\n$fs-sm: 18px;\\n$fs-md: 24px;\\n$fs-lg: 28px;\\n$fs-xl: 36px;\\n$fs-xxl: 45px;\\n$fs-xxxl: 52px;\\n$fs-xxxxl: 110px;\\n$fs-xxxxxl: 98px;\\n\\n// Line Height\\n$lh-base: 1.5;\\n$lh-med: 1.375;\\n$lh-tiny: 1;\\n$lh-small: 1;\\n$lh-smallcap: 1.25;\\n\\n$lh-mono: 1.2;\\n\",\"@use \\\"sass:math\\\";\\n\\n$spacing-xxs: 5px;\\n$spacing-xs: 8px;\\n$spacing-sm: 12px;\\n$spacing-md: 18px;\\n$spacing-lg: 24px;\\n$spacing-xl: 36px;\\n$spacing-xxl: 60px;\\n$spacing-xxxl: 100px;\\n$spacing-xxxxl: 200px;\\n\\n// Grid\\n$grid-gutter: 40px;\\n$grid-padding: math.div($grid-gutter, 2);\\n$grid-gutter-mobile: 20px;\\n$grid-padding-mobile: math.div($grid-gutter-mobile, 2);\\n\\n// Controls bar\\n$controls-bar-height-m: 65px;\\n$controls-bar-height-d: 75px;\\n\\n// Space between chart and end notes\\n$notes-spacing: $spacing-lg;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"container\": \"container__mRiYQ\",\n\t\"container-loading\": \"container-loading__GZgF3\",\n\t\"inner\": \"inner__C7ROd\",\n\t\"inner-shadow\": \"inner-shadow__R8tHS\",\n\t\"top\": \"top__usr9V\",\n\t\"loading\": \"loading__kcQB2\",\n\t\"spinner\": \"spinner__hrv98\",\n\t\"spin\": \"spin__w0xJX\",\n\t\"hide\": \"hide__fiMwI\",\n\t\"focusable\": \"focusable__NnlcV\",\n\t\"title\": \"title__c7Goz\",\n\t\"controls\": \"controls__NMiXO\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".container__FpAkk{--heading-color: #000000;--text-color: #000000;--icon-bg: #000000;--icon-bg-hover: #2251ff;--icon-color: #ffffff}.container__FpAkk.dark-bg__H6zti{--heading-color: #ffffff;--text-color: rgba(255, 255, 255, 0.5);--icon-bg: #ffffff;--icon-bg-hover: #00a9f4;--icon-color: #000000}.container__FpAkk h2,.container__FpAkk h3{color:var(--heading-color);font-size:12px;font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-weight:500;line-height:1.5;margin:0;padding:0}@media(min-width: 400px){.container__FpAkk h2,.container__FpAkk h3{font-size:14px}}.container__FpAkk .summary__DeA2O{cursor:pointer;display:block;line-height:1.5;position:relative}.container__FpAkk .summary__DeA2O::-webkit-details-marker{display:none}.container__FpAkk .summary__DeA2O svg.svg-plus__Tvzm3{position:absolute;top:50%;left:0;height:11px;width:11px;background-color:var(--icon-bg);border-radius:50%;color:var(--icon-color);margin:0;transform:translateY(-85%)}@media(min-width: 600px){.container__FpAkk .summary__DeA2O svg.svg-plus__Tvzm3{height:13px;width:13px;transform:translateY(-75%)}}.container__FpAkk .summary__DeA2O:focus-within h2~svg.svg-plus__Tvzm3,.container__FpAkk .summary__DeA2O:focus-within h3~svg.svg-plus__Tvzm3{background-color:var(--icon-bg-hover);color:#fff}.container__FpAkk .summary__DeA2O h2,.container__FpAkk .summary__DeA2O h3{display:inline-block;margin:0 0 8px;position:relative;padding:0 0 0 1.375em}.container__FpAkk .summary__DeA2O h2:hover,.container__FpAkk .summary__DeA2O h2:focus-visible,.container__FpAkk .summary__DeA2O h3:hover,.container__FpAkk .summary__DeA2O h3:focus-visible{color:var(--icon-bg-hover)}.container__FpAkk .summary__DeA2O h2:hover~svg.svg-plus__Tvzm3,.container__FpAkk .summary__DeA2O h2:focus-visible~svg.svg-plus__Tvzm3,.container__FpAkk .summary__DeA2O h3:hover~svg.svg-plus__Tvzm3,.container__FpAkk .summary__DeA2O h3:focus-visible~svg.svg-plus__Tvzm3{background-color:var(--icon-bg-hover);color:#fff}.container__FpAkk .details__amhg3[open] svg.svg-plus__Tvzm3 rect.horiz__pS5X_{fill-opacity:0}.container__FpAkk sup{display:inline-block;font-size:70%;margin-left:-0.625em;padding-right:2px}.container__FpAkk p,.container__FpAkk li{color:var(--text-color);font-size:12px;font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-weight:300;line-height:1.5;margin:0}@media(min-width: 400px){.container__FpAkk p,.container__FpAkk li{font-size:14px}}.container__FpAkk ul,.container__FpAkk ol{margin:0;padding-left:1em}.container__FpAkk ul li,.container__FpAkk ol li{margin:0}.container__FpAkk ul{list-style:disc}.container__FpAkk ol{list-style:decimal}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/EndNotes/styles.module.scss\",\"webpack://./src/styles/mixins/_typography.scss\",\"webpack://./src/styles/variables/_typography.scss\",\"webpack://./src/styles/mixins/_mq.scss\",\"webpack://./src/styles/mixins/_shorthander.scss\",\"webpack://./src/styles/mixins/_size.scss\",\"webpack://./src/styles/variables/_colors.scss\"],\"names\":[],\"mappings\":\"AAEA,kBACE,wBAAA,CACA,qBAAA,CACA,kBAAA,CACA,wBAAA,CACA,qBAAA,CAEA,iCACE,wBAAA,CACA,sCAAA,CACA,kBAAA,CACA,wBAAA,CACA,qBAAA,CAGF,0CC6EA,0BD3E6B,CC4E7B,cChFQ,CDiFR,4CC7FQ,CD8FR,eCvFO,CDwFP,eCtEQ,CFRN,QAAA,CACA,SAAA,CGMA,yBHVF,0CCmFE,cCpFK,CAAA,CFQP,kCACE,cAAA,CACA,aAAA,CACA,eAAA,CACA,iBAAA,CAEA,0DACE,YAAA,CAIF,sDIZA,iBA+DmB,CAhBjB,OAAA,CASA,MAAA,CCpDJ,WLUkB,CKTlB,ULSkB,CACd,+BAAA,CACA,iBAAA,CACA,uBAAA,CACA,QAAA,CACA,0BAAA,CGfF,yBHQA,sDKRF,WLkBoB,CKjBpB,ULiBoB,CACd,0BAAA,CAAA,CAOA,4IACE,qCAAA,CACA,UMtDA,CN2DN,0EAEE,oBAAA,CACA,cAAA,CACA,iBAAA,CACA,qBAAA,CAEA,4LAEE,0BAAA,CACA,4QACE,qCAAA,CACA,UMvEA,CNgFJ,8EACE,cAAA,CAKN,sBACE,oBAAA,CACA,aAAA,CACA,oBAAA,CACA,iBAAA,CAGF,yCAAA,uBAE6B,CCD7B,cChFQ,CDiFR,4CC7FQ,CD8FR,eCzFS,CD0FT,eCtEQ,CFqEN,QAAA,CGtEA,yBHmEF,yCCME,cCpFK,CAAA,CFoFP,0CAEE,QAAA,CACA,gBAAA,CAEA,gDACE,QAAA,CAGJ,qBACE,eAAA,CAGF,qBACE,kBAAA\",\"sourcesContent\":[\"@import \\\"@/styles\\\";\\n\\n.container {\\n  --heading-color: #{$c-black};\\n  --text-color: #{$c-black};\\n  --icon-bg: #{$c-black};\\n  --icon-bg-hover: #{$c-bright-blue};\\n  --icon-color: #{$c-white};\\n\\n  &.dark-bg {\\n    --heading-color: #{$c-white};\\n    --text-color: #{rgba($c-white, 0.5)};\\n    --icon-bg: #{$c-white};\\n    --icon-bg-hover: #{$c-cyan-500};\\n    --icon-color: #{$c-black};\\n  }\\n\\n  h2,\\n  h3 {\\n    @include tiny-text($color: var(--heading-color), $weight: $fw-med);\\n    margin: 0;\\n    padding: 0;\\n  }\\n\\n  .summary {\\n    cursor: pointer;\\n    display: block;\\n    line-height: 1.5;\\n    position: relative;\\n\\n    &::-webkit-details-marker {\\n      display: none;\\n    }\\n\\n    // Icon\\n    svg.svg-plus {\\n      @include absolute(50% x x 0);\\n      @include size(11px);\\n      background-color: var(--icon-bg);\\n      border-radius: 50%;\\n      color: var(--icon-color);\\n      margin: 0;\\n      transform: translateY(-85%);\\n\\n      @include mq($bp-tablet) {\\n        @include size(13px);\\n        transform: translateY(-75%);\\n      }\\n    }\\n\\n    &:focus-within {\\n      h2,\\n      h3 {\\n        ~ svg.svg-plus {\\n          background-color: var(--icon-bg-hover);\\n          color: $c-white;\\n        }\\n      }\\n    }\\n\\n    h2,\\n    h3 {\\n      display: inline-block;\\n      margin: 0 0 $spacing-xs;\\n      position: relative;\\n      padding: 0 0 0 1.375em;\\n\\n      &:hover,\\n      &:focus-visible {\\n        color: var(--icon-bg-hover);\\n        ~ svg.svg-plus {\\n          background-color: var(--icon-bg-hover);\\n          color: $c-white;\\n        }\\n      }\\n    }\\n  }\\n\\n  // Hide a rectangle so the + becomes a -\\n  .details[open] {\\n    svg.svg-plus {\\n      rect.horiz {\\n        fill-opacity: 0;\\n      }\\n    }\\n  }\\n\\n  sup {\\n    display: inline-block;\\n    font-size: 70%;\\n    margin-left: -0.625em;\\n    padding-right: 2px;\\n  }\\n\\n  p,\\n  li {\\n    @include tiny-text($color: var(--text-color));\\n    margin: 0;\\n  }\\n\\n  ul,\\n  ol {\\n    margin: 0;\\n    padding-left: 1em;\\n\\n    li {\\n      margin: 0;\\n    }\\n  }\\n  ul {\\n    list-style: disc;\\n  }\\n\\n  ol {\\n    list-style: decimal;\\n  }\\n}\\n\",\"// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// basic type mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin body-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  @include fluid-font($fs-xxs $bp-phablet, $fs-xs $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin heading-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.35\\n) {\\n  @include fluid-font($fs-sm $bp-phablet, 21px $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin dek-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.375\\n) {\\n  @include fluid-font($fs-sm $bp-phablet, $fs-md $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin control-label(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.25\\n) {\\n  color: $color;\\n  font-family: $font;\\n  font-size: $fs-xs;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin basic-formatting {\\n  a {\\n    @include inline-link;\\n  }\\n\\n  strong,\\n  b {\\n    font-weight: $fw-med;\\n  }\\n  em,\\n  i {\\n    font-style: italic;\\n  }\\n}\\n\\n// Since SVGs scale up with browser, reduce font size on larger screens\\n@mixin svg-label($weight: $fw-light, $has-breakout: true) {\\n  font-family: $ff-sans;\\n  font-size: $fs-md;\\n  font-weight: $weight;\\n\\n  @include mq($bp-tablet) {\\n    font-size: $fs-sm;\\n  }\\n\\n  @if ($has-breakout) {\\n    @include mq($bp-breakout-chart) {\\n      font-size: $fs-xs;\\n    }\\n  }\\n}\\n\\n@mixin tiny-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  color: $color;\\n  font-size: $fs-xxxs;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n  @include mq($bp-phablet) {\\n    font-size: $fs-xxs;\\n  }\\n}\\n\\n@mixin micro-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  color: $color;\\n  font-size: $fs-xxxxs;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n\\n  @include mq($bp-tablet) {\\n    font-size: $fs-xxxs;\\n  }\\n  @include mq($bp-desktop) {\\n    font-size: $fs-xxs;\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// link mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin inline-link(\\n  $color: inherit,\\n  $underline: $c-bright-blue,\\n  $hover: $c-white,\\n  $active: $c-spot\\n) {\\n  border-bottom: solid 2px $underline;\\n  color: $color;\\n  cursor: pointer;\\n  padding-left: 0.125rem;\\n  padding-right: 0.125rem;\\n  text-decoration: none;\\n\\n  &:hover {\\n    background-color: $underline;\\n    border-bottom: solid 2px $underline;\\n    color: $hover;\\n  }\\n  &:focus-visible {\\n    outline: $outline;\\n  }\\n}\\n\\n@mixin inline-link-on-dark {\\n  @include inline-link($c-cyan-500, $c-cyan-500, $c-deep-blue);\\n}\\n\\n@mixin arrow-link {\\n  color: $c-black;\\n  display: inline-block;\\n  font-weight: $fw-med;\\n  text-decoration: none;\\n  transition: all 0.5s ease-out;\\n\\n  &:after {\\n    color: $c-bright-blue;\\n    content: \\\"\\\\e608\\\";\\n    display: inline;\\n    font-family: $ff-icons;\\n    font-weight: $fw-reg;\\n    font-size: inherit;\\n    padding-left: 0.5rem;\\n    padding-right: 0.75rem;\\n    transition: padding 0.4s ease-in-out;\\n    vertical-align: middle;\\n  }\\n\\n  &:hover,\\n  &:focus-visible {\\n    color: $c-bright-blue;\\n    &:after {\\n      padding-left: 1.5rem;\\n      padding-right: 0;\\n    }\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// Button mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin button($style: solid, $color: $c-text, $bg: $c-bg) {\\n  @include body-text;\\n  padding: 0.55em 1.1em;\\n  appearance: none;\\n\\n  &:focus-visible {\\n    outline: $outline;\\n  }\\n\\n  @if $style == outline {\\n    background-color: transparent;\\n    border: 1px solid $color;\\n\\n    &:hover,\\n    &:focus-visible {\\n      background-color: $color;\\n      border-color: $color;\\n      color: $bg;\\n    }\\n  } @else {\\n    background-color: $bg;\\n    color: $color;\\n    border: solid 1px transparent;\\n    &:hover,\\n    &:focus-visible {\\n      background-color: $color;\\n      border-color: $bg;\\n      color: $bg;\\n    }\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// Heading Mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin h1($color: inherit, $font: $ff-serif, $weight: $fw-med, $lh: 1) {\\n  @include fluid-font(38px 400px, $fs-xxxl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  letter-spacing: -0.03em;\\n  line-height: $lh;\\n}\\n\\n@mixin h2($color: inherit, $font: $ff-sans, $weight: $fw-med, $lh: 0.9) {\\n  @include fluid-font($fs-lg 400px, $fs-xl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin h3($color: inherit, $font: $ff-sans, $weight: $fw-med, $lh: 1) {\\n  @include fluid-font($fs-sm 400px, $fs-xl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\",\"// Families\\n\\n// replace with actual fonts\\n$ff-sans: \\\"McKinsey Sans\\\", Arial, sans-serif;\\n$ff-serif: Bower, Georgia, serif;\\n$ff-icons: mck-icons;\\n\\n// Weights\\n$fw-light: 300;\\n$fw-reg: 400;\\n$fw-med: 500;\\n\\n// Sizes\\n$fs-xxxxs: 9px;\\n\\n$fs-xxxs: 12px;\\n$fs-xxs: 14px;\\n$fs-xs: 16px;\\n$fs-sm: 18px;\\n$fs-md: 24px;\\n$fs-lg: 28px;\\n$fs-xl: 36px;\\n$fs-xxl: 45px;\\n$fs-xxxl: 52px;\\n$fs-xxxxl: 110px;\\n$fs-xxxxxl: 98px;\\n\\n// Line Height\\n$lh-base: 1.5;\\n$lh-med: 1.375;\\n$lh-tiny: 1;\\n$lh-small: 1;\\n$lh-smallcap: 1.25;\\n\\n$lh-mono: 1.2;\\n\",\"// Write less verbose media queries.\\n// $bp-1 - breakpoint value, min-width if declaring range\\n// $bp-2 [null] - [Optional] breakpoint value, max-width if declaring range\\n//\\n// @example scss - SCSS\\n// .item-1 {\\n//    @include mq(600px, 768px) {\\n//     display: block;\\n//   }\\n// }\\n//\\n// .item-2 {\\n//   @include mq(768px) {\\n//     display: block;\\n//   }\\n// }\\n\\n@mixin mq($bp-1, $bp-2: null) {\\n  @if $bp-1 == \\\"max\\\" {\\n    @media (max-width: $bp-2 - 1) {\\n      @content;\\n    }\\n  } @else if $bp-2 == \\\"max\\\" {\\n    @media (max-width: $bp-1 - 1) {\\n      @content;\\n    }\\n  } @else if $bp-2 == null {\\n    @media (min-width: $bp-1) {\\n      @content;\\n    }\\n  } @else {\\n    @media (min-width: $bp-1) and (max-width: $bp-2 - 1) {\\n      @content;\\n    }\\n  }\\n}\\n\",\"// Shorthand method for common multi-value declarations such as absolute, padding, and margin. Can also be used as the basis to create new multi-value declarations that we haven't conceived.\\n//\\n// @name shorthander\\n// $position - Takes name of attribute: margin, padding, absolute, fixed, relative, static.\\n// $value - Takes 1-4 values, following convention of traditional CSS shorthand properties for margin, padding, etc. One notable improvement: You can use the shorthand and still leave some values blank. Do so by placing an 'n' in place of any numeral.\\n//\\n// @example scss - SCSS\\n// .item {\\n//   @include absolute(0 0 0 0);\\n//   //@include relative(0 0 0 0);\\n//   //@include fixed(0 0 0 0);\\n//   //@include padding(0 0 0 0);\\n//   //@include margin(0 0 0 0);\\n// }\\n\\n@mixin shorthander($position, $value) {\\n  $position-prefix: '';\\n\\n  @if $position == 'margin' or $position == 'padding' {\\n    $position-prefix: $position + '-';\\n  } @else if $position == 'null' {\\n    // do nothing\\n  } @else {\\n    position: $position;\\n  }\\n\\n  @if length($value) == 1 and $value != 'n' and $value != 'x' and $value != 'null' {\\n    #{$position-prefix}top: auto($value);\\n    #{$position-prefix}right: auto($value);\\n    #{$position-prefix}bottom: auto($value);\\n    #{$position-prefix}left: auto($value);\\n  }\\n\\n  @if length($value) == 2 {\\n    $value-y: nth($value, 1);\\n    $value-x: nth($value, 2);\\n    @if $value-y != 'n' and $value-y != 'x' and $value-y != 'null' {\\n      #{$position-prefix}top: auto($value-y);\\n      #{$position-prefix}bottom: auto($value-y);\\n    }\\n    @if $value-x != 'n' and $value-x != 'x' and $value-x != 'null' {\\n      #{$position-prefix}left: auto($value-x);\\n      #{$position-prefix}right: auto($value-x);\\n    }\\n  }\\n\\n  @if length($value) == 3 {\\n    $value-y-top: nth($value, 1);\\n    $value-x: nth($value, 2);\\n    $value-y-bottom: nth($value, 3);\\n\\n    @if $value-y-top != 'n' and $value-y-top != 'x' and $value-y-top != 'null' {\\n      #{$position-prefix}top: auto($value-y-top);\\n    }\\n    @if $value-x != 'n' and $value-x != 'x' and $value-x != 'null' {\\n      #{$position-prefix}right: auto($value-x);\\n      #{$position-prefix}left: auto($value-x);\\n    }\\n    @if $value-y-bottom != 'n' and $value-y-bottom != 'x' and $value-y-bottom != 'null' {\\n      #{$position-prefix}bottom: auto($value-y-bottom);\\n    }\\n  }\\n\\n  @if length($value) == 4 {\\n    $value-top: nth($value, 1);\\n    $value-right: nth($value, 2);\\n    $value-bottom: nth($value, 3);\\n    $value-left: nth($value, 4);\\n\\n    @if $value-top != 'n' and $value-top != 'x' and $value-top != 'null' {\\n      #{$position-prefix}top: auto($value-top);\\n    }\\n    @if $value-right != 'n' and $value-right != 'x' and $value-right != 'null' {\\n      #{$position-prefix}right: auto($value-right);\\n    }\\n    @if $value-bottom != 'n' and $value-bottom != 'x' and $value-bottom != 'null' {\\n      #{$position-prefix}bottom: auto($value-bottom);\\n    }\\n    @if $value-left != 'n' and $value-left != 'x' and $value-left != 'null' {\\n      #{$position-prefix}left: auto($value-left);\\n    }\\n  }\\n}\\n\\n// Absolute\\n@mixin absolute($value) {\\n  @include shorthander(absolute, $value);\\n}\\n\\n// Fixed\\n@mixin fixed($value) {\\n  @include shorthander(fixed, $value);\\n}\\n\\n// Sticky\\n@mixin sticky($value) {\\n  @include shorthander(sticky, $value);\\n}\\n\\n// Relative\\n@mixin relative($value) {\\n  @include shorthander(relative, $value);\\n}\\n\\n// Padding\\n@mixin padding($value) {\\n  @include shorthander(padding, $value);\\n}\\n\\n// Margin\\n@mixin margin($value) {\\n  @include shorthander(margin, $value);\\n}\\n\",\"/// Sets the `width` and `height` of the element.\\n/// @param {Number [unit]} $width - Width (or height and width if $height is not declared)\\n/// @param {Number [unit]} $height - Height\\n/// @link http://codepen.io/upstatement/pen/KpoOpZ See it on Codepen\\n///\\n/// @example scss - Usage\\n/// .box-1 {\\n///   @include size(100px, 150px);\\n/// }\\n///\\n/// .box-2 {\\n///   @include size(200px);\\n/// }\\n///\\n/// @example css - CSS Output\\n/// .box-1 {\\n///   width: 100px;\\n///   height: 150px;\\n/// }\\n///\\n/// .box-2 {\\n///   width: 200px;\\n///   height: 200px;\\n/// }\\n///\\n\\n@mixin size($width, $height: $width) {\\n  height: $height;\\n  width: $width;\\n}\\n\",\"$c-black: #000000;\\n$c-white: #ffffff;\\n$c-gray-light: #888888;\\n$c-gray-mid: #757575;\\n$c-gray-verylight: #e6e6e6;\\n$c-gray-superlight: #e9e9e9;\\n$c-gray-dark: #333333;\\n\\n// Blues\\n$c-bright-blue: #2251ff;\\n$c-deep-blue: #051c2c;\\n$c-purple-blue: #708fff;\\n$c-light-blue: #e0e7ff;\\n$c-verylight-blue: #f2f5f9;\\n\\n// McKinsey dataviz colors\\n$c-cyan-500: #00a9f4;\\n$c-electric-blue-900: #061f79;\\n\\n// Applications\\n$c-bg: $c-white;\\n$c-border: $c-gray-verylight;\\n$c-border-on-dark: rgba($c-white, 0.2);\\n$c-gray-text: $c-gray-mid;\\n$c-rule: $c-black;\\n$c-spot: $c-bright-blue;\\n$c-text: $c-black;\\n$c-outline: $c-purple-blue;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"container\": \"container__FpAkk\",\n\t\"dark-bg\": \"dark-bg__H6zti\",\n\t\"summary\": \"summary__DeA2O\",\n\t\"svg-plus\": \"svg-plus__Tvzm3\",\n\t\"details\": \"details__amhg3\",\n\t\"horiz\": \"horiz__pS5X_\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".container__PlpWW{padding-left:20px;padding-right:20px;margin:36px auto;min-height:50vh}@media(min-width: 768px){.container__PlpWW{padding-left:40px;padding-right:40px}}.container__PlpWW h1{font-size:38px;color:inherit;font-family:Bower,Georgia,serif;font-weight:500;letter-spacing:-0.03em;line-height:1.2;letter-spacing:0}@media(min-width: 400px)and (max-width: 1599px){.container__PlpWW h1{font-size:calc(38px + (52 - 38) * (\\n          100vw - 400px\\n        ) / (1600 - 400))}}@media(min-width: 1600px){.container__PlpWW h1{font-size:52px}}.container__PlpWW p{font-size:18px;color:inherit;font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-weight:300;line-height:1.375}.container__PlpWW p a{border-bottom:solid 2px #2251ff;color:inherit;cursor:pointer;padding-left:.125rem;padding-right:.125rem;text-decoration:none}.container__PlpWW p a:hover{background-color:#2251ff;border-bottom:solid 2px #2251ff;color:#fff}.container__PlpWW p a:focus-visible{outline:4px solid #708fff}.container__PlpWW p strong,.container__PlpWW p b{font-weight:500}.container__PlpWW p em,.container__PlpWW p i{font-style:italic}@media(min-width: 400px)and (max-width: 1023px){.container__PlpWW p{font-size:calc(18px + (24 - 18) * (\\n          100vw - 400px\\n        ) / (1024 - 400))}}@media(min-width: 1024px){.container__PlpWW p{font-size:24px}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/ErrorBoundary/styles.module.scss\",\"webpack://./src/styles/mixins/_shorthander.scss\",\"webpack://./src/styles/mixins/_mq.scss\",\"webpack://./src/styles/mixins/_fluid-size.scss\",\"webpack://./src/styles/mixins/_typography.scss\",\"webpack://./src/styles/variables/_typography.scss\",\"webpack://./src/styles/variables/_colors.scss\",\"webpack://./src/styles/variables/_borders.scss\"],\"names\":[],\"mappings\":\"AAEA,kBCuCM,iBAAA,CACA,kBAAA,CDtCJ,gBAAA,CACA,eAAA,CEsBE,yBFzBJ,kBCuCM,iBAAA,CACA,kBAAA,CAAA,CDnCJ,qBGoBI,cANO,CC8MX,aAFgB,CAGhB,+BChOS,CDiOT,eC3NO,CD4NP,sBAAA,CACA,eJ/NmB,CACjB,gBAAA,CEsBA,gDFxBF,qBGsBM;;yBAAA,CAAA,CDFJ,0BFpBF,qBG2BM,cAZK,CAAA,CHVX,oBGeI,cANO,CCgBX,aANQ,CAOR,4CCnCQ,CDoCR,eC/BS,CDgCT,iBANK,CAuBL,sBA6EA,+BAAA,CACA,aANQ,CAOR,cAAA,CACA,oBAAA,CACA,qBAAA,CACA,oBAAA,CAEA,4BACE,wBErIY,CFsIZ,+BAAA,CACA,UE/IM,CFiJR,oCACE,yBGjJM,CH2DR,iDAEE,eCrDK,CDuDP,6CAEE,iBAAA,CFpCA,gDFnBF,oBGiBM;;yBAAA,CAAA,CDFJ,0BFfF,oBGsBM,cAZK,CAAA\",\"sourcesContent\":[\"@import \\\"@/styles\\\";\\n\\n.container {\\n  @include site-pad;\\n  margin: $spacing-xl auto;\\n  min-height: 50vh;\\n\\n  h1 {\\n    @include h1($lh: 1.2);\\n    letter-spacing: 0;\\n  }\\n\\n  p {\\n    @include basic-formatting;\\n    @include dek-text;\\n  }\\n}\\n\",\"// Shorthand method for common multi-value declarations such as absolute, padding, and margin. Can also be used as the basis to create new multi-value declarations that we haven't conceived.\\n//\\n// @name shorthander\\n// $position - Takes name of attribute: margin, padding, absolute, fixed, relative, static.\\n// $value - Takes 1-4 values, following convention of traditional CSS shorthand properties for margin, padding, etc. One notable improvement: You can use the shorthand and still leave some values blank. Do so by placing an 'n' in place of any numeral.\\n//\\n// @example scss - SCSS\\n// .item {\\n//   @include absolute(0 0 0 0);\\n//   //@include relative(0 0 0 0);\\n//   //@include fixed(0 0 0 0);\\n//   //@include padding(0 0 0 0);\\n//   //@include margin(0 0 0 0);\\n// }\\n\\n@mixin shorthander($position, $value) {\\n  $position-prefix: '';\\n\\n  @if $position == 'margin' or $position == 'padding' {\\n    $position-prefix: $position + '-';\\n  } @else if $position == 'null' {\\n    // do nothing\\n  } @else {\\n    position: $position;\\n  }\\n\\n  @if length($value) == 1 and $value != 'n' and $value != 'x' and $value != 'null' {\\n    #{$position-prefix}top: auto($value);\\n    #{$position-prefix}right: auto($value);\\n    #{$position-prefix}bottom: auto($value);\\n    #{$position-prefix}left: auto($value);\\n  }\\n\\n  @if length($value) == 2 {\\n    $value-y: nth($value, 1);\\n    $value-x: nth($value, 2);\\n    @if $value-y != 'n' and $value-y != 'x' and $value-y != 'null' {\\n      #{$position-prefix}top: auto($value-y);\\n      #{$position-prefix}bottom: auto($value-y);\\n    }\\n    @if $value-x != 'n' and $value-x != 'x' and $value-x != 'null' {\\n      #{$position-prefix}left: auto($value-x);\\n      #{$position-prefix}right: auto($value-x);\\n    }\\n  }\\n\\n  @if length($value) == 3 {\\n    $value-y-top: nth($value, 1);\\n    $value-x: nth($value, 2);\\n    $value-y-bottom: nth($value, 3);\\n\\n    @if $value-y-top != 'n' and $value-y-top != 'x' and $value-y-top != 'null' {\\n      #{$position-prefix}top: auto($value-y-top);\\n    }\\n    @if $value-x != 'n' and $value-x != 'x' and $value-x != 'null' {\\n      #{$position-prefix}right: auto($value-x);\\n      #{$position-prefix}left: auto($value-x);\\n    }\\n    @if $value-y-bottom != 'n' and $value-y-bottom != 'x' and $value-y-bottom != 'null' {\\n      #{$position-prefix}bottom: auto($value-y-bottom);\\n    }\\n  }\\n\\n  @if length($value) == 4 {\\n    $value-top: nth($value, 1);\\n    $value-right: nth($value, 2);\\n    $value-bottom: nth($value, 3);\\n    $value-left: nth($value, 4);\\n\\n    @if $value-top != 'n' and $value-top != 'x' and $value-top != 'null' {\\n      #{$position-prefix}top: auto($value-top);\\n    }\\n    @if $value-right != 'n' and $value-right != 'x' and $value-right != 'null' {\\n      #{$position-prefix}right: auto($value-right);\\n    }\\n    @if $value-bottom != 'n' and $value-bottom != 'x' and $value-bottom != 'null' {\\n      #{$position-prefix}bottom: auto($value-bottom);\\n    }\\n    @if $value-left != 'n' and $value-left != 'x' and $value-left != 'null' {\\n      #{$position-prefix}left: auto($value-left);\\n    }\\n  }\\n}\\n\\n// Absolute\\n@mixin absolute($value) {\\n  @include shorthander(absolute, $value);\\n}\\n\\n// Fixed\\n@mixin fixed($value) {\\n  @include shorthander(fixed, $value);\\n}\\n\\n// Sticky\\n@mixin sticky($value) {\\n  @include shorthander(sticky, $value);\\n}\\n\\n// Relative\\n@mixin relative($value) {\\n  @include shorthander(relative, $value);\\n}\\n\\n// Padding\\n@mixin padding($value) {\\n  @include shorthander(padding, $value);\\n}\\n\\n// Margin\\n@mixin margin($value) {\\n  @include shorthander(margin, $value);\\n}\\n\",\"// Write less verbose media queries.\\n// $bp-1 - breakpoint value, min-width if declaring range\\n// $bp-2 [null] - [Optional] breakpoint value, max-width if declaring range\\n//\\n// @example scss - SCSS\\n// .item-1 {\\n//    @include mq(600px, 768px) {\\n//     display: block;\\n//   }\\n// }\\n//\\n// .item-2 {\\n//   @include mq(768px) {\\n//     display: block;\\n//   }\\n// }\\n\\n@mixin mq($bp-1, $bp-2: null) {\\n  @if $bp-1 == \\\"max\\\" {\\n    @media (max-width: $bp-2 - 1) {\\n      @content;\\n    }\\n  } @else if $bp-2 == \\\"max\\\" {\\n    @media (max-width: $bp-1 - 1) {\\n      @content;\\n    }\\n  } @else if $bp-2 == null {\\n    @media (min-width: $bp-1) {\\n      @content;\\n    }\\n  } @else {\\n    @media (min-width: $bp-1) and (max-width: $bp-2 - 1) {\\n      @content;\\n    }\\n  }\\n}\\n\",\"// - - - - - - - - - - - - - - - - - - - - - - - - - -----------------------------\\n// Fluid Font Sizing\\n//\\n// FOR:   Dynamically changing the size of type\\n//        between certain screen sizes. Think of\\n//        it as a CSS-only version of FitText\\n// REQ:   Depends on the `mq` media query mixin\\n// REF:   http://www.adrenalinmedia.com.au/blog/january-2016/this-changes-everything-css-%E2%80%98fluid-properties%E2%80%99\\n// USE:   @include fluid-size(\\n//          40px $bp__tablet--sm,\\n//          60px $bp__desktop\\n//        );\\n//\\n// - - - - - - - - - - - - - - - - - - - - - - - - - ----------------------------\\n\\n@mixin fluid-size(\\n  $properties: font-size,\\n  $tween-start: 16px 400px,\\n  $tween-end: 60px 1400px,\\n  $use-mq: true\\n) {\\n  $min-size: nth($tween-start, 1);\\n  $max-size: nth($tween-end, 1);\\n  $min-width: nth($tween-start, 2);\\n  $max-width: nth($tween-end, 2);\\n  @each $property in $properties {\\n    @if $use-mq {\\n      #{$property}: $min-size;\\n      @include mq($min-width, $max-width) {\\n        #{$property}: calc(#{$min-size} + (#{strip-units($max-size)} - #{strip-units($min-size)}) * (\\n          100vw - #{$min-width}\\n        ) / (#{strip-units($max-width)} - #{strip-units($min-width)}));\\n      }\\n      @include mq($max-width) {\\n        #{$property}: $max-size;\\n      }\\n    } @else {\\n      #{$property}: calc(#{$min-size} +\\n      (#{strip-units($max-size)} - #{strip-units($min-size)}) *\\n      (100vw - #{$min-width}) /\\n      (#{strip-units($max-width)} - #{strip-units($min-width)}));\\n    }\\n  }\\n}\\n\\n// Misin just for font size\\n@mixin fluid-font($tween-start: 16px 400px, $tween-end: 60px 1400px, $use-mq: true) {\\n  @include fluid-size(font-size, $tween-start, $tween-end, $use-mq);\\n}\\n\",\"// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// basic type mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin body-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  @include fluid-font($fs-xxs $bp-phablet, $fs-xs $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin heading-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.35\\n) {\\n  @include fluid-font($fs-sm $bp-phablet, 21px $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin dek-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.375\\n) {\\n  @include fluid-font($fs-sm $bp-phablet, $fs-md $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin control-label(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.25\\n) {\\n  color: $color;\\n  font-family: $font;\\n  font-size: $fs-xs;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin basic-formatting {\\n  a {\\n    @include inline-link;\\n  }\\n\\n  strong,\\n  b {\\n    font-weight: $fw-med;\\n  }\\n  em,\\n  i {\\n    font-style: italic;\\n  }\\n}\\n\\n// Since SVGs scale up with browser, reduce font size on larger screens\\n@mixin svg-label($weight: $fw-light, $has-breakout: true) {\\n  font-family: $ff-sans;\\n  font-size: $fs-md;\\n  font-weight: $weight;\\n\\n  @include mq($bp-tablet) {\\n    font-size: $fs-sm;\\n  }\\n\\n  @if ($has-breakout) {\\n    @include mq($bp-breakout-chart) {\\n      font-size: $fs-xs;\\n    }\\n  }\\n}\\n\\n@mixin tiny-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  color: $color;\\n  font-size: $fs-xxxs;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n  @include mq($bp-phablet) {\\n    font-size: $fs-xxs;\\n  }\\n}\\n\\n@mixin micro-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  color: $color;\\n  font-size: $fs-xxxxs;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n\\n  @include mq($bp-tablet) {\\n    font-size: $fs-xxxs;\\n  }\\n  @include mq($bp-desktop) {\\n    font-size: $fs-xxs;\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// link mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin inline-link(\\n  $color: inherit,\\n  $underline: $c-bright-blue,\\n  $hover: $c-white,\\n  $active: $c-spot\\n) {\\n  border-bottom: solid 2px $underline;\\n  color: $color;\\n  cursor: pointer;\\n  padding-left: 0.125rem;\\n  padding-right: 0.125rem;\\n  text-decoration: none;\\n\\n  &:hover {\\n    background-color: $underline;\\n    border-bottom: solid 2px $underline;\\n    color: $hover;\\n  }\\n  &:focus-visible {\\n    outline: $outline;\\n  }\\n}\\n\\n@mixin inline-link-on-dark {\\n  @include inline-link($c-cyan-500, $c-cyan-500, $c-deep-blue);\\n}\\n\\n@mixin arrow-link {\\n  color: $c-black;\\n  display: inline-block;\\n  font-weight: $fw-med;\\n  text-decoration: none;\\n  transition: all 0.5s ease-out;\\n\\n  &:after {\\n    color: $c-bright-blue;\\n    content: \\\"\\\\e608\\\";\\n    display: inline;\\n    font-family: $ff-icons;\\n    font-weight: $fw-reg;\\n    font-size: inherit;\\n    padding-left: 0.5rem;\\n    padding-right: 0.75rem;\\n    transition: padding 0.4s ease-in-out;\\n    vertical-align: middle;\\n  }\\n\\n  &:hover,\\n  &:focus-visible {\\n    color: $c-bright-blue;\\n    &:after {\\n      padding-left: 1.5rem;\\n      padding-right: 0;\\n    }\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// Button mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin button($style: solid, $color: $c-text, $bg: $c-bg) {\\n  @include body-text;\\n  padding: 0.55em 1.1em;\\n  appearance: none;\\n\\n  &:focus-visible {\\n    outline: $outline;\\n  }\\n\\n  @if $style == outline {\\n    background-color: transparent;\\n    border: 1px solid $color;\\n\\n    &:hover,\\n    &:focus-visible {\\n      background-color: $color;\\n      border-color: $color;\\n      color: $bg;\\n    }\\n  } @else {\\n    background-color: $bg;\\n    color: $color;\\n    border: solid 1px transparent;\\n    &:hover,\\n    &:focus-visible {\\n      background-color: $color;\\n      border-color: $bg;\\n      color: $bg;\\n    }\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// Heading Mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin h1($color: inherit, $font: $ff-serif, $weight: $fw-med, $lh: 1) {\\n  @include fluid-font(38px 400px, $fs-xxxl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  letter-spacing: -0.03em;\\n  line-height: $lh;\\n}\\n\\n@mixin h2($color: inherit, $font: $ff-sans, $weight: $fw-med, $lh: 0.9) {\\n  @include fluid-font($fs-lg 400px, $fs-xl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin h3($color: inherit, $font: $ff-sans, $weight: $fw-med, $lh: 1) {\\n  @include fluid-font($fs-sm 400px, $fs-xl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\",\"// Families\\n\\n// replace with actual fonts\\n$ff-sans: \\\"McKinsey Sans\\\", Arial, sans-serif;\\n$ff-serif: Bower, Georgia, serif;\\n$ff-icons: mck-icons;\\n\\n// Weights\\n$fw-light: 300;\\n$fw-reg: 400;\\n$fw-med: 500;\\n\\n// Sizes\\n$fs-xxxxs: 9px;\\n\\n$fs-xxxs: 12px;\\n$fs-xxs: 14px;\\n$fs-xs: 16px;\\n$fs-sm: 18px;\\n$fs-md: 24px;\\n$fs-lg: 28px;\\n$fs-xl: 36px;\\n$fs-xxl: 45px;\\n$fs-xxxl: 52px;\\n$fs-xxxxl: 110px;\\n$fs-xxxxxl: 98px;\\n\\n// Line Height\\n$lh-base: 1.5;\\n$lh-med: 1.375;\\n$lh-tiny: 1;\\n$lh-small: 1;\\n$lh-smallcap: 1.25;\\n\\n$lh-mono: 1.2;\\n\",\"$c-black: #000000;\\n$c-white: #ffffff;\\n$c-gray-light: #888888;\\n$c-gray-mid: #757575;\\n$c-gray-verylight: #e6e6e6;\\n$c-gray-superlight: #e9e9e9;\\n$c-gray-dark: #333333;\\n\\n// Blues\\n$c-bright-blue: #2251ff;\\n$c-deep-blue: #051c2c;\\n$c-purple-blue: #708fff;\\n$c-light-blue: #e0e7ff;\\n$c-verylight-blue: #f2f5f9;\\n\\n// McKinsey dataviz colors\\n$c-cyan-500: #00a9f4;\\n$c-electric-blue-900: #061f79;\\n\\n// Applications\\n$c-bg: $c-white;\\n$c-border: $c-gray-verylight;\\n$c-border-on-dark: rgba($c-white, 0.2);\\n$c-gray-text: $c-gray-mid;\\n$c-rule: $c-black;\\n$c-spot: $c-bright-blue;\\n$c-text: $c-black;\\n$c-outline: $c-purple-blue;\\n\",\"$border: 1px solid $c-border;\\n$rule: 1px solid $c-rule;\\n$outline: 4px solid $c-outline;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"container\": \"container__PlpWW\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".link__pfAAf{gap:20px;padding-left:20px;padding-right:20px;padding-top:20px;padding-bottom:20px;background:#fff;border-top:1px solid #e6e6e6;display:grid;grid-template-columns:1fr 1fr;text-decoration:none}@media(min-width: 768px){.link__pfAAf{gap:40px}}.link__pfAAf .image-wrap__Xv0kV{overflow:hidden;position:relative;z-index:1}.link__pfAAf .image-wrap__Xv0kV::after{content:\\\" \\\";display:block;position:absolute;top:0;left:0;height:100%;width:100%;border:0;pointer-events:none;transition:border .25s ease-out;z-index:2}.link__pfAAf img{display:block;transform:scale(1.05);transition:transform .25s ease-out;position:relative;width:100%;z-index:1}.link__pfAAf:hover .image-wrap__Xv0kV,.link__pfAAf:focus .image-wrap__Xv0kV{outline:0}.link__pfAAf:hover .image-wrap__Xv0kV::after,.link__pfAAf:focus .image-wrap__Xv0kV::after{border:4px solid #2251ff}.link__pfAAf:hover .image-wrap__Xv0kV img,.link__pfAAf:focus .image-wrap__Xv0kV img{transform:scale(1)}@media(min-width: 768px){.link__pfAAf{padding-left:40px;padding-right:40px}}@media(min-width: 768px){.link__pfAAf{padding-top:40px;padding-bottom:40px}}@media(min-width: 1024px){.link__pfAAf{grid-template-columns:2fr 1fr}}.link__pfAAf:hover,.link__pfAAf:focus{outline:0}.link__pfAAf:hover .headline__CYZV7,.link__pfAAf:focus .headline__CYZV7{text-decoration:underline;text-underline-offset:1.6px;text-decoration-thickness:2px}.link__pfAAf:hover .title__b5fpP,.link__pfAAf:focus .title__b5fpP{color:#2251ff}.link__pfAAf:hover .title__b5fpP:after,.link__pfAAf:focus .title__b5fpP:after{padding-left:1.5rem;padding-right:0}.image-wrap__Xv0kV{aspect-ratio:500/300;background:#e9e9e9;order:2}@media(max-width: 1023px){.image-wrap__Xv0kV{margin-top:2.75em}}.image-wrap__Xv0kV img{display:block;width:100%}.text-wrap__n1hyp{max-width:600px;order:1}.overline__M0et4{font-size:14px;color:#000;font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-weight:500;line-height:1.5;border:0;margin:0 0 1em;text-decoration:none}@media(min-width: 400px)and (max-width: 1023px){.overline__M0et4{font-size:calc(14px + (16 - 14) * (\\n          100vw - 400px\\n        ) / (1024 - 400))}}@media(min-width: 1024px){.overline__M0et4{font-size:16px}}.headline__CYZV7{font-size:18px;color:inherit;font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-weight:500;line-height:1;color:#000;margin:0 0 1em}@media(min-width: 400px)and (max-width: 1599px){.headline__CYZV7{font-size:calc(18px + (36 - 18) * (\\n          100vw - 400px\\n        ) / (1600 - 400))}}@media(min-width: 1600px){.headline__CYZV7{font-size:36px}}.title__b5fpP{color:#000;display:inline-block;font-weight:500;text-decoration:none;transition:all .5s ease-out;font-weight:300;line-height:1.1;text-decoration:none;pointer-events:none}.title__b5fpP:after{color:#2251ff;content:\\\"\\\";display:inline;font-family:mck-icons;font-weight:400;font-size:inherit;padding-left:.5rem;padding-right:.75rem;transition:padding .4s ease-in-out;vertical-align:middle}.title__b5fpP:hover,.title__b5fpP:focus-visible{color:#2251ff}.title__b5fpP:hover:after,.title__b5fpP:focus-visible:after{padding-left:1.5rem;padding-right:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/FooterCTA/styles.module.scss\",\"webpack://./src/styles/variables/_spacing.scss\",\"webpack://./src/styles/mixins/_shorthander.scss\",\"webpack://./src/styles/variables/_colors.scss\",\"webpack://./src/styles/variables/_borders.scss\",\"webpack://./src/styles/mixins/_mq.scss\",\"webpack://./src/styles/mixins/_img-hover.scss\",\"webpack://./src/styles/mixins/_pseudo.scss\",\"webpack://./src/styles/variables/_sizes.scss\",\"webpack://./src/styles/mixins/_fluid-size.scss\",\"webpack://./src/styles/variables/_typography.scss\",\"webpack://./src/styles/mixins/_typography.scss\"],\"names\":[],\"mappings\":\"AAAA,aAEA,QCaqB,CAAA,iBC0Bf,CAAA,kBACA,CAAA,gBALA,CAAA,mBACA,CAAA,eCrCI,CAAA,4BCDD,CAAA,YJQP,CAAA,6BACA,CAAA,oBACA,CAAA,yBKiBE,aLzBJ,QCWc,CAAA,CAAA,gCKVZ,eACE,CAAA,iBACA,CAAA,SACA,CAAA,uCACA,WCCF,CAAA,aAYA,CAAA,iBLkEqB,CAAA,KAhBjB,CAAA,MASA,CAAA,WItEc,CAAA,UAAA,CAAA,QACd,CAAA,mBACA,CAAA,+BACA,CAAA,SACA,CAAA,iBAIJ,aACE,CAAA,qBACA,CAAA,kCACA,CAAA,iBACA,CAAA,UACA,CAAA,SACA,CAAA,4EAKA,SACE,CAAA,0FACA,wBACE,CAAA,oFAEF,kBACE,CAAA,yBDPJ,aLzBJ,iBEuCM,CAAA,kBACA,CAAA,CAAA,yBGfF,aLzBJ,gBEmCM,CAAA,mBACA,CAAA,CAAA,0BGXF,aLzBJ,6BAUI,CAAA,CAAA,sCAGF,SAEE,CAAA,wEAEA,yBACE,CAAA,2BACA,CAAA,6BACA,CAAA,kEAGF,aGhBY,CAAA,8EHkBV,mBACE,CAAA,eACA,CAAA,mBAMR,oBQpBe,CAAA,kBLVK,CAAA,OHiClB,CAAA,0BKfE,mBLYJ,iBAOI,CAAA,CAAA,uBAGF,aACE,CAAA,UACA,CAAA,kBAIJ,eACE,CAAA,OACA,CAAA,iBAGF,cSnCa,CAAA,UNrBH,CAAA,4COGA,CAAA,eAOD,CAAA,eAkBC,CAAA,QV8BR,CAAA,cACA,CAAA,oBACA,CAAA,gDK7BE,iBLyBJ;;yBS3BQ,CAAA,CJFJ,0BL6BJ,iBStBQ,cAZK,CAAA,CTyCb,iBSpCM,cANO,CE+NX,aAFgB,CAGhB,4CDlPQ,CCmPR,eD5OO,CC6OP,aALiE,CXjLjE,UGjEQ,CHkER,cAAA,CKnCE,gDLgCJ,iBSlCQ;;yBAAA,CAAA,CJFJ,0BLoCJ,iBS7BQ,cAZK,CAAA,CT+Cb,cWuFE,UR5JQ,CQ6JR,oBAAA,CACA,eDpJO,CCqJP,oBAAA,CACA,2BAAA,CXzFA,eU/DS,CVgET,eAAA,CACA,oBAAA,CACA,mBAAA,CWwFA,oBACE,aR1JY,CQ2JZ,WAAA,CACA,cAAA,CACA,qBDjKO,CCkKP,eD9JK,CC+JL,iBAAA,CACA,kBAAA,CACA,oBAAA,CACA,kCAAA,CACA,qBAAA,CAGF,gDAEE,aRxKY,CQyKZ,4DACE,mBAAA,CACA,eAAA\",\"sourcesContent\":[\"@import \\\"@/styles\\\";\\n\\n.link {\\n  @include gap;\\n  @include img-hover(\\\".image-wrap\\\");\\n  @include site-pad(both);\\n  background: $c-white;\\n  border-top: $border;\\n  display: grid;\\n  grid-template-columns: 1fr 1fr;\\n  text-decoration: none;\\n  @include mq($bp-sidebar) {\\n    grid-template-columns: 2fr 1fr;\\n  }\\n\\n  &:hover,\\n  &:focus {\\n    outline: 0;\\n\\n    .headline {\\n      text-decoration: underline;\\n      text-underline-offset: 1.6px;\\n      text-decoration-thickness: 2px;\\n    }\\n\\n    .title {\\n      color: $c-bright-blue;\\n      &:after {\\n        padding-left: 1.5rem;\\n        padding-right: 0;\\n      }\\n    }\\n  }\\n}\\n\\n.image-wrap {\\n  aspect-ratio: $thumb-aspect;\\n  background: $c-gray-superlight;\\n  order: 2;\\n\\n  // Align top with headline on mobile\\n  @include mq($bp-sidebar, max) {\\n    margin-top: 2.75em;\\n  }\\n\\n  img {\\n    display: block;\\n    width: 100%;\\n  }\\n}\\n\\n.text-wrap {\\n  max-width: 600px;\\n  order: 1;\\n}\\n\\n.overline {\\n  @include body-text($c-black, $weight: $fw-med);\\n  border: 0;\\n  margin: 0 0 1em;\\n  text-decoration: none;\\n}\\n\\n.headline {\\n  @include h3;\\n  color: $c-black;\\n  margin: 0 0 1em;\\n}\\n\\n.title {\\n  @include arrow-link;\\n  font-weight: $fw-light;\\n  line-height: 1.1;\\n  text-decoration: none;\\n  pointer-events: none;\\n}\\n\",\"@use \\\"sass:math\\\";\\n\\n$spacing-xxs: 5px;\\n$spacing-xs: 8px;\\n$spacing-sm: 12px;\\n$spacing-md: 18px;\\n$spacing-lg: 24px;\\n$spacing-xl: 36px;\\n$spacing-xxl: 60px;\\n$spacing-xxxl: 100px;\\n$spacing-xxxxl: 200px;\\n\\n// Grid\\n$grid-gutter: 40px;\\n$grid-padding: math.div($grid-gutter, 2);\\n$grid-gutter-mobile: 20px;\\n$grid-padding-mobile: math.div($grid-gutter-mobile, 2);\\n\\n// Controls bar\\n$controls-bar-height-m: 65px;\\n$controls-bar-height-d: 75px;\\n\\n// Space between chart and end notes\\n$notes-spacing: $spacing-lg;\\n\",\"// Shorthand method for common multi-value declarations such as absolute, padding, and margin. Can also be used as the basis to create new multi-value declarations that we haven't conceived.\\n//\\n// @name shorthander\\n// $position - Takes name of attribute: margin, padding, absolute, fixed, relative, static.\\n// $value - Takes 1-4 values, following convention of traditional CSS shorthand properties for margin, padding, etc. One notable improvement: You can use the shorthand and still leave some values blank. Do so by placing an 'n' in place of any numeral.\\n//\\n// @example scss - SCSS\\n// .item {\\n//   @include absolute(0 0 0 0);\\n//   //@include relative(0 0 0 0);\\n//   //@include fixed(0 0 0 0);\\n//   //@include padding(0 0 0 0);\\n//   //@include margin(0 0 0 0);\\n// }\\n\\n@mixin shorthander($position, $value) {\\n  $position-prefix: '';\\n\\n  @if $position == 'margin' or $position == 'padding' {\\n    $position-prefix: $position + '-';\\n  } @else if $position == 'null' {\\n    // do nothing\\n  } @else {\\n    position: $position;\\n  }\\n\\n  @if length($value) == 1 and $value != 'n' and $value != 'x' and $value != 'null' {\\n    #{$position-prefix}top: auto($value);\\n    #{$position-prefix}right: auto($value);\\n    #{$position-prefix}bottom: auto($value);\\n    #{$position-prefix}left: auto($value);\\n  }\\n\\n  @if length($value) == 2 {\\n    $value-y: nth($value, 1);\\n    $value-x: nth($value, 2);\\n    @if $value-y != 'n' and $value-y != 'x' and $value-y != 'null' {\\n      #{$position-prefix}top: auto($value-y);\\n      #{$position-prefix}bottom: auto($value-y);\\n    }\\n    @if $value-x != 'n' and $value-x != 'x' and $value-x != 'null' {\\n      #{$position-prefix}left: auto($value-x);\\n      #{$position-prefix}right: auto($value-x);\\n    }\\n  }\\n\\n  @if length($value) == 3 {\\n    $value-y-top: nth($value, 1);\\n    $value-x: nth($value, 2);\\n    $value-y-bottom: nth($value, 3);\\n\\n    @if $value-y-top != 'n' and $value-y-top != 'x' and $value-y-top != 'null' {\\n      #{$position-prefix}top: auto($value-y-top);\\n    }\\n    @if $value-x != 'n' and $value-x != 'x' and $value-x != 'null' {\\n      #{$position-prefix}right: auto($value-x);\\n      #{$position-prefix}left: auto($value-x);\\n    }\\n    @if $value-y-bottom != 'n' and $value-y-bottom != 'x' and $value-y-bottom != 'null' {\\n      #{$position-prefix}bottom: auto($value-y-bottom);\\n    }\\n  }\\n\\n  @if length($value) == 4 {\\n    $value-top: nth($value, 1);\\n    $value-right: nth($value, 2);\\n    $value-bottom: nth($value, 3);\\n    $value-left: nth($value, 4);\\n\\n    @if $value-top != 'n' and $value-top != 'x' and $value-top != 'null' {\\n      #{$position-prefix}top: auto($value-top);\\n    }\\n    @if $value-right != 'n' and $value-right != 'x' and $value-right != 'null' {\\n      #{$position-prefix}right: auto($value-right);\\n    }\\n    @if $value-bottom != 'n' and $value-bottom != 'x' and $value-bottom != 'null' {\\n      #{$position-prefix}bottom: auto($value-bottom);\\n    }\\n    @if $value-left != 'n' and $value-left != 'x' and $value-left != 'null' {\\n      #{$position-prefix}left: auto($value-left);\\n    }\\n  }\\n}\\n\\n// Absolute\\n@mixin absolute($value) {\\n  @include shorthander(absolute, $value);\\n}\\n\\n// Fixed\\n@mixin fixed($value) {\\n  @include shorthander(fixed, $value);\\n}\\n\\n// Sticky\\n@mixin sticky($value) {\\n  @include shorthander(sticky, $value);\\n}\\n\\n// Relative\\n@mixin relative($value) {\\n  @include shorthander(relative, $value);\\n}\\n\\n// Padding\\n@mixin padding($value) {\\n  @include shorthander(padding, $value);\\n}\\n\\n// Margin\\n@mixin margin($value) {\\n  @include shorthander(margin, $value);\\n}\\n\",\"$c-black: #000000;\\n$c-white: #ffffff;\\n$c-gray-light: #888888;\\n$c-gray-mid: #757575;\\n$c-gray-verylight: #e6e6e6;\\n$c-gray-superlight: #e9e9e9;\\n$c-gray-dark: #333333;\\n\\n// Blues\\n$c-bright-blue: #2251ff;\\n$c-deep-blue: #051c2c;\\n$c-purple-blue: #708fff;\\n$c-light-blue: #e0e7ff;\\n$c-verylight-blue: #f2f5f9;\\n\\n// McKinsey dataviz colors\\n$c-cyan-500: #00a9f4;\\n$c-electric-blue-900: #061f79;\\n\\n// Applications\\n$c-bg: $c-white;\\n$c-border: $c-gray-verylight;\\n$c-border-on-dark: rgba($c-white, 0.2);\\n$c-gray-text: $c-gray-mid;\\n$c-rule: $c-black;\\n$c-spot: $c-bright-blue;\\n$c-text: $c-black;\\n$c-outline: $c-purple-blue;\\n\",\"$border: 1px solid $c-border;\\n$rule: 1px solid $c-rule;\\n$outline: 4px solid $c-outline;\\n\",\"// Write less verbose media queries.\\n// $bp-1 - breakpoint value, min-width if declaring range\\n// $bp-2 [null] - [Optional] breakpoint value, max-width if declaring range\\n//\\n// @example scss - SCSS\\n// .item-1 {\\n//    @include mq(600px, 768px) {\\n//     display: block;\\n//   }\\n// }\\n//\\n// .item-2 {\\n//   @include mq(768px) {\\n//     display: block;\\n//   }\\n// }\\n\\n@mixin mq($bp-1, $bp-2: null) {\\n  @if $bp-1 == \\\"max\\\" {\\n    @media (max-width: $bp-2 - 1) {\\n      @content;\\n    }\\n  } @else if $bp-2 == \\\"max\\\" {\\n    @media (max-width: $bp-1 - 1) {\\n      @content;\\n    }\\n  } @else if $bp-2 == null {\\n    @media (min-width: $bp-1) {\\n      @content;\\n    }\\n  } @else {\\n    @media (min-width: $bp-1) and (max-width: $bp-2 - 1) {\\n      @content;\\n    }\\n  }\\n}\\n\",\"// Apply to a link wrapping an image,\\n// pass image wrapper div as $target\\n@mixin img-hover($target) {\\n  #{$target} {\\n    overflow: hidden;\\n    position: relative;\\n    z-index: 1;\\n    &::after {\\n      @include pseudo(0 x x 0);\\n      @include size(100%);\\n      border: 0;\\n      pointer-events: none;\\n      transition: border 0.25s ease-out;\\n      z-index: 2;\\n    }\\n  }\\n\\n  img {\\n    display: block;\\n    transform: scale(1.05);\\n    transition: transform 0.25s ease-out;\\n    position: relative;\\n    width: 100%;\\n    z-index: 1;\\n  }\\n\\n  &:hover,\\n  &:focus {\\n    #{$target} {\\n      outline: 0;\\n      &::after {\\n        border: 4px solid $c-bright-blue;\\n      }\\n      img {\\n        transform: scale(1);\\n      }\\n    }\\n  }\\n}\\n\",\"// Content\\n// -------\\n// FOR: Filling pseudo-clases :before, :after with blank content\\n// WHY: Pseudo classes won't appear unless you fill them with content.\\n// This mixin includes the difficult-to-recall cross-browser character code for \\\"blank\\\".\\n// USE: @include content;\\n\\n@mixin content($content: '\\\\0020') {\\n  content: '#{$content}';\\n}\\n\\n\\n// Pseudo\\n// -------\\n// FOR: Quickly pasting essential and commonly used properties that make pseudo classes work\\n// WHY: Easier than remembering and writing each time. Should cut down on mistakes/debugging.\\n// USE: @include pseudo;\\n\\n@mixin pseudo($coordinates: none) {\\n  @include content;\\n  display: block;\\n  @if $coordinates != 'none' {\\n    @include absolute($coordinates);\\n  }\\n}\\n\",\"// Columns\\n$one-col: 8.3333333333333%;\\n$two-col: 16.6666666666666%;\\n$three-col: 25%;\\n$four-col: 33.3333333333333%;\\n$five-col: 41.6666666666666%;\\n$six-col: 50%;\\n$seven-col: 58.3333333333333%;\\n$eight-col: 66.6666666666666%;\\n$nine-col: 75%;\\n$ten-col: 83.3333333333333%;\\n$eleven-col: 91.6666666666666%;\\n$twelve-col: 100%;\\n\\n// Thumbnail image aspect ratio\\n$thumb-aspect: #{500 / 300};\\n\",\"// - - - - - - - - - - - - - - - - - - - - - - - - - -----------------------------\\n// Fluid Font Sizing\\n//\\n// FOR:   Dynamically changing the size of type\\n//        between certain screen sizes. Think of\\n//        it as a CSS-only version of FitText\\n// REQ:   Depends on the `mq` media query mixin\\n// REF:   http://www.adrenalinmedia.com.au/blog/january-2016/this-changes-everything-css-%E2%80%98fluid-properties%E2%80%99\\n// USE:   @include fluid-size(\\n//          40px $bp__tablet--sm,\\n//          60px $bp__desktop\\n//        );\\n//\\n// - - - - - - - - - - - - - - - - - - - - - - - - - ----------------------------\\n\\n@mixin fluid-size(\\n  $properties: font-size,\\n  $tween-start: 16px 400px,\\n  $tween-end: 60px 1400px,\\n  $use-mq: true\\n) {\\n  $min-size: nth($tween-start, 1);\\n  $max-size: nth($tween-end, 1);\\n  $min-width: nth($tween-start, 2);\\n  $max-width: nth($tween-end, 2);\\n  @each $property in $properties {\\n    @if $use-mq {\\n      #{$property}: $min-size;\\n      @include mq($min-width, $max-width) {\\n        #{$property}: calc(#{$min-size} + (#{strip-units($max-size)} - #{strip-units($min-size)}) * (\\n          100vw - #{$min-width}\\n        ) / (#{strip-units($max-width)} - #{strip-units($min-width)}));\\n      }\\n      @include mq($max-width) {\\n        #{$property}: $max-size;\\n      }\\n    } @else {\\n      #{$property}: calc(#{$min-size} +\\n      (#{strip-units($max-size)} - #{strip-units($min-size)}) *\\n      (100vw - #{$min-width}) /\\n      (#{strip-units($max-width)} - #{strip-units($min-width)}));\\n    }\\n  }\\n}\\n\\n// Misin just for font size\\n@mixin fluid-font($tween-start: 16px 400px, $tween-end: 60px 1400px, $use-mq: true) {\\n  @include fluid-size(font-size, $tween-start, $tween-end, $use-mq);\\n}\\n\",\"// Families\\n\\n// replace with actual fonts\\n$ff-sans: \\\"McKinsey Sans\\\", Arial, sans-serif;\\n$ff-serif: Bower, Georgia, serif;\\n$ff-icons: mck-icons;\\n\\n// Weights\\n$fw-light: 300;\\n$fw-reg: 400;\\n$fw-med: 500;\\n\\n// Sizes\\n$fs-xxxxs: 9px;\\n\\n$fs-xxxs: 12px;\\n$fs-xxs: 14px;\\n$fs-xs: 16px;\\n$fs-sm: 18px;\\n$fs-md: 24px;\\n$fs-lg: 28px;\\n$fs-xl: 36px;\\n$fs-xxl: 45px;\\n$fs-xxxl: 52px;\\n$fs-xxxxl: 110px;\\n$fs-xxxxxl: 98px;\\n\\n// Line Height\\n$lh-base: 1.5;\\n$lh-med: 1.375;\\n$lh-tiny: 1;\\n$lh-small: 1;\\n$lh-smallcap: 1.25;\\n\\n$lh-mono: 1.2;\\n\",\"// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// basic type mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin body-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  @include fluid-font($fs-xxs $bp-phablet, $fs-xs $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin heading-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.35\\n) {\\n  @include fluid-font($fs-sm $bp-phablet, 21px $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin dek-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.375\\n) {\\n  @include fluid-font($fs-sm $bp-phablet, $fs-md $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin control-label(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.25\\n) {\\n  color: $color;\\n  font-family: $font;\\n  font-size: $fs-xs;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin basic-formatting {\\n  a {\\n    @include inline-link;\\n  }\\n\\n  strong,\\n  b {\\n    font-weight: $fw-med;\\n  }\\n  em,\\n  i {\\n    font-style: italic;\\n  }\\n}\\n\\n// Since SVGs scale up with browser, reduce font size on larger screens\\n@mixin svg-label($weight: $fw-light, $has-breakout: true) {\\n  font-family: $ff-sans;\\n  font-size: $fs-md;\\n  font-weight: $weight;\\n\\n  @include mq($bp-tablet) {\\n    font-size: $fs-sm;\\n  }\\n\\n  @if ($has-breakout) {\\n    @include mq($bp-breakout-chart) {\\n      font-size: $fs-xs;\\n    }\\n  }\\n}\\n\\n@mixin tiny-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  color: $color;\\n  font-size: $fs-xxxs;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n  @include mq($bp-phablet) {\\n    font-size: $fs-xxs;\\n  }\\n}\\n\\n@mixin micro-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  color: $color;\\n  font-size: $fs-xxxxs;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n\\n  @include mq($bp-tablet) {\\n    font-size: $fs-xxxs;\\n  }\\n  @include mq($bp-desktop) {\\n    font-size: $fs-xxs;\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// link mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin inline-link(\\n  $color: inherit,\\n  $underline: $c-bright-blue,\\n  $hover: $c-white,\\n  $active: $c-spot\\n) {\\n  border-bottom: solid 2px $underline;\\n  color: $color;\\n  cursor: pointer;\\n  padding-left: 0.125rem;\\n  padding-right: 0.125rem;\\n  text-decoration: none;\\n\\n  &:hover {\\n    background-color: $underline;\\n    border-bottom: solid 2px $underline;\\n    color: $hover;\\n  }\\n  &:focus-visible {\\n    outline: $outline;\\n  }\\n}\\n\\n@mixin inline-link-on-dark {\\n  @include inline-link($c-cyan-500, $c-cyan-500, $c-deep-blue);\\n}\\n\\n@mixin arrow-link {\\n  color: $c-black;\\n  display: inline-block;\\n  font-weight: $fw-med;\\n  text-decoration: none;\\n  transition: all 0.5s ease-out;\\n\\n  &:after {\\n    color: $c-bright-blue;\\n    content: \\\"\\\\e608\\\";\\n    display: inline;\\n    font-family: $ff-icons;\\n    font-weight: $fw-reg;\\n    font-size: inherit;\\n    padding-left: 0.5rem;\\n    padding-right: 0.75rem;\\n    transition: padding 0.4s ease-in-out;\\n    vertical-align: middle;\\n  }\\n\\n  &:hover,\\n  &:focus-visible {\\n    color: $c-bright-blue;\\n    &:after {\\n      padding-left: 1.5rem;\\n      padding-right: 0;\\n    }\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// Button mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin button($style: solid, $color: $c-text, $bg: $c-bg) {\\n  @include body-text;\\n  padding: 0.55em 1.1em;\\n  appearance: none;\\n\\n  &:focus-visible {\\n    outline: $outline;\\n  }\\n\\n  @if $style == outline {\\n    background-color: transparent;\\n    border: 1px solid $color;\\n\\n    &:hover,\\n    &:focus-visible {\\n      background-color: $color;\\n      border-color: $color;\\n      color: $bg;\\n    }\\n  } @else {\\n    background-color: $bg;\\n    color: $color;\\n    border: solid 1px transparent;\\n    &:hover,\\n    &:focus-visible {\\n      background-color: $color;\\n      border-color: $bg;\\n      color: $bg;\\n    }\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// Heading Mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin h1($color: inherit, $font: $ff-serif, $weight: $fw-med, $lh: 1) {\\n  @include fluid-font(38px 400px, $fs-xxxl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  letter-spacing: -0.03em;\\n  line-height: $lh;\\n}\\n\\n@mixin h2($color: inherit, $font: $ff-sans, $weight: $fw-med, $lh: 0.9) {\\n  @include fluid-font($fs-lg 400px, $fs-xl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin h3($color: inherit, $font: $ff-sans, $weight: $fw-med, $lh: 1) {\\n  @include fluid-font($fs-sm 400px, $fs-xl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"link\": \"link__pfAAf\",\n\t\"image-wrap\": \"image-wrap__Xv0kV\",\n\t\"headline\": \"headline__CYZV7\",\n\t\"title\": \"title__b5fpP\",\n\t\"text-wrap\": \"text-wrap__n1hyp\",\n\t\"overline\": \"overline__M0et4\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes contentShow__Y7ezI{from{opacity:0}to{opacity:1}}.overlay__FAMSx{position:fixed;top:0;right:0;bottom:0;left:0}.menu__ogauq{font-size:14px;color:inherit;font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-weight:300;line-height:1.5;position:fixed;top:0;right:0;bottom:0;left:0;padding-left:20px;padding-right:20px;padding-top:20px;padding-bottom:20px;animation:contentShow__Y7ezI 150ms ease-in-out;background:#051c2c;color:#fff;height:100%;overflow:auto;z-index:10}@media(min-width: 400px)and (max-width: 1023px){.menu__ogauq{font-size:calc(14px + (16 - 14) * (\\n          100vw - 400px\\n        ) / (1024 - 400))}}@media(min-width: 1024px){.menu__ogauq{font-size:16px}}@media(min-width: 768px){.menu__ogauq{padding-left:40px;padding-right:40px}}@media(min-width: 768px){.menu__ogauq{padding-top:40px;padding-bottom:40px}}@media(min-width: 1024px){.menu__ogauq{padding-left:8.3333333333%;padding-right:8.3333333333%}}.menu-inner__T0wwj{margin:0 auto;max-width:1200px}.menu-title__DcGcV{font-size:28px;color:#fff;font-family:Bower,Georgia,serif;font-weight:500;padding-top:36px;margin:0 0 24px}@media(min-width: 400px)and (max-width: 1599px){.menu-title__DcGcV{font-size:calc(28px + (56 - 28) * (\\n          100vw - 400px\\n        ) / (1600 - 400))}}@media(min-width: 1600px){.menu-title__DcGcV{font-size:56px}}@media(min-width: 600px){.menu-title__DcGcV{padding-top:36px;margin-bottom:36px}}@media(min-width: 600px){.menu-title__DcGcV{padding-top:60px}}.menu-close__th8VR{position:absolute;right:20px;top:20px;height:40px;width:40px;appearance:none;background:rgba(0,0,0,0);border:0;border-radius:50%;cursor:pointer;margin:0;padding:0;transition:all .2s cubic-bezier(0.645, 0.045, 0.355, 1)}@media(min-width: 768px){.menu-close__th8VR{right:40px}}@media(min-width: 768px){.menu-close__th8VR{top:40px}}.menu-close__th8VR::before,.menu-close__th8VR::after{content:\\\" \\\";display:block;position:absolute;top:20px;left:10px;height:1px;width:20px;background-color:#fff;transition:all .2s cubic-bezier(0.645, 0.045, 0.355, 1)}.menu-close__th8VR::before{transform:rotate(45deg)}.menu-close__th8VR::after{transform:rotate(-45deg)}.menu-close__th8VR span{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.menu-close__th8VR span.focusable__Hdosp:active,.menu-close__th8VR span.focusable__Hdosp:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.menu-close__th8VR:hover,.menu-close__th8VR:focus{background-color:#fff;transform:scale(1.05)}.menu-close__th8VR:hover:after,.menu-close__th8VR:hover:before,.menu-close__th8VR:focus:after,.menu-close__th8VR:focus:before{background-color:#051c2c}.menu-list__zpYfw{gap:20px;display:grid;grid-template-columns:repeat(2, 1fr);list-style:none;margin:0;padding:0}@media(min-width: 768px){.menu-list__zpYfw{gap:40px}}@media(min-width: 1024px){.menu-list__zpYfw{gap:80px;grid-template-columns:repeat(3, 1fr)}}@media(min-width: 1024px){.menu-item__SOOFs{padding-right:8.3333333333%}}.menu-item-link__K5LdP{display:block;text-decoration:none}.menu-item-link__K5LdP .menu-item-img-wrap__lB87Y{overflow:hidden;position:relative;z-index:1}.menu-item-link__K5LdP .menu-item-img-wrap__lB87Y::after{content:\\\" \\\";display:block;position:absolute;top:0;left:0;height:100%;width:100%;border:0;pointer-events:none;transition:border .25s ease-out;z-index:2}.menu-item-link__K5LdP img{display:block;transform:scale(1.05);transition:transform .25s ease-out;position:relative;width:100%;z-index:1}.menu-item-link__K5LdP:hover .menu-item-img-wrap__lB87Y,.menu-item-link__K5LdP:focus .menu-item-img-wrap__lB87Y{outline:0}.menu-item-link__K5LdP:hover .menu-item-img-wrap__lB87Y::after,.menu-item-link__K5LdP:focus .menu-item-img-wrap__lB87Y::after{border:4px solid #2251ff}.menu-item-link__K5LdP:hover .menu-item-img-wrap__lB87Y img,.menu-item-link__K5LdP:focus .menu-item-img-wrap__lB87Y img{transform:scale(1)}.menu-item-link__K5LdP:focus{outline:0}.menu-item-link__K5LdP:hover .menu-item-headline__zUBeV,.menu-item-link__K5LdP:focus .menu-item-headline__zUBeV{text-decoration:underline;text-underline-offset:1.6px;text-decoration-thickness:2px}.menu-item-img-wrap__lB87Y{aspect-ratio:500/300;background-color:#041623;border:0;margin-bottom:12px;overflow:hidden;text-decoration:none !important}.menu-item-img__SFaxe{border:0;display:block;transform:scale(1.03);transition:all .4s;width:100%}.menu-item-headline__zUBeV{font-size:18px;color:#fff;font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-weight:400;line-height:1.2;margin:0 0 5px;padding:0;display:block;text-decoration:none}@media(min-width: 400px)and (max-width: 1023px){.menu-item-headline__zUBeV{font-size:calc(18px + (24 - 18) * (\\n          100vw - 400px\\n        ) / (1024 - 400))}}@media(min-width: 1024px){.menu-item-headline__zUBeV{font-size:24px}}.menu-item-title__pE0DO{font-size:14px;color:rgba(255,255,255,.5);font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-weight:300;line-height:1.375;margin:0}@media(min-width: 400px)and (max-width: 1023px){.menu-item-title__pE0DO{font-size:calc(14px + (16 - 14) * (\\n          100vw - 400px\\n        ) / (1024 - 400))}}@media(min-width: 1024px){.menu-item-title__pE0DO{font-size:16px}}.menu-footer__fq2Qu{border-top:solid 1px rgba(255,255,255,.1);margin-top:36px;padding-top:18px}.menu-footer-cta__ifxCa p{color:#fff;margin:1em 0}.menu-footer-cta__ifxCa a{border-bottom:solid 2px #00a9f4;color:#00a9f4;cursor:pointer;padding-left:.125rem;padding-right:.125rem;text-decoration:none}.menu-footer-cta__ifxCa a:hover{background-color:#00a9f4;border-bottom:solid 2px #00a9f4;color:#051c2c}.menu-footer-cta__ifxCa a:focus-visible{outline:4px solid #708fff}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/Menu/styles.module.scss\",\"webpack://./src/styles/mixins/_shorthander.scss\",\"webpack://./src/styles/mixins/_fluid-size.scss\",\"webpack://./src/styles/mixins/_typography.scss\",\"webpack://./src/styles/variables/_typography.scss\",\"webpack://./src/styles/variables/_colors.scss\",\"webpack://./src/styles/mixins/_mq.scss\",\"webpack://./src/styles/variables/_breakpoints.scss\",\"webpack://./src/styles/variables/_spacing.scss\",\"webpack://./src/styles/mixins/_layout.scss\",\"webpack://./src/styles/mixins/_size.scss\",\"webpack://./src/styles/mixins/_pseudo.scss\",\"webpack://./src/styles/mixins/_hide.scss\",\"webpack://./src/styles/variables/_sizes.scss\",\"webpack://./src/styles/mixins/_img-hover.scss\",\"webpack://./src/styles/variables/_borders.scss\"],\"names\":[],\"mappings\":\"AAEA,8BACE,KACE,SAAA,CAEF,GACE,SAAA,CAAA,CAIJ,gBCYI,cAoEmB,CArBjB,KAAA,CAGA,OAAA,CAGA,QAAA,CAGA,MAAA,CDhEN,aEYM,cANO,CCVX,aANQ,CAOR,4CCTQ,CDUR,eCLS,CDMT,eCcQ,CHLN,cAoEmB,CArBjB,KAAA,CAGA,OAAA,CAGA,QAAA,CAGA,MAAA,CAtCA,iBAAA,CACA,kBAAA,CALA,gBAAA,CACA,mBAAA,CDnBJ,8CAAA,CACA,kBKVY,CLWZ,UKpBQ,CLqBR,WAAA,CACA,aAAA,CACA,UAAA,CMOE,gDNhBJ,aEcQ;;yBAAA,CAAA,CIFJ,0BNZJ,aEmBQ,cAZK,CAAA,CIKT,yBNZJ,aC0BM,iBAAA,CACA,kBAAA,CAAA,CKfF,yBNZJ,aCsBM,gBAAA,CACA,mBAAA,CAAA,CKXF,0BNZJ,aC0BM,0BAAA,CACA,2BAAA,CAAA,CDZN,mBACE,aAAA,CACA,gBOhBY,CPmBd,mBERM,cANO,CFgBX,UKpCQ,CLqCR,+BIlCS,CJmCT,eI7BO,CJ8BP,gBQjCW,CRkCX,eAAA,CMVE,gDNIJ,mBENQ;;yBAAA,CAAA,CIFJ,0BNQJ,mBEDQ,cAZK,CAAA,CIKT,yBNQJ,mBAQI,gBQpCS,CRqCT,kBQrCS,CAAA,CFoBT,yBNQJ,mBAYI,gBQvCU,CAAA,CR4Cd,mBC7BI,iBA+DmB,CQnEnB,UDJiB,CCIjB,QDJiB,CEYnB,WV6Bc,CU5Bd,UV4Bc,CACd,eAAA,CACA,wBAAA,CACA,QAAA,CACA,iBAAA,CACA,cAAA,CACA,QAAA,CACA,SAAA,CACA,uDAAA,CMrCE,yBNyBJ,mBS/BM,UDRQ,CAAA,CFcV,yBNyBJ,mBS/BM,QDRQ,CAAA,CRqDZ,qDW1DA,WAAA,CAYA,aAAA,CVGE,iBA+DmB,CAhBjB,QAAA,CASA,SAAA,CSpDJ,UV0CsB,CUzCtB,UVyCgB,CACd,qBKrEM,CLsEN,uDAAA,CAEF,2BACE,uBAAA,CAGF,0BACE,wBAAA,CAGF,wBYhEE,QAAA,CACA,kBAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,SAAA,CACA,iBAAA,CACA,SAAA,CAEA,+FAEE,SAAA,CACA,WAAA,CACA,QAAA,CACA,gBAAA,CACA,eAAA,CACA,UAAA,CZoDJ,kDAEE,qBKtFM,CLuFN,qBAAA,CACA,8HAEE,wBKjFQ,CLuFd,kBS9EI,QDJiB,CRoFnB,YAAA,CACA,oCAAA,CACA,eAAA,CACA,QAAA,CACA,SAAA,CM5EE,yBNsEJ,kBS5EM,QDRQ,CAAA,CFcV,0BNsEJ,kBAQI,QAAA,CACA,oCAAA,CAAA,CM/EA,0BNmFJ,kBAEI,2Ba/GM,CAAA,CbkHV,uBAEE,aAAA,CACA,oBAAA,CcnHA,kDACE,eAAA,CACA,iBAAA,CACA,SAAA,CACA,yDHCF,WAAA,CAYA,aAAA,CVGE,iBA+DmB,CAhBjB,KAAA,CASA,MAAA,CSpDJ,WIlBkB,CJmBlB,UInBkB,CACd,QAAA,CACA,mBAAA,CACA,+BAAA,CACA,SAAA,CAIJ,2BACE,aAAA,CACA,qBAAA,CACA,kCAAA,CACA,iBAAA,CACA,UAAA,CACA,SAAA,CAKA,gHACE,SAAA,CACA,8HACE,wBAAA,CAEF,wHACE,kBAAA,CdqFN,6BACE,SAAA,CAIA,gHACE,yBAAA,CACA,2BAAA,CACA,6BAAA,CAKN,2BACE,oBatHa,CbuHb,wBAAA,CACA,QAAA,CACA,kBQpIW,CRqIX,eAAA,CACA,+BAAA,CAGF,sBACE,QAAA,CACA,aAAA,CACA,qBAAA,CACA,kBAAA,CACA,UAAA,CAGF,2BE1HM,cANO,CCgBX,UEpCQ,CFqCR,4CCnCQ,CDoCR,eC9BO,CD+BP,eH8GmD,CACnD,cAAA,CACA,SAAA,CACA,aAAA,CACA,oBAAA,CM3HE,gDNsHJ,2BExHQ;;yBAAA,CAAA,CIFJ,0BN0HJ,2BEnHQ,cAZK,CAAA,CFuIb,wBElIM,cANO,CCVX,0BHmJ2B,CGlJ3B,4CCTQ,CDUR,eCLS,CDMT,iBHgJqD,CACrD,QAAA,CMhIE,gDN8HJ,wBEhIQ;;yBAAA,CAAA,CIFJ,0BNkIJ,wBE3HQ,cAZK,CAAA,CF4Ib,oBACE,yCAAA,CACA,eQ7JW,CR8JX,gBQhKW,CRoKX,0BACE,UKzKM,CL0KN,YAAA,CAEF,0BGvCA,+BAAA,CACA,aEvHW,CFwHX,cAAA,CACA,oBAAA,CACA,qBAAA,CACA,oBAAA,CAEA,gCACE,wBE9HS,CF+HT,+BAAA,CACA,aEtIU,CFwIZ,wCACE,yBYjJM\",\"sourcesContent\":[\"@import \\\"@/styles\\\";\\n\\n@keyframes contentShow {\\n  from {\\n    opacity: 0;\\n  }\\n  to {\\n    opacity: 1;\\n  }\\n}\\n\\n.overlay {\\n  @include fixed(0 0 0 0);\\n}\\n\\n.menu {\\n  @include body-text;\\n  @include fixed(0 0 0 0);\\n  @include site-pad(both);\\n  animation: contentShow 150ms ease-in-out;\\n  background: $c-deep-blue;\\n  color: $c-white;\\n  height: 100%;\\n  overflow: auto;\\n  z-index: 10;\\n  @include mq($bp-desktop) {\\n    @include padding(x $one-col);\\n  }\\n}\\n\\n.menu-inner {\\n  margin: 0 auto;\\n  max-width: $content-max;\\n}\\n\\n.menu-title {\\n  @include fluid-font(28px 400px, 56px 1600px);\\n  color: $c-white;\\n  font-family: $ff-serif;\\n  font-weight: $fw-med;\\n  padding-top: $spacing-xl;\\n  margin: 0 0 $spacing-lg;\\n  @include mq($bp-tablet) {\\n    padding-top: $spacing-xl;\\n    margin-bottom: $spacing-xl;\\n  }\\n  @include mq($bp-tablet) {\\n    padding-top: $spacing-xxl;\\n  }\\n}\\n\\n// Close button\\n.menu-close {\\n  @include absolute(x x x x);\\n  @include site-pad(right);\\n  @include site-pad(top);\\n  @include size(40px);\\n  appearance: none;\\n  background: transparent;\\n  border: 0;\\n  border-radius: 50%;\\n  cursor: pointer;\\n  margin: 0;\\n  padding: 0;\\n  transition: all $transition;\\n\\n  &::before,\\n  &::after {\\n    @include pseudo(20px x x 10px);\\n    @include size(20px, 1px);\\n    background-color: $c-white;\\n    transition: all $transition;\\n  }\\n  &::before {\\n    transform: rotate(45deg);\\n  }\\n\\n  &::after {\\n    transform: rotate(-45deg);\\n  }\\n\\n  span {\\n    @include hide;\\n  }\\n\\n  &:hover,\\n  &:focus {\\n    background-color: $c-white;\\n    transform: scale(1.05);\\n    &:after,\\n    &:before {\\n      background-color: $c-deep-blue;\\n    }\\n  }\\n}\\n\\n// Contents\\n.menu-list {\\n  @include gap;\\n  display: grid;\\n  grid-template-columns: repeat(2, 1fr);\\n  list-style: none;\\n  margin: 0;\\n  padding: 0;\\n  @include mq($bp-desktop) {\\n    gap: $grid-gutter * 2;\\n    grid-template-columns: repeat(3, 1fr);\\n  }\\n}\\n\\n.menu-item {\\n  @include mq($bp-desktop) {\\n    padding-right: $one-col;\\n  }\\n}\\n.menu-item-link {\\n  @include img-hover(\\\".menu-item-img-wrap\\\");\\n  display: block;\\n  text-decoration: none;\\n  &:focus {\\n    outline: 0;\\n  }\\n  &:hover,\\n  &:focus {\\n    .menu-item-headline {\\n      text-decoration: underline;\\n      text-underline-offset: 1.6px;\\n      text-decoration-thickness: 2px;\\n    }\\n  }\\n}\\n\\n.menu-item-img-wrap {\\n  aspect-ratio: $thumb-aspect;\\n  background-color: mix($c-deep-blue, $c-black, 80%);\\n  border: 0;\\n  margin-bottom: $spacing-sm;\\n  overflow: hidden;\\n  text-decoration: none !important;\\n}\\n\\n.menu-item-img {\\n  border: 0;\\n  display: block;\\n  transform: scale(1.03);\\n  transition: all 0.4s;\\n  width: 100%;\\n}\\n\\n.menu-item-headline {\\n  @include dek-text($c-white, $weight: $fw-reg, $lh: 1.2);\\n  margin: 0 0 $spacing-xxs;\\n  padding: 0;\\n  display: block;\\n  text-decoration: none;\\n}\\n\\n.menu-item-title {\\n  @include body-text($color: rgba($c-white, 0.5), $lh: 1.375);\\n  margin: 0;\\n}\\n\\n.menu-footer {\\n  border-top: solid 1px rgba($c-white, 0.1);\\n  margin-top: $spacing-xl;\\n  padding-top: $spacing-md;\\n}\\n\\n.menu-footer-cta {\\n  p {\\n    color: $c-white;\\n    margin: 1em 0;\\n  }\\n  a {\\n    @include inline-link-on-dark;\\n  }\\n}\\n\",\"// Shorthand method for common multi-value declarations such as absolute, padding, and margin. Can also be used as the basis to create new multi-value declarations that we haven't conceived.\\n//\\n// @name shorthander\\n// $position - Takes name of attribute: margin, padding, absolute, fixed, relative, static.\\n// $value - Takes 1-4 values, following convention of traditional CSS shorthand properties for margin, padding, etc. One notable improvement: You can use the shorthand and still leave some values blank. Do so by placing an 'n' in place of any numeral.\\n//\\n// @example scss - SCSS\\n// .item {\\n//   @include absolute(0 0 0 0);\\n//   //@include relative(0 0 0 0);\\n//   //@include fixed(0 0 0 0);\\n//   //@include padding(0 0 0 0);\\n//   //@include margin(0 0 0 0);\\n// }\\n\\n@mixin shorthander($position, $value) {\\n  $position-prefix: '';\\n\\n  @if $position == 'margin' or $position == 'padding' {\\n    $position-prefix: $position + '-';\\n  } @else if $position == 'null' {\\n    // do nothing\\n  } @else {\\n    position: $position;\\n  }\\n\\n  @if length($value) == 1 and $value != 'n' and $value != 'x' and $value != 'null' {\\n    #{$position-prefix}top: auto($value);\\n    #{$position-prefix}right: auto($value);\\n    #{$position-prefix}bottom: auto($value);\\n    #{$position-prefix}left: auto($value);\\n  }\\n\\n  @if length($value) == 2 {\\n    $value-y: nth($value, 1);\\n    $value-x: nth($value, 2);\\n    @if $value-y != 'n' and $value-y != 'x' and $value-y != 'null' {\\n      #{$position-prefix}top: auto($value-y);\\n      #{$position-prefix}bottom: auto($value-y);\\n    }\\n    @if $value-x != 'n' and $value-x != 'x' and $value-x != 'null' {\\n      #{$position-prefix}left: auto($value-x);\\n      #{$position-prefix}right: auto($value-x);\\n    }\\n  }\\n\\n  @if length($value) == 3 {\\n    $value-y-top: nth($value, 1);\\n    $value-x: nth($value, 2);\\n    $value-y-bottom: nth($value, 3);\\n\\n    @if $value-y-top != 'n' and $value-y-top != 'x' and $value-y-top != 'null' {\\n      #{$position-prefix}top: auto($value-y-top);\\n    }\\n    @if $value-x != 'n' and $value-x != 'x' and $value-x != 'null' {\\n      #{$position-prefix}right: auto($value-x);\\n      #{$position-prefix}left: auto($value-x);\\n    }\\n    @if $value-y-bottom != 'n' and $value-y-bottom != 'x' and $value-y-bottom != 'null' {\\n      #{$position-prefix}bottom: auto($value-y-bottom);\\n    }\\n  }\\n\\n  @if length($value) == 4 {\\n    $value-top: nth($value, 1);\\n    $value-right: nth($value, 2);\\n    $value-bottom: nth($value, 3);\\n    $value-left: nth($value, 4);\\n\\n    @if $value-top != 'n' and $value-top != 'x' and $value-top != 'null' {\\n      #{$position-prefix}top: auto($value-top);\\n    }\\n    @if $value-right != 'n' and $value-right != 'x' and $value-right != 'null' {\\n      #{$position-prefix}right: auto($value-right);\\n    }\\n    @if $value-bottom != 'n' and $value-bottom != 'x' and $value-bottom != 'null' {\\n      #{$position-prefix}bottom: auto($value-bottom);\\n    }\\n    @if $value-left != 'n' and $value-left != 'x' and $value-left != 'null' {\\n      #{$position-prefix}left: auto($value-left);\\n    }\\n  }\\n}\\n\\n// Absolute\\n@mixin absolute($value) {\\n  @include shorthander(absolute, $value);\\n}\\n\\n// Fixed\\n@mixin fixed($value) {\\n  @include shorthander(fixed, $value);\\n}\\n\\n// Sticky\\n@mixin sticky($value) {\\n  @include shorthander(sticky, $value);\\n}\\n\\n// Relative\\n@mixin relative($value) {\\n  @include shorthander(relative, $value);\\n}\\n\\n// Padding\\n@mixin padding($value) {\\n  @include shorthander(padding, $value);\\n}\\n\\n// Margin\\n@mixin margin($value) {\\n  @include shorthander(margin, $value);\\n}\\n\",\"// - - - - - - - - - - - - - - - - - - - - - - - - - -----------------------------\\n// Fluid Font Sizing\\n//\\n// FOR:   Dynamically changing the size of type\\n//        between certain screen sizes. Think of\\n//        it as a CSS-only version of FitText\\n// REQ:   Depends on the `mq` media query mixin\\n// REF:   http://www.adrenalinmedia.com.au/blog/january-2016/this-changes-everything-css-%E2%80%98fluid-properties%E2%80%99\\n// USE:   @include fluid-size(\\n//          40px $bp__tablet--sm,\\n//          60px $bp__desktop\\n//        );\\n//\\n// - - - - - - - - - - - - - - - - - - - - - - - - - ----------------------------\\n\\n@mixin fluid-size(\\n  $properties: font-size,\\n  $tween-start: 16px 400px,\\n  $tween-end: 60px 1400px,\\n  $use-mq: true\\n) {\\n  $min-size: nth($tween-start, 1);\\n  $max-size: nth($tween-end, 1);\\n  $min-width: nth($tween-start, 2);\\n  $max-width: nth($tween-end, 2);\\n  @each $property in $properties {\\n    @if $use-mq {\\n      #{$property}: $min-size;\\n      @include mq($min-width, $max-width) {\\n        #{$property}: calc(#{$min-size} + (#{strip-units($max-size)} - #{strip-units($min-size)}) * (\\n          100vw - #{$min-width}\\n        ) / (#{strip-units($max-width)} - #{strip-units($min-width)}));\\n      }\\n      @include mq($max-width) {\\n        #{$property}: $max-size;\\n      }\\n    } @else {\\n      #{$property}: calc(#{$min-size} +\\n      (#{strip-units($max-size)} - #{strip-units($min-size)}) *\\n      (100vw - #{$min-width}) /\\n      (#{strip-units($max-width)} - #{strip-units($min-width)}));\\n    }\\n  }\\n}\\n\\n// Misin just for font size\\n@mixin fluid-font($tween-start: 16px 400px, $tween-end: 60px 1400px, $use-mq: true) {\\n  @include fluid-size(font-size, $tween-start, $tween-end, $use-mq);\\n}\\n\",\"// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// basic type mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin body-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  @include fluid-font($fs-xxs $bp-phablet, $fs-xs $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin heading-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.35\\n) {\\n  @include fluid-font($fs-sm $bp-phablet, 21px $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin dek-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.375\\n) {\\n  @include fluid-font($fs-sm $bp-phablet, $fs-md $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin control-label(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.25\\n) {\\n  color: $color;\\n  font-family: $font;\\n  font-size: $fs-xs;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin basic-formatting {\\n  a {\\n    @include inline-link;\\n  }\\n\\n  strong,\\n  b {\\n    font-weight: $fw-med;\\n  }\\n  em,\\n  i {\\n    font-style: italic;\\n  }\\n}\\n\\n// Since SVGs scale up with browser, reduce font size on larger screens\\n@mixin svg-label($weight: $fw-light, $has-breakout: true) {\\n  font-family: $ff-sans;\\n  font-size: $fs-md;\\n  font-weight: $weight;\\n\\n  @include mq($bp-tablet) {\\n    font-size: $fs-sm;\\n  }\\n\\n  @if ($has-breakout) {\\n    @include mq($bp-breakout-chart) {\\n      font-size: $fs-xs;\\n    }\\n  }\\n}\\n\\n@mixin tiny-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  color: $color;\\n  font-size: $fs-xxxs;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n  @include mq($bp-phablet) {\\n    font-size: $fs-xxs;\\n  }\\n}\\n\\n@mixin micro-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  color: $color;\\n  font-size: $fs-xxxxs;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n\\n  @include mq($bp-tablet) {\\n    font-size: $fs-xxxs;\\n  }\\n  @include mq($bp-desktop) {\\n    font-size: $fs-xxs;\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// link mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin inline-link(\\n  $color: inherit,\\n  $underline: $c-bright-blue,\\n  $hover: $c-white,\\n  $active: $c-spot\\n) {\\n  border-bottom: solid 2px $underline;\\n  color: $color;\\n  cursor: pointer;\\n  padding-left: 0.125rem;\\n  padding-right: 0.125rem;\\n  text-decoration: none;\\n\\n  &:hover {\\n    background-color: $underline;\\n    border-bottom: solid 2px $underline;\\n    color: $hover;\\n  }\\n  &:focus-visible {\\n    outline: $outline;\\n  }\\n}\\n\\n@mixin inline-link-on-dark {\\n  @include inline-link($c-cyan-500, $c-cyan-500, $c-deep-blue);\\n}\\n\\n@mixin arrow-link {\\n  color: $c-black;\\n  display: inline-block;\\n  font-weight: $fw-med;\\n  text-decoration: none;\\n  transition: all 0.5s ease-out;\\n\\n  &:after {\\n    color: $c-bright-blue;\\n    content: \\\"\\\\e608\\\";\\n    display: inline;\\n    font-family: $ff-icons;\\n    font-weight: $fw-reg;\\n    font-size: inherit;\\n    padding-left: 0.5rem;\\n    padding-right: 0.75rem;\\n    transition: padding 0.4s ease-in-out;\\n    vertical-align: middle;\\n  }\\n\\n  &:hover,\\n  &:focus-visible {\\n    color: $c-bright-blue;\\n    &:after {\\n      padding-left: 1.5rem;\\n      padding-right: 0;\\n    }\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// Button mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin button($style: solid, $color: $c-text, $bg: $c-bg) {\\n  @include body-text;\\n  padding: 0.55em 1.1em;\\n  appearance: none;\\n\\n  &:focus-visible {\\n    outline: $outline;\\n  }\\n\\n  @if $style == outline {\\n    background-color: transparent;\\n    border: 1px solid $color;\\n\\n    &:hover,\\n    &:focus-visible {\\n      background-color: $color;\\n      border-color: $color;\\n      color: $bg;\\n    }\\n  } @else {\\n    background-color: $bg;\\n    color: $color;\\n    border: solid 1px transparent;\\n    &:hover,\\n    &:focus-visible {\\n      background-color: $color;\\n      border-color: $bg;\\n      color: $bg;\\n    }\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// Heading Mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin h1($color: inherit, $font: $ff-serif, $weight: $fw-med, $lh: 1) {\\n  @include fluid-font(38px 400px, $fs-xxxl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  letter-spacing: -0.03em;\\n  line-height: $lh;\\n}\\n\\n@mixin h2($color: inherit, $font: $ff-sans, $weight: $fw-med, $lh: 0.9) {\\n  @include fluid-font($fs-lg 400px, $fs-xl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin h3($color: inherit, $font: $ff-sans, $weight: $fw-med, $lh: 1) {\\n  @include fluid-font($fs-sm 400px, $fs-xl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\",\"// Families\\n\\n// replace with actual fonts\\n$ff-sans: \\\"McKinsey Sans\\\", Arial, sans-serif;\\n$ff-serif: Bower, Georgia, serif;\\n$ff-icons: mck-icons;\\n\\n// Weights\\n$fw-light: 300;\\n$fw-reg: 400;\\n$fw-med: 500;\\n\\n// Sizes\\n$fs-xxxxs: 9px;\\n\\n$fs-xxxs: 12px;\\n$fs-xxs: 14px;\\n$fs-xs: 16px;\\n$fs-sm: 18px;\\n$fs-md: 24px;\\n$fs-lg: 28px;\\n$fs-xl: 36px;\\n$fs-xxl: 45px;\\n$fs-xxxl: 52px;\\n$fs-xxxxl: 110px;\\n$fs-xxxxxl: 98px;\\n\\n// Line Height\\n$lh-base: 1.5;\\n$lh-med: 1.375;\\n$lh-tiny: 1;\\n$lh-small: 1;\\n$lh-smallcap: 1.25;\\n\\n$lh-mono: 1.2;\\n\",\"$c-black: #000000;\\n$c-white: #ffffff;\\n$c-gray-light: #888888;\\n$c-gray-mid: #757575;\\n$c-gray-verylight: #e6e6e6;\\n$c-gray-superlight: #e9e9e9;\\n$c-gray-dark: #333333;\\n\\n// Blues\\n$c-bright-blue: #2251ff;\\n$c-deep-blue: #051c2c;\\n$c-purple-blue: #708fff;\\n$c-light-blue: #e0e7ff;\\n$c-verylight-blue: #f2f5f9;\\n\\n// McKinsey dataviz colors\\n$c-cyan-500: #00a9f4;\\n$c-electric-blue-900: #061f79;\\n\\n// Applications\\n$c-bg: $c-white;\\n$c-border: $c-gray-verylight;\\n$c-border-on-dark: rgba($c-white, 0.2);\\n$c-gray-text: $c-gray-mid;\\n$c-rule: $c-black;\\n$c-spot: $c-bright-blue;\\n$c-text: $c-black;\\n$c-outline: $c-purple-blue;\\n\",\"// Write less verbose media queries.\\n// $bp-1 - breakpoint value, min-width if declaring range\\n// $bp-2 [null] - [Optional] breakpoint value, max-width if declaring range\\n//\\n// @example scss - SCSS\\n// .item-1 {\\n//    @include mq(600px, 768px) {\\n//     display: block;\\n//   }\\n// }\\n//\\n// .item-2 {\\n//   @include mq(768px) {\\n//     display: block;\\n//   }\\n// }\\n\\n@mixin mq($bp-1, $bp-2: null) {\\n  @if $bp-1 == \\\"max\\\" {\\n    @media (max-width: $bp-2 - 1) {\\n      @content;\\n    }\\n  } @else if $bp-2 == \\\"max\\\" {\\n    @media (max-width: $bp-1 - 1) {\\n      @content;\\n    }\\n  } @else if $bp-2 == null {\\n    @media (min-width: $bp-1) {\\n      @content;\\n    }\\n  } @else {\\n    @media (min-width: $bp-1) and (max-width: $bp-2 - 1) {\\n      @content;\\n    }\\n  }\\n}\\n\",\"$bp-mobile: 300px;\\n$bp-phablet: 400px;\\n$bp-tablet: 600px;\\n$bp-tablet-xl: 768px;\\n$bp-desktop: 1024px;\\n$bp-desktop-xl: 1200px;\\n$bp-desktop-xxl: 1500px;\\n$bp-desktop-xxxl: 1700px;\\n\\n// Applied\\n$bp-larger-gutters: $bp-tablet-xl;\\n\\n$bp-sidebar: $bp-desktop;\\n$bp-sidebar-wide: $bp-desktop-xl;\\n\\n$bp-breakout-chart: 1600px;\\n$content-max: 1200px;\\n\",\"@use \\\"sass:math\\\";\\n\\n$spacing-xxs: 5px;\\n$spacing-xs: 8px;\\n$spacing-sm: 12px;\\n$spacing-md: 18px;\\n$spacing-lg: 24px;\\n$spacing-xl: 36px;\\n$spacing-xxl: 60px;\\n$spacing-xxxl: 100px;\\n$spacing-xxxxl: 200px;\\n\\n// Grid\\n$grid-gutter: 40px;\\n$grid-padding: math.div($grid-gutter, 2);\\n$grid-gutter-mobile: 20px;\\n$grid-padding-mobile: math.div($grid-gutter-mobile, 2);\\n\\n// Controls bar\\n$controls-bar-height-m: 65px;\\n$controls-bar-height-d: 75px;\\n\\n// Space between chart and end notes\\n$notes-spacing: $spacing-lg;\\n\",\"@use \\\"sass:math\\\";\\n\\n@mixin site-pad($param: horiz) {\\n  // Keywords for horiz/vert/both\\n  @if ($param == horiz or $param == both) {\\n    @include padding(x $grid-gutter-mobile);\\n    @include mq($bp-larger-gutters) {\\n      @include padding(x $grid-gutter);\\n    }\\n  }\\n  @if ($param == vert or $param == both) {\\n    @include padding($grid-gutter-mobile x);\\n    @include mq($bp-larger-gutters) {\\n      @include padding($grid-gutter x);\\n    }\\n  }\\n\\n  @if ($param != horiz and $param != vert and $param != both) {\\n    // Otherwise param is property name\\n    #{$param}: $grid-gutter-mobile;\\n    @include mq($bp-larger-gutters) {\\n      #{$param}: $grid-gutter;\\n    }\\n  }\\n}\\n\\n@mixin gap {\\n  @include site-pad(gap);\\n}\\n\\n@mixin chart-spacing {\\n  margin-bottom: $spacing-xl;\\n  @include mq($bp-desktop-xl) {\\n    margin-bottom: $spacing-xxl;\\n  }\\n}\\n\\n// On wider screens, break the SVG out of the container so axes labels and tooltips can hang in the left/right margins\\n@mixin chart-breakout($width, $left-val, $right-val, $bp: 1600px) {\\n  $left-pc: math.div($left-val, $width) * 100%;\\n  $right-pc: math.div($right-val, $width) * 100%;\\n\\n  svg {\\n    @include mq($bp) {\\n      margin-left: -#{$left-pc};\\n      margin-right: -#{$right-pc};\\n      width: 100% + $left-pc + $right-pc;\\n    }\\n  }\\n}\\n\",\"/// Sets the `width` and `height` of the element.\\n/// @param {Number [unit]} $width - Width (or height and width if $height is not declared)\\n/// @param {Number [unit]} $height - Height\\n/// @link http://codepen.io/upstatement/pen/KpoOpZ See it on Codepen\\n///\\n/// @example scss - Usage\\n/// .box-1 {\\n///   @include size(100px, 150px);\\n/// }\\n///\\n/// .box-2 {\\n///   @include size(200px);\\n/// }\\n///\\n/// @example css - CSS Output\\n/// .box-1 {\\n///   width: 100px;\\n///   height: 150px;\\n/// }\\n///\\n/// .box-2 {\\n///   width: 200px;\\n///   height: 200px;\\n/// }\\n///\\n\\n@mixin size($width, $height: $width) {\\n  height: $height;\\n  width: $width;\\n}\\n\",\"// Content\\n// -------\\n// FOR: Filling pseudo-clases :before, :after with blank content\\n// WHY: Pseudo classes won't appear unless you fill them with content.\\n// This mixin includes the difficult-to-recall cross-browser character code for \\\"blank\\\".\\n// USE: @include content;\\n\\n@mixin content($content: '\\\\0020') {\\n  content: '#{$content}';\\n}\\n\\n\\n// Pseudo\\n// -------\\n// FOR: Quickly pasting essential and commonly used properties that make pseudo classes work\\n// WHY: Easier than remembering and writing each time. Should cut down on mistakes/debugging.\\n// USE: @include pseudo;\\n\\n@mixin pseudo($coordinates: none) {\\n  @include content;\\n  display: block;\\n  @if $coordinates != 'none' {\\n    @include absolute($coordinates);\\n  }\\n}\\n\",\"// Hides text, but is accessible to screen readers. Best used on single element next to an element that will display. IE: title next to an icon.\\n// $accessible [true] - Triggers accessible clip method. Use \\\"false\\\" for font: 0 method.\\n//\\n// @example scss - SCSS\\n// .item {\\n//   @include hide();\\n//   //@include hide(false);\\n// }\\n\\n@mixin hide($accessible: true) {\\n\\n  @if $accessible != true {\\n    color: transparent;\\n    font: 0/0 a;\\n    text-shadow: none;\\n  }\\n  @else {\\n    border: 0;\\n    clip: rect(0 0 0 0);\\n    height: 1px;\\n    margin: -1px;\\n    overflow: hidden;\\n    padding: 0;\\n    position: absolute;\\n    width: 1px;\\n\\n    &.focusable:active,\\n    &.focusable:focus {\\n      clip: auto;\\n      height: auto;\\n      margin: 0;\\n      overflow: visible;\\n      position: static;\\n      width: auto;\\n    }\\n  }\\n}\\n\",\"// Columns\\n$one-col: 8.3333333333333%;\\n$two-col: 16.6666666666666%;\\n$three-col: 25%;\\n$four-col: 33.3333333333333%;\\n$five-col: 41.6666666666666%;\\n$six-col: 50%;\\n$seven-col: 58.3333333333333%;\\n$eight-col: 66.6666666666666%;\\n$nine-col: 75%;\\n$ten-col: 83.3333333333333%;\\n$eleven-col: 91.6666666666666%;\\n$twelve-col: 100%;\\n\\n// Thumbnail image aspect ratio\\n$thumb-aspect: #{500 / 300};\\n\",\"// Apply to a link wrapping an image,\\n// pass image wrapper div as $target\\n@mixin img-hover($target) {\\n  #{$target} {\\n    overflow: hidden;\\n    position: relative;\\n    z-index: 1;\\n    &::after {\\n      @include pseudo(0 x x 0);\\n      @include size(100%);\\n      border: 0;\\n      pointer-events: none;\\n      transition: border 0.25s ease-out;\\n      z-index: 2;\\n    }\\n  }\\n\\n  img {\\n    display: block;\\n    transform: scale(1.05);\\n    transition: transform 0.25s ease-out;\\n    position: relative;\\n    width: 100%;\\n    z-index: 1;\\n  }\\n\\n  &:hover,\\n  &:focus {\\n    #{$target} {\\n      outline: 0;\\n      &::after {\\n        border: 4px solid $c-bright-blue;\\n      }\\n      img {\\n        transform: scale(1);\\n      }\\n    }\\n  }\\n}\\n\",\"$border: 1px solid $c-border;\\n$rule: 1px solid $c-rule;\\n$outline: 4px solid $c-outline;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"overlay\": \"overlay__FAMSx\",\n\t\"menu\": \"menu__ogauq\",\n\t\"contentShow\": \"contentShow__Y7ezI\",\n\t\"menu-inner\": \"menu-inner__T0wwj\",\n\t\"menu-title\": \"menu-title__DcGcV\",\n\t\"menu-close\": \"menu-close__th8VR\",\n\t\"focusable\": \"focusable__Hdosp\",\n\t\"menu-list\": \"menu-list__zpYfw\",\n\t\"menu-item\": \"menu-item__SOOFs\",\n\t\"menu-item-link\": \"menu-item-link__K5LdP\",\n\t\"menu-item-img-wrap\": \"menu-item-img-wrap__lB87Y\",\n\t\"menu-item-headline\": \"menu-item-headline__zUBeV\",\n\t\"menu-item-img\": \"menu-item-img__SFaxe\",\n\t\"menu-item-title\": \"menu-item-title__pE0DO\",\n\t\"menu-footer\": \"menu-footer__fq2Qu\",\n\t\"menu-footer-cta\": \"menu-footer-cta__ifxCa\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".container__bTjKW{font-size:14px;color:#000;font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-weight:300;line-height:1.5;align-items:center;background:#f2f5f9;display:flex;flex-direction:column;justify-content:center;margin:36px auto 0;min-height:150px;padding:60px;text-align:center}@media(min-width: 400px)and (max-width: 1023px){.container__bTjKW{font-size:calc(14px + (16 - 14) * (\\n          100vw - 400px\\n        ) / (1024 - 400))}}@media(min-width: 1024px){.container__bTjKW{font-size:16px}}@media(min-width: 600px){.container__bTjKW{min-height:200px}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/NoData/styles.module.scss\",\"webpack://./src/styles/mixins/_fluid-size.scss\",\"webpack://./src/styles/mixins/_typography.scss\",\"webpack://./src/styles/variables/_colors.scss\",\"webpack://./src/styles/variables/_typography.scss\",\"webpack://./src/styles/variables/_spacing.scss\",\"webpack://./src/styles/mixins/_mq.scss\"],\"names\":[],\"mappings\":\"AAEA,kBCyBM,cANO,CCVX,UCXQ,CDYR,4CETQ,CFUR,eELS,CFMT,eEcQ,CJxBR,kBAAA,CACA,kBGQiB,CHPjB,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,kBAAA,CACA,gBAAA,CACA,YKHY,CLIZ,iBAAA,CMmBE,gDN7BJ,kBC2BQ;;yBAAA,CAAA,CKFJ,0BNzBJ,kBCgCQ,cAZK,CAAA,CKKT,yBNzBJ,kBAYI,gBAAA,CAAA\",\"sourcesContent\":[\"@import \\\"@/styles\\\";\\n\\n.container {\\n  @include body-text($c-text);\\n  align-items: center;\\n  background: $c-verylight-blue;\\n  display: flex;\\n  flex-direction: column;\\n  justify-content: center;\\n  margin: $spacing-xl auto 0;\\n  min-height: 150px;\\n  padding: $spacing-xxl;\\n  text-align: center;\\n  @include mq($bp-tablet) {\\n    min-height: 200px;\\n  }\\n}\\n\",\"// - - - - - - - - - - - - - - - - - - - - - - - - - -----------------------------\\n// Fluid Font Sizing\\n//\\n// FOR:   Dynamically changing the size of type\\n//        between certain screen sizes. Think of\\n//        it as a CSS-only version of FitText\\n// REQ:   Depends on the `mq` media query mixin\\n// REF:   http://www.adrenalinmedia.com.au/blog/january-2016/this-changes-everything-css-%E2%80%98fluid-properties%E2%80%99\\n// USE:   @include fluid-size(\\n//          40px $bp__tablet--sm,\\n//          60px $bp__desktop\\n//        );\\n//\\n// - - - - - - - - - - - - - - - - - - - - - - - - - ----------------------------\\n\\n@mixin fluid-size(\\n  $properties: font-size,\\n  $tween-start: 16px 400px,\\n  $tween-end: 60px 1400px,\\n  $use-mq: true\\n) {\\n  $min-size: nth($tween-start, 1);\\n  $max-size: nth($tween-end, 1);\\n  $min-width: nth($tween-start, 2);\\n  $max-width: nth($tween-end, 2);\\n  @each $property in $properties {\\n    @if $use-mq {\\n      #{$property}: $min-size;\\n      @include mq($min-width, $max-width) {\\n        #{$property}: calc(#{$min-size} + (#{strip-units($max-size)} - #{strip-units($min-size)}) * (\\n          100vw - #{$min-width}\\n        ) / (#{strip-units($max-width)} - #{strip-units($min-width)}));\\n      }\\n      @include mq($max-width) {\\n        #{$property}: $max-size;\\n      }\\n    } @else {\\n      #{$property}: calc(#{$min-size} +\\n      (#{strip-units($max-size)} - #{strip-units($min-size)}) *\\n      (100vw - #{$min-width}) /\\n      (#{strip-units($max-width)} - #{strip-units($min-width)}));\\n    }\\n  }\\n}\\n\\n// Misin just for font size\\n@mixin fluid-font($tween-start: 16px 400px, $tween-end: 60px 1400px, $use-mq: true) {\\n  @include fluid-size(font-size, $tween-start, $tween-end, $use-mq);\\n}\\n\",\"// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// basic type mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin body-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  @include fluid-font($fs-xxs $bp-phablet, $fs-xs $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin heading-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.35\\n) {\\n  @include fluid-font($fs-sm $bp-phablet, 21px $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin dek-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.375\\n) {\\n  @include fluid-font($fs-sm $bp-phablet, $fs-md $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin control-label(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.25\\n) {\\n  color: $color;\\n  font-family: $font;\\n  font-size: $fs-xs;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin basic-formatting {\\n  a {\\n    @include inline-link;\\n  }\\n\\n  strong,\\n  b {\\n    font-weight: $fw-med;\\n  }\\n  em,\\n  i {\\n    font-style: italic;\\n  }\\n}\\n\\n// Since SVGs scale up with browser, reduce font size on larger screens\\n@mixin svg-label($weight: $fw-light, $has-breakout: true) {\\n  font-family: $ff-sans;\\n  font-size: $fs-md;\\n  font-weight: $weight;\\n\\n  @include mq($bp-tablet) {\\n    font-size: $fs-sm;\\n  }\\n\\n  @if ($has-breakout) {\\n    @include mq($bp-breakout-chart) {\\n      font-size: $fs-xs;\\n    }\\n  }\\n}\\n\\n@mixin tiny-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  color: $color;\\n  font-size: $fs-xxxs;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n  @include mq($bp-phablet) {\\n    font-size: $fs-xxs;\\n  }\\n}\\n\\n@mixin micro-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  color: $color;\\n  font-size: $fs-xxxxs;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n\\n  @include mq($bp-tablet) {\\n    font-size: $fs-xxxs;\\n  }\\n  @include mq($bp-desktop) {\\n    font-size: $fs-xxs;\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// link mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin inline-link(\\n  $color: inherit,\\n  $underline: $c-bright-blue,\\n  $hover: $c-white,\\n  $active: $c-spot\\n) {\\n  border-bottom: solid 2px $underline;\\n  color: $color;\\n  cursor: pointer;\\n  padding-left: 0.125rem;\\n  padding-right: 0.125rem;\\n  text-decoration: none;\\n\\n  &:hover {\\n    background-color: $underline;\\n    border-bottom: solid 2px $underline;\\n    color: $hover;\\n  }\\n  &:focus-visible {\\n    outline: $outline;\\n  }\\n}\\n\\n@mixin inline-link-on-dark {\\n  @include inline-link($c-cyan-500, $c-cyan-500, $c-deep-blue);\\n}\\n\\n@mixin arrow-link {\\n  color: $c-black;\\n  display: inline-block;\\n  font-weight: $fw-med;\\n  text-decoration: none;\\n  transition: all 0.5s ease-out;\\n\\n  &:after {\\n    color: $c-bright-blue;\\n    content: \\\"\\\\e608\\\";\\n    display: inline;\\n    font-family: $ff-icons;\\n    font-weight: $fw-reg;\\n    font-size: inherit;\\n    padding-left: 0.5rem;\\n    padding-right: 0.75rem;\\n    transition: padding 0.4s ease-in-out;\\n    vertical-align: middle;\\n  }\\n\\n  &:hover,\\n  &:focus-visible {\\n    color: $c-bright-blue;\\n    &:after {\\n      padding-left: 1.5rem;\\n      padding-right: 0;\\n    }\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// Button mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin button($style: solid, $color: $c-text, $bg: $c-bg) {\\n  @include body-text;\\n  padding: 0.55em 1.1em;\\n  appearance: none;\\n\\n  &:focus-visible {\\n    outline: $outline;\\n  }\\n\\n  @if $style == outline {\\n    background-color: transparent;\\n    border: 1px solid $color;\\n\\n    &:hover,\\n    &:focus-visible {\\n      background-color: $color;\\n      border-color: $color;\\n      color: $bg;\\n    }\\n  } @else {\\n    background-color: $bg;\\n    color: $color;\\n    border: solid 1px transparent;\\n    &:hover,\\n    &:focus-visible {\\n      background-color: $color;\\n      border-color: $bg;\\n      color: $bg;\\n    }\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// Heading Mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin h1($color: inherit, $font: $ff-serif, $weight: $fw-med, $lh: 1) {\\n  @include fluid-font(38px 400px, $fs-xxxl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  letter-spacing: -0.03em;\\n  line-height: $lh;\\n}\\n\\n@mixin h2($color: inherit, $font: $ff-sans, $weight: $fw-med, $lh: 0.9) {\\n  @include fluid-font($fs-lg 400px, $fs-xl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin h3($color: inherit, $font: $ff-sans, $weight: $fw-med, $lh: 1) {\\n  @include fluid-font($fs-sm 400px, $fs-xl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\",\"$c-black: #000000;\\n$c-white: #ffffff;\\n$c-gray-light: #888888;\\n$c-gray-mid: #757575;\\n$c-gray-verylight: #e6e6e6;\\n$c-gray-superlight: #e9e9e9;\\n$c-gray-dark: #333333;\\n\\n// Blues\\n$c-bright-blue: #2251ff;\\n$c-deep-blue: #051c2c;\\n$c-purple-blue: #708fff;\\n$c-light-blue: #e0e7ff;\\n$c-verylight-blue: #f2f5f9;\\n\\n// McKinsey dataviz colors\\n$c-cyan-500: #00a9f4;\\n$c-electric-blue-900: #061f79;\\n\\n// Applications\\n$c-bg: $c-white;\\n$c-border: $c-gray-verylight;\\n$c-border-on-dark: rgba($c-white, 0.2);\\n$c-gray-text: $c-gray-mid;\\n$c-rule: $c-black;\\n$c-spot: $c-bright-blue;\\n$c-text: $c-black;\\n$c-outline: $c-purple-blue;\\n\",\"// Families\\n\\n// replace with actual fonts\\n$ff-sans: \\\"McKinsey Sans\\\", Arial, sans-serif;\\n$ff-serif: Bower, Georgia, serif;\\n$ff-icons: mck-icons;\\n\\n// Weights\\n$fw-light: 300;\\n$fw-reg: 400;\\n$fw-med: 500;\\n\\n// Sizes\\n$fs-xxxxs: 9px;\\n\\n$fs-xxxs: 12px;\\n$fs-xxs: 14px;\\n$fs-xs: 16px;\\n$fs-sm: 18px;\\n$fs-md: 24px;\\n$fs-lg: 28px;\\n$fs-xl: 36px;\\n$fs-xxl: 45px;\\n$fs-xxxl: 52px;\\n$fs-xxxxl: 110px;\\n$fs-xxxxxl: 98px;\\n\\n// Line Height\\n$lh-base: 1.5;\\n$lh-med: 1.375;\\n$lh-tiny: 1;\\n$lh-small: 1;\\n$lh-smallcap: 1.25;\\n\\n$lh-mono: 1.2;\\n\",\"@use \\\"sass:math\\\";\\n\\n$spacing-xxs: 5px;\\n$spacing-xs: 8px;\\n$spacing-sm: 12px;\\n$spacing-md: 18px;\\n$spacing-lg: 24px;\\n$spacing-xl: 36px;\\n$spacing-xxl: 60px;\\n$spacing-xxxl: 100px;\\n$spacing-xxxxl: 200px;\\n\\n// Grid\\n$grid-gutter: 40px;\\n$grid-padding: math.div($grid-gutter, 2);\\n$grid-gutter-mobile: 20px;\\n$grid-padding-mobile: math.div($grid-gutter-mobile, 2);\\n\\n// Controls bar\\n$controls-bar-height-m: 65px;\\n$controls-bar-height-d: 75px;\\n\\n// Space between chart and end notes\\n$notes-spacing: $spacing-lg;\\n\",\"// Write less verbose media queries.\\n// $bp-1 - breakpoint value, min-width if declaring range\\n// $bp-2 [null] - [Optional] breakpoint value, max-width if declaring range\\n//\\n// @example scss - SCSS\\n// .item-1 {\\n//    @include mq(600px, 768px) {\\n//     display: block;\\n//   }\\n// }\\n//\\n// .item-2 {\\n//   @include mq(768px) {\\n//     display: block;\\n//   }\\n// }\\n\\n@mixin mq($bp-1, $bp-2: null) {\\n  @if $bp-1 == \\\"max\\\" {\\n    @media (max-width: $bp-2 - 1) {\\n      @content;\\n    }\\n  } @else if $bp-2 == \\\"max\\\" {\\n    @media (max-width: $bp-1 - 1) {\\n      @content;\\n    }\\n  } @else if $bp-2 == null {\\n    @media (min-width: $bp-1) {\\n      @content;\\n    }\\n  } @else {\\n    @media (min-width: $bp-1) and (max-width: $bp-2 - 1) {\\n      @content;\\n    }\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"container\": \"container__bTjKW\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"div[class^=StickyShare],section[class^=StickyShare]{display:none}.page__LnL_z{font-size:14px;color:inherit;font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-weight:300;line-height:1.5;margin:0;width:100%;--sidebar-width: 260px;--grid-gutter: 20px}@media(min-width: 400px)and (max-width: 1023px){.page__LnL_z{font-size:calc(14px + (16 - 14) * (\\n          100vw - 400px\\n        ) / (1024 - 400))}}@media(min-width: 1024px){.page__LnL_z{font-size:16px}}@media(min-width: 768px){.page__LnL_z{--grid-gutter: 40px}}@media(min-width: 1200px){.page__LnL_z{--sidebar-width: 350px}}@media(min-width: 1024px){.page__LnL_z{display:flex;min-height:100vh}}.page__LnL_z p{margin:0}.sidebar__qCB5v{font-size:14px;color:inherit;font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-weight:300;line-height:1.5;padding-left:20px;padding-right:20px;padding-top:20px;background-color:#fff;width:100%}@media(min-width: 400px)and (max-width: 1023px){.sidebar__qCB5v{font-size:calc(14px + (16 - 14) * (\\n          100vw - 400px\\n        ) / (1024 - 400))}}@media(min-width: 1024px){.sidebar__qCB5v{font-size:16px}}@media(min-width: 768px){.sidebar__qCB5v{padding-left:40px;padding-right:40px}}@media(min-width: 768px){.sidebar__qCB5v{padding-top:40px}}@media(min-height: 0)and (max-height: 749px){.sidebar__qCB5v{overflow:auto}}@media(min-width: 1024px){.sidebar__qCB5v{position:sticky;top:0;right:0;bottom:0;left:0;border-right:1px solid #e6e6e6;display:flex;flex-direction:column;flex-shrink:0;justify-content:space-between;max-height:100vh;width:var(--sidebar-width)}}.sidebar-top__VmpUX{padding-bottom:36px}@media(max-width: 1023px){.sidebar-top__VmpUX{gap:20px;align-items:flex-start;display:flex;justify-content:space-between;border-bottom:1px solid #e6e6e6;padding-bottom:18px}}@media(max-width: 1023px)and (min-width: 768px){.sidebar-top__VmpUX{gap:40px}}.header__YRfO3{padding:0}@media(min-width: 1024px){.header__YRfO3{padding-bottom:36px}}.title__CfheG{display:inline-block;font-family:Bower,Georgia,serif;font-size:21px;font-weight:500;line-height:1;margin:0 0 5px;padding:0}@media(min-width: 1200px){.title__CfheG{font-size:26px}}.title__CfheG a{color:#000;text-decoration:none}.title__CfheG a:hover,.title__CfheG a:focus{text-decoration:underline;text-underline-offset:1.6px;text-decoration-thickness:2px}.title__CfheG a:focus-visible{outline:4px solid #708fff}.tagline__BNO4k{font-size:14px;color:inherit;font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-weight:300;line-height:1.3;margin:0}@media(min-width: 400px)and (max-width: 1023px){.tagline__BNO4k{font-size:calc(14px + (16 - 14) * (\\n          100vw - 400px\\n        ) / (1024 - 400))}}@media(min-width: 1024px){.tagline__BNO4k{font-size:16px}}.nav-list__lNFCB{list-style:none;margin:0 0 18px;padding:0}@media(max-width: 1023px){.nav-list__lNFCB{display:none}}.nav-list__lNFCB li{font-size:14px;color:inherit;font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-weight:300;line-height:1.5;display:block;margin:0 calc(-1*var(--grid-gutter))}@media(min-width: 400px)and (max-width: 1023px){.nav-list__lNFCB li{font-size:calc(14px + (16 - 14) * (\\n          100vw - 400px\\n        ) / (1024 - 400))}}@media(min-width: 1024px){.nav-list__lNFCB li{font-size:16px}}.nav-list__lNFCB li a{border-bottom:1px solid #e6e6e6}.nav-list__lNFCB li:first-child{border-top:1px solid #e6e6e6}.nav-list__lNFCB li:focus-within a{outline:0}.nav-list__lNFCB a{color:#000;border-radius:0;display:block;padding:10px var(--grid-gutter);position:relative;text-decoration:none}.nav-list__lNFCB a span{display:inline-block;position:relative;z-index:2;transition:color .2s cubic-bezier(0.645, 0.045, 0.355, 1)}.nav-list__lNFCB a::before{content:\\\" \\\";display:block;position:absolute;top:0;bottom:0;left:0;height:100%;width:10px;background-color:#2251ff;pointer-events:none;transform:translateX(-100%);transition:transform .2s cubic-bezier(0.645, 0.045, 0.355, 1);z-index:1}.nav-list__lNFCB a:hover span,.nav-list__lNFCB a:focus-visible span{color:#2251ff}.nav-list__lNFCB a:hover::before,.nav-list__lNFCB a:focus-visible::before{transform:translateX(0)}.nav-list__lNFCB li.active__v_Cmo a{color:#2251ff}.nav-list__lNFCB li.active__v_Cmo a::before{background-color:#2251ff;transform:translateX(0)}.menu-btn__HL449{color:inherit;font-size:12px;font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-weight:300;line-height:1.5;appearance:none;border:0;background:rgba(0,0,0,0);cursor:pointer;margin:0;padding:0;text-align:left;white-space:nowrap}@media(min-width: 400px){.menu-btn__HL449{font-size:14px}}@media(max-width: 1023px){.menu-btn__HL449{font-size:14px;color:inherit;font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-weight:300;line-height:1.5;padding:.55em 1.1em;appearance:none;background-color:#2251ff;color:#fff;border:solid 1px rgba(0,0,0,0)}}@media(max-width: 1023px)and (min-width: 400px)and (max-width: 1023px){.menu-btn__HL449{font-size:calc(14px + (16 - 14) * (\\n          100vw - 400px\\n        ) / (1024 - 400))}}@media(max-width: 1023px)and (min-width: 1024px){.menu-btn__HL449{font-size:16px}}@media(max-width: 1023px){.menu-btn__HL449:focus-visible{outline:4px solid #708fff}.menu-btn__HL449:hover,.menu-btn__HL449:focus-visible{background-color:#fff;border-color:#2251ff;color:#2251ff}.menu-btn__HL449 span{display:none}}@media(min-width: 1024px){.menu-btn__HL449{appearance:none;background-color:rgba(0,0,0,0);border:0;padding:0}}.menu-btn__HL449:hover,.menu-btn__HL449:focus-visible{color:#2251ff}.menu-btn-icon__zZdg4{display:inline-block;margin-right:8px}.sidebar-bottom-desktop__F5Bg0{width:var(--sidebar-width);margin-left:calc(-1*var(--grid-gutter))}@media(min-height: 750px){.sidebar-bottom-desktop__F5Bg0{position:sticky;bottom:0}}@media(max-width: 1023px){.sidebar-bottom-desktop__F5Bg0{display:none}}@media(min-width: 1024px){.main-wrap__XIjq1{width:calc(100% - var(--sidebar-width))}}.main-wrap__XIjq1 svg{display:block;width:100%}.main__wFNsA{padding-left:20px;padding-right:20px;padding-bottom:20px}@media(min-width: 768px){.main__wFNsA{padding-left:40px;padding-right:40px}}@media(min-width: 768px){.main__wFNsA{padding-bottom:40px}}@media(min-width: 1024px){.main__wFNsA{max-width:1200px;margin:0 auto}}.main-inner__g0xCz{padding-top:30px}@media(min-width: 1024px){.main-inner__g0xCz{padding-top:40px;padding-bottom:100px;flex:1}}@media(min-width: 1200px){.main-inner__g0xCz{margin-left:var(--grid-gutter);margin-right:var(--grid-gutter);padding-top:60px}}@media(min-width: 1500px){.main-inner__g0xCz{margin-left:8.3333333333%;margin-right:8.3333333333%;padding-top:80px}}.main-bottom-mobile__N_YVE{margin-top:36px}@media(min-width: 1024px){.main-bottom-mobile__N_YVE{display:none}}.main-loading__TvK_f{opacity:.4;transition:opacity .4s ease-in-out;transition-delay:.3s;pointer-events:none}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/PageContainer/styles.module.scss\",\"webpack://./src/styles/mixins/_fluid-size.scss\",\"webpack://./src/styles/mixins/_typography.scss\",\"webpack://./src/styles/variables/_typography.scss\",\"webpack://./src/styles/mixins/_mq.scss\",\"webpack://./src/styles/mixins/_shorthander.scss\",\"webpack://./src/styles/mixins/_layout.scss\",\"webpack://./src/styles/variables/_spacing.scss\",\"webpack://./src/styles/variables/_colors.scss\",\"webpack://./src/styles/mixins/_mq-height.scss\",\"webpack://./src/styles/variables/_borders.scss\",\"webpack://./src/styles/mixins/_pseudo.scss\",\"webpack://./src/styles/mixins/_size.scss\",\"webpack://./src/styles/variables/_breakpoints.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@import \\\"@/styles\\\";\\n\\n// Hide sticky nav bar on mckinsey.com\\ndiv[class^=\\\"StickyShare\\\"],\\nsection[class^=\\\"StickyShare\\\"] {\\n  display: none;\\n}\\n\\n.page {\\n  @include body-text;\\n  margin: 0;\\n  width: 100%;\\n\\n  --sidebar-width: 260px;\\n  --grid-gutter: #{$grid-gutter-mobile};\\n\\n  @include mq($bp-larger-gutters) {\\n    --grid-gutter: #{$grid-gutter};\\n  }\\n\\n  @include mq($bp-sidebar-wide) {\\n    --sidebar-width: 350px;\\n  }\\n\\n  @include mq($bp-sidebar) {\\n    display: flex;\\n    min-height: 100vh;\\n  }\\n\\n  p {\\n    margin: 0;\\n  }\\n}\\n\\n.sidebar {\\n  @include body-text;\\n  @include site-pad(horiz);\\n  @include site-pad(padding-top);\\n  background-color: $c-white;\\n  width: 100%;\\n\\n  // When viewport is very short, allow overflow scrolling\\n  @include mq-height(0, 750px) {\\n    overflow: auto;\\n  }\\n\\n  @include mq($bp-sidebar) {\\n    @include sticky(0);\\n    border-right: $border;\\n    display: flex;\\n    flex-direction: column;\\n    flex-shrink: 0;\\n    justify-content: space-between;\\n    max-height: 100vh;\\n    width: var(--sidebar-width);\\n  }\\n}\\n\\n// Top of sidebar\\n\\n.sidebar-top {\\n  padding-bottom: $spacing-xl;\\n\\n  // Horizontal row on mobile\\n  @include mq($bp-sidebar, max) {\\n    @include gap;\\n    align-items: flex-start;\\n    display: flex;\\n    justify-content: space-between;\\n    border-bottom: $border;\\n    padding-bottom: $spacing-md;\\n  }\\n}\\n\\n.header {\\n  padding: 0;\\n  @include mq($bp-sidebar) {\\n    padding-bottom: $spacing-xl;\\n  }\\n}\\n\\n.title {\\n  display: inline-block;\\n  font-family: $ff-serif;\\n  font-size: 21px;\\n  font-weight: $fw-med;\\n  line-height: 1;\\n  margin: 0 0 $spacing-xxs;\\n  padding: 0;\\n\\n  @include mq($bp-sidebar-wide) {\\n    font-size: 26px;\\n  }\\n\\n  a {\\n    color: $c-black;\\n    text-decoration: none;\\n    &:hover,\\n    &:focus {\\n      text-decoration: underline;\\n      text-underline-offset: 1.6px;\\n      text-decoration-thickness: 2px;\\n    }\\n    &:focus-visible {\\n      outline: $outline;\\n    }\\n  }\\n}\\n\\n.tagline {\\n  @include body-text($lh: 1.3);\\n  margin: 0;\\n}\\n\\n.nav-list {\\n  list-style: none;\\n  margin: 0 0 $spacing-md;\\n  padding: 0;\\n  // Hide on mobile\\n  @include mq($bp-sidebar, max) {\\n    display: none;\\n  }\\n\\n  li {\\n    @include body-text($weight: $fw-light);\\n    display: block;\\n    margin: 0 calc(-1 * var(--grid-gutter));\\n\\n    a {\\n      border-bottom: $border;\\n    }\\n\\n    &:first-child {\\n      border-top: $border;\\n    }\\n\\n    &:focus-within a {\\n      outline: 0;\\n    }\\n  }\\n  a {\\n    color: $c-black;\\n    border-radius: 0;\\n    display: block;\\n    padding: 10px var(--grid-gutter);\\n    position: relative;\\n    text-decoration: none;\\n    span {\\n      display: inline-block;\\n      position: relative;\\n      z-index: 2;\\n      transition: color $transition;\\n    }\\n\\n    &::before {\\n      @include pseudo(0 x 0 0);\\n      @include size(10px, 100%);\\n      background-color: $c-bright-blue;\\n      pointer-events: none;\\n      transform: translateX(-100%);\\n      transition: transform $transition;\\n      z-index: 1;\\n    }\\n\\n    &:hover,\\n    &:focus-visible {\\n      span {\\n        color: $c-bright-blue;\\n      }\\n      &::before {\\n        transform: translateX(0);\\n      }\\n    }\\n  }\\n\\n  li.active a {\\n    color: $c-bright-blue;\\n    &::before {\\n      background-color: $c-bright-blue;\\n      transform: translateX(0);\\n    }\\n  }\\n}\\n\\n.menu-btn {\\n  @include tiny-text;\\n  appearance: none;\\n  border: 0;\\n  background: transparent;\\n  cursor: pointer;\\n  margin: 0;\\n  padding: 0;\\n  text-align: left;\\n  white-space: nowrap;\\n\\n  @include mq($bp-sidebar, max) {\\n    @include button(solid, $c-white, $c-bright-blue);\\n    span {\\n      display: none;\\n    }\\n  }\\n  @include mq($bp-sidebar) {\\n    appearance: none;\\n    background-color: transparent;\\n    border: 0;\\n    padding: 0;\\n  }\\n\\n  &:hover,\\n  &:focus-visible {\\n    color: $c-bright-blue;\\n  }\\n\\n  &-icon {\\n    display: inline-block;\\n    margin-right: $spacing-xs;\\n  }\\n}\\n\\n// Bottom of sidebar\\n// Only show this block on desktop\\n.sidebar-bottom-desktop {\\n  width: var(--sidebar-width);\\n  margin-left: calc(-1 * var(--grid-gutter));\\n\\n  // With enough vertical space, we can stick the bottom content\\n  // to the bottom of the viewport even before you've scrolled past the header\\n  @include mq-height(750px) {\\n    @include sticky(x x 0 x);\\n  }\\n\\n  @include mq($bp-sidebar, max) {\\n    display: none;\\n  }\\n}\\n\\n// Main content area\\n\\n.main-wrap {\\n  @include mq($bp-sidebar) {\\n    width: calc(100% - var(--sidebar-width));\\n  }\\n\\n  // Visualizations\\n  svg {\\n    display: block;\\n    width: 100%;\\n  }\\n}\\n\\n.main {\\n  @include site-pad(horiz);\\n  @include site-pad(padding-bottom);\\n\\n  @include mq($bp-sidebar) {\\n    max-width: $content-max;\\n    margin: 0 auto;\\n  }\\n}\\n\\n.main-inner {\\n  @include padding(30px x x x);\\n\\n  @include mq($bp-sidebar) {\\n    @include padding(40px x 100px x);\\n    flex: 1;\\n  }\\n  @include mq($bp-desktop-xl) {\\n    @include margin(x var(--grid-gutter));\\n    padding-top: 60px;\\n  }\\n\\n  @include mq($bp-desktop-xxl) {\\n    @include margin(x $one-col);\\n    padding-top: 80px;\\n  }\\n}\\n\\n// Only show this block on mobile\\n.main-bottom-mobile {\\n  margin-top: $spacing-xl;\\n\\n  @include mq($bp-sidebar) {\\n    display: none;\\n  }\\n}\\n\\n.main-loading {\\n  opacity: 0.4;\\n  transition: opacity 0.4s ease-in-out;\\n  transition-delay: 0.3s;\\n  pointer-events: none;\\n}\\n\",\"// - - - - - - - - - - - - - - - - - - - - - - - - - -----------------------------\\n// Fluid Font Sizing\\n//\\n// FOR:   Dynamically changing the size of type\\n//        between certain screen sizes. Think of\\n//        it as a CSS-only version of FitText\\n// REQ:   Depends on the `mq` media query mixin\\n// REF:   http://www.adrenalinmedia.com.au/blog/january-2016/this-changes-everything-css-%E2%80%98fluid-properties%E2%80%99\\n// USE:   @include fluid-size(\\n//          40px $bp__tablet--sm,\\n//          60px $bp__desktop\\n//        );\\n//\\n// - - - - - - - - - - - - - - - - - - - - - - - - - ----------------------------\\n\\n@mixin fluid-size(\\n  $properties: font-size,\\n  $tween-start: 16px 400px,\\n  $tween-end: 60px 1400px,\\n  $use-mq: true\\n) {\\n  $min-size: nth($tween-start, 1);\\n  $max-size: nth($tween-end, 1);\\n  $min-width: nth($tween-start, 2);\\n  $max-width: nth($tween-end, 2);\\n  @each $property in $properties {\\n    @if $use-mq {\\n      #{$property}: $min-size;\\n      @include mq($min-width, $max-width) {\\n        #{$property}: calc(#{$min-size} + (#{strip-units($max-size)} - #{strip-units($min-size)}) * (\\n          100vw - #{$min-width}\\n        ) / (#{strip-units($max-width)} - #{strip-units($min-width)}));\\n      }\\n      @include mq($max-width) {\\n        #{$property}: $max-size;\\n      }\\n    } @else {\\n      #{$property}: calc(#{$min-size} +\\n      (#{strip-units($max-size)} - #{strip-units($min-size)}) *\\n      (100vw - #{$min-width}) /\\n      (#{strip-units($max-width)} - #{strip-units($min-width)}));\\n    }\\n  }\\n}\\n\\n// Misin just for font size\\n@mixin fluid-font($tween-start: 16px 400px, $tween-end: 60px 1400px, $use-mq: true) {\\n  @include fluid-size(font-size, $tween-start, $tween-end, $use-mq);\\n}\\n\",\"// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// basic type mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin body-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  @include fluid-font($fs-xxs $bp-phablet, $fs-xs $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin heading-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.35\\n) {\\n  @include fluid-font($fs-sm $bp-phablet, 21px $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin dek-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.375\\n) {\\n  @include fluid-font($fs-sm $bp-phablet, $fs-md $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin control-label(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.25\\n) {\\n  color: $color;\\n  font-family: $font;\\n  font-size: $fs-xs;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin basic-formatting {\\n  a {\\n    @include inline-link;\\n  }\\n\\n  strong,\\n  b {\\n    font-weight: $fw-med;\\n  }\\n  em,\\n  i {\\n    font-style: italic;\\n  }\\n}\\n\\n// Since SVGs scale up with browser, reduce font size on larger screens\\n@mixin svg-label($weight: $fw-light, $has-breakout: true) {\\n  font-family: $ff-sans;\\n  font-size: $fs-md;\\n  font-weight: $weight;\\n\\n  @include mq($bp-tablet) {\\n    font-size: $fs-sm;\\n  }\\n\\n  @if ($has-breakout) {\\n    @include mq($bp-breakout-chart) {\\n      font-size: $fs-xs;\\n    }\\n  }\\n}\\n\\n@mixin tiny-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  color: $color;\\n  font-size: $fs-xxxs;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n  @include mq($bp-phablet) {\\n    font-size: $fs-xxs;\\n  }\\n}\\n\\n@mixin micro-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  color: $color;\\n  font-size: $fs-xxxxs;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n\\n  @include mq($bp-tablet) {\\n    font-size: $fs-xxxs;\\n  }\\n  @include mq($bp-desktop) {\\n    font-size: $fs-xxs;\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// link mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin inline-link(\\n  $color: inherit,\\n  $underline: $c-bright-blue,\\n  $hover: $c-white,\\n  $active: $c-spot\\n) {\\n  border-bottom: solid 2px $underline;\\n  color: $color;\\n  cursor: pointer;\\n  padding-left: 0.125rem;\\n  padding-right: 0.125rem;\\n  text-decoration: none;\\n\\n  &:hover {\\n    background-color: $underline;\\n    border-bottom: solid 2px $underline;\\n    color: $hover;\\n  }\\n  &:focus-visible {\\n    outline: $outline;\\n  }\\n}\\n\\n@mixin inline-link-on-dark {\\n  @include inline-link($c-cyan-500, $c-cyan-500, $c-deep-blue);\\n}\\n\\n@mixin arrow-link {\\n  color: $c-black;\\n  display: inline-block;\\n  font-weight: $fw-med;\\n  text-decoration: none;\\n  transition: all 0.5s ease-out;\\n\\n  &:after {\\n    color: $c-bright-blue;\\n    content: \\\"\\\\e608\\\";\\n    display: inline;\\n    font-family: $ff-icons;\\n    font-weight: $fw-reg;\\n    font-size: inherit;\\n    padding-left: 0.5rem;\\n    padding-right: 0.75rem;\\n    transition: padding 0.4s ease-in-out;\\n    vertical-align: middle;\\n  }\\n\\n  &:hover,\\n  &:focus-visible {\\n    color: $c-bright-blue;\\n    &:after {\\n      padding-left: 1.5rem;\\n      padding-right: 0;\\n    }\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// Button mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin button($style: solid, $color: $c-text, $bg: $c-bg) {\\n  @include body-text;\\n  padding: 0.55em 1.1em;\\n  appearance: none;\\n\\n  &:focus-visible {\\n    outline: $outline;\\n  }\\n\\n  @if $style == outline {\\n    background-color: transparent;\\n    border: 1px solid $color;\\n\\n    &:hover,\\n    &:focus-visible {\\n      background-color: $color;\\n      border-color: $color;\\n      color: $bg;\\n    }\\n  } @else {\\n    background-color: $bg;\\n    color: $color;\\n    border: solid 1px transparent;\\n    &:hover,\\n    &:focus-visible {\\n      background-color: $color;\\n      border-color: $bg;\\n      color: $bg;\\n    }\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// Heading Mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin h1($color: inherit, $font: $ff-serif, $weight: $fw-med, $lh: 1) {\\n  @include fluid-font(38px 400px, $fs-xxxl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  letter-spacing: -0.03em;\\n  line-height: $lh;\\n}\\n\\n@mixin h2($color: inherit, $font: $ff-sans, $weight: $fw-med, $lh: 0.9) {\\n  @include fluid-font($fs-lg 400px, $fs-xl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin h3($color: inherit, $font: $ff-sans, $weight: $fw-med, $lh: 1) {\\n  @include fluid-font($fs-sm 400px, $fs-xl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\",\"// Families\\n\\n// replace with actual fonts\\n$ff-sans: \\\"McKinsey Sans\\\", Arial, sans-serif;\\n$ff-serif: Bower, Georgia, serif;\\n$ff-icons: mck-icons;\\n\\n// Weights\\n$fw-light: 300;\\n$fw-reg: 400;\\n$fw-med: 500;\\n\\n// Sizes\\n$fs-xxxxs: 9px;\\n\\n$fs-xxxs: 12px;\\n$fs-xxs: 14px;\\n$fs-xs: 16px;\\n$fs-sm: 18px;\\n$fs-md: 24px;\\n$fs-lg: 28px;\\n$fs-xl: 36px;\\n$fs-xxl: 45px;\\n$fs-xxxl: 52px;\\n$fs-xxxxl: 110px;\\n$fs-xxxxxl: 98px;\\n\\n// Line Height\\n$lh-base: 1.5;\\n$lh-med: 1.375;\\n$lh-tiny: 1;\\n$lh-small: 1;\\n$lh-smallcap: 1.25;\\n\\n$lh-mono: 1.2;\\n\",\"// Write less verbose media queries.\\n// $bp-1 - breakpoint value, min-width if declaring range\\n// $bp-2 [null] - [Optional] breakpoint value, max-width if declaring range\\n//\\n// @example scss - SCSS\\n// .item-1 {\\n//    @include mq(600px, 768px) {\\n//     display: block;\\n//   }\\n// }\\n//\\n// .item-2 {\\n//   @include mq(768px) {\\n//     display: block;\\n//   }\\n// }\\n\\n@mixin mq($bp-1, $bp-2: null) {\\n  @if $bp-1 == \\\"max\\\" {\\n    @media (max-width: $bp-2 - 1) {\\n      @content;\\n    }\\n  } @else if $bp-2 == \\\"max\\\" {\\n    @media (max-width: $bp-1 - 1) {\\n      @content;\\n    }\\n  } @else if $bp-2 == null {\\n    @media (min-width: $bp-1) {\\n      @content;\\n    }\\n  } @else {\\n    @media (min-width: $bp-1) and (max-width: $bp-2 - 1) {\\n      @content;\\n    }\\n  }\\n}\\n\",\"// Shorthand method for common multi-value declarations such as absolute, padding, and margin. Can also be used as the basis to create new multi-value declarations that we haven't conceived.\\n//\\n// @name shorthander\\n// $position - Takes name of attribute: margin, padding, absolute, fixed, relative, static.\\n// $value - Takes 1-4 values, following convention of traditional CSS shorthand properties for margin, padding, etc. One notable improvement: You can use the shorthand and still leave some values blank. Do so by placing an 'n' in place of any numeral.\\n//\\n// @example scss - SCSS\\n// .item {\\n//   @include absolute(0 0 0 0);\\n//   //@include relative(0 0 0 0);\\n//   //@include fixed(0 0 0 0);\\n//   //@include padding(0 0 0 0);\\n//   //@include margin(0 0 0 0);\\n// }\\n\\n@mixin shorthander($position, $value) {\\n  $position-prefix: '';\\n\\n  @if $position == 'margin' or $position == 'padding' {\\n    $position-prefix: $position + '-';\\n  } @else if $position == 'null' {\\n    // do nothing\\n  } @else {\\n    position: $position;\\n  }\\n\\n  @if length($value) == 1 and $value != 'n' and $value != 'x' and $value != 'null' {\\n    #{$position-prefix}top: auto($value);\\n    #{$position-prefix}right: auto($value);\\n    #{$position-prefix}bottom: auto($value);\\n    #{$position-prefix}left: auto($value);\\n  }\\n\\n  @if length($value) == 2 {\\n    $value-y: nth($value, 1);\\n    $value-x: nth($value, 2);\\n    @if $value-y != 'n' and $value-y != 'x' and $value-y != 'null' {\\n      #{$position-prefix}top: auto($value-y);\\n      #{$position-prefix}bottom: auto($value-y);\\n    }\\n    @if $value-x != 'n' and $value-x != 'x' and $value-x != 'null' {\\n      #{$position-prefix}left: auto($value-x);\\n      #{$position-prefix}right: auto($value-x);\\n    }\\n  }\\n\\n  @if length($value) == 3 {\\n    $value-y-top: nth($value, 1);\\n    $value-x: nth($value, 2);\\n    $value-y-bottom: nth($value, 3);\\n\\n    @if $value-y-top != 'n' and $value-y-top != 'x' and $value-y-top != 'null' {\\n      #{$position-prefix}top: auto($value-y-top);\\n    }\\n    @if $value-x != 'n' and $value-x != 'x' and $value-x != 'null' {\\n      #{$position-prefix}right: auto($value-x);\\n      #{$position-prefix}left: auto($value-x);\\n    }\\n    @if $value-y-bottom != 'n' and $value-y-bottom != 'x' and $value-y-bottom != 'null' {\\n      #{$position-prefix}bottom: auto($value-y-bottom);\\n    }\\n  }\\n\\n  @if length($value) == 4 {\\n    $value-top: nth($value, 1);\\n    $value-right: nth($value, 2);\\n    $value-bottom: nth($value, 3);\\n    $value-left: nth($value, 4);\\n\\n    @if $value-top != 'n' and $value-top != 'x' and $value-top != 'null' {\\n      #{$position-prefix}top: auto($value-top);\\n    }\\n    @if $value-right != 'n' and $value-right != 'x' and $value-right != 'null' {\\n      #{$position-prefix}right: auto($value-right);\\n    }\\n    @if $value-bottom != 'n' and $value-bottom != 'x' and $value-bottom != 'null' {\\n      #{$position-prefix}bottom: auto($value-bottom);\\n    }\\n    @if $value-left != 'n' and $value-left != 'x' and $value-left != 'null' {\\n      #{$position-prefix}left: auto($value-left);\\n    }\\n  }\\n}\\n\\n// Absolute\\n@mixin absolute($value) {\\n  @include shorthander(absolute, $value);\\n}\\n\\n// Fixed\\n@mixin fixed($value) {\\n  @include shorthander(fixed, $value);\\n}\\n\\n// Sticky\\n@mixin sticky($value) {\\n  @include shorthander(sticky, $value);\\n}\\n\\n// Relative\\n@mixin relative($value) {\\n  @include shorthander(relative, $value);\\n}\\n\\n// Padding\\n@mixin padding($value) {\\n  @include shorthander(padding, $value);\\n}\\n\\n// Margin\\n@mixin margin($value) {\\n  @include shorthander(margin, $value);\\n}\\n\",\"@use \\\"sass:math\\\";\\n\\n@mixin site-pad($param: horiz) {\\n  // Keywords for horiz/vert/both\\n  @if ($param == horiz or $param == both) {\\n    @include padding(x $grid-gutter-mobile);\\n    @include mq($bp-larger-gutters) {\\n      @include padding(x $grid-gutter);\\n    }\\n  }\\n  @if ($param == vert or $param == both) {\\n    @include padding($grid-gutter-mobile x);\\n    @include mq($bp-larger-gutters) {\\n      @include padding($grid-gutter x);\\n    }\\n  }\\n\\n  @if ($param != horiz and $param != vert and $param != both) {\\n    // Otherwise param is property name\\n    #{$param}: $grid-gutter-mobile;\\n    @include mq($bp-larger-gutters) {\\n      #{$param}: $grid-gutter;\\n    }\\n  }\\n}\\n\\n@mixin gap {\\n  @include site-pad(gap);\\n}\\n\\n@mixin chart-spacing {\\n  margin-bottom: $spacing-xl;\\n  @include mq($bp-desktop-xl) {\\n    margin-bottom: $spacing-xxl;\\n  }\\n}\\n\\n// On wider screens, break the SVG out of the container so axes labels and tooltips can hang in the left/right margins\\n@mixin chart-breakout($width, $left-val, $right-val, $bp: 1600px) {\\n  $left-pc: math.div($left-val, $width) * 100%;\\n  $right-pc: math.div($right-val, $width) * 100%;\\n\\n  svg {\\n    @include mq($bp) {\\n      margin-left: -#{$left-pc};\\n      margin-right: -#{$right-pc};\\n      width: 100% + $left-pc + $right-pc;\\n    }\\n  }\\n}\\n\",\"@use \\\"sass:math\\\";\\n\\n$spacing-xxs: 5px;\\n$spacing-xs: 8px;\\n$spacing-sm: 12px;\\n$spacing-md: 18px;\\n$spacing-lg: 24px;\\n$spacing-xl: 36px;\\n$spacing-xxl: 60px;\\n$spacing-xxxl: 100px;\\n$spacing-xxxxl: 200px;\\n\\n// Grid\\n$grid-gutter: 40px;\\n$grid-padding: math.div($grid-gutter, 2);\\n$grid-gutter-mobile: 20px;\\n$grid-padding-mobile: math.div($grid-gutter-mobile, 2);\\n\\n// Controls bar\\n$controls-bar-height-m: 65px;\\n$controls-bar-height-d: 75px;\\n\\n// Space between chart and end notes\\n$notes-spacing: $spacing-lg;\\n\",\"$c-black: #000000;\\n$c-white: #ffffff;\\n$c-gray-light: #888888;\\n$c-gray-mid: #757575;\\n$c-gray-verylight: #e6e6e6;\\n$c-gray-superlight: #e9e9e9;\\n$c-gray-dark: #333333;\\n\\n// Blues\\n$c-bright-blue: #2251ff;\\n$c-deep-blue: #051c2c;\\n$c-purple-blue: #708fff;\\n$c-light-blue: #e0e7ff;\\n$c-verylight-blue: #f2f5f9;\\n\\n// McKinsey dataviz colors\\n$c-cyan-500: #00a9f4;\\n$c-electric-blue-900: #061f79;\\n\\n// Applications\\n$c-bg: $c-white;\\n$c-border: $c-gray-verylight;\\n$c-border-on-dark: rgba($c-white, 0.2);\\n$c-gray-text: $c-gray-mid;\\n$c-rule: $c-black;\\n$c-spot: $c-bright-blue;\\n$c-text: $c-black;\\n$c-outline: $c-purple-blue;\\n\",\"// Min Height Breakpoint\\n// -------\\n// FOR: Adjusting styles for taller screen sizes\\n// Write less verbose media queries.\\n// USE: @include mq-height($bp-desktop);\\n\\n@mixin mq-height($bp-1, $bp-2: null) {\\n  @if $bp-1 == \\\"max\\\" {\\n    @media (max-height: $bp-2 - 1) {\\n      @content;\\n    }\\n  } @else if $bp-2 == \\\"max\\\" {\\n    @media (max-height: $bp-1 - 1) {\\n      @content;\\n    }\\n  } @else if $bp-2 == null {\\n    @media (min-height: $bp-1) {\\n      @content;\\n    }\\n  } @else {\\n    @media (min-height: $bp-1) and (max-height: $bp-2 - 1) {\\n      @content;\\n    }\\n  }\\n}\\n\",\"$border: 1px solid $c-border;\\n$rule: 1px solid $c-rule;\\n$outline: 4px solid $c-outline;\\n\",\"// Content\\n// -------\\n// FOR: Filling pseudo-clases :before, :after with blank content\\n// WHY: Pseudo classes won't appear unless you fill them with content.\\n// This mixin includes the difficult-to-recall cross-browser character code for \\\"blank\\\".\\n// USE: @include content;\\n\\n@mixin content($content: '\\\\0020') {\\n  content: '#{$content}';\\n}\\n\\n\\n// Pseudo\\n// -------\\n// FOR: Quickly pasting essential and commonly used properties that make pseudo classes work\\n// WHY: Easier than remembering and writing each time. Should cut down on mistakes/debugging.\\n// USE: @include pseudo;\\n\\n@mixin pseudo($coordinates: none) {\\n  @include content;\\n  display: block;\\n  @if $coordinates != 'none' {\\n    @include absolute($coordinates);\\n  }\\n}\\n\",\"/// Sets the `width` and `height` of the element.\\n/// @param {Number [unit]} $width - Width (or height and width if $height is not declared)\\n/// @param {Number [unit]} $height - Height\\n/// @link http://codepen.io/upstatement/pen/KpoOpZ See it on Codepen\\n///\\n/// @example scss - Usage\\n/// .box-1 {\\n///   @include size(100px, 150px);\\n/// }\\n///\\n/// .box-2 {\\n///   @include size(200px);\\n/// }\\n///\\n/// @example css - CSS Output\\n/// .box-1 {\\n///   width: 100px;\\n///   height: 150px;\\n/// }\\n///\\n/// .box-2 {\\n///   width: 200px;\\n///   height: 200px;\\n/// }\\n///\\n\\n@mixin size($width, $height: $width) {\\n  height: $height;\\n  width: $width;\\n}\\n\",\"$bp-mobile: 300px;\\n$bp-phablet: 400px;\\n$bp-tablet: 600px;\\n$bp-tablet-xl: 768px;\\n$bp-desktop: 1024px;\\n$bp-desktop-xl: 1200px;\\n$bp-desktop-xxl: 1500px;\\n$bp-desktop-xxxl: 1700px;\\n\\n// Applied\\n$bp-larger-gutters: $bp-tablet-xl;\\n\\n$bp-sidebar: $bp-desktop;\\n$bp-sidebar-wide: $bp-desktop-xl;\\n\\n$bp-breakout-chart: 1600px;\\n$content-max: 1200px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"page\": \"page__LnL_z\",\n\t\"sidebar\": \"sidebar__qCB5v\",\n\t\"sidebar-top\": \"sidebar-top__VmpUX\",\n\t\"header\": \"header__YRfO3\",\n\t\"title\": \"title__CfheG\",\n\t\"tagline\": \"tagline__BNO4k\",\n\t\"nav-list\": \"nav-list__lNFCB\",\n\t\"active\": \"active__v_Cmo\",\n\t\"menu-btn\": \"menu-btn__HL449\",\n\t\"menu-btn-icon\": \"menu-btn-icon__zZdg4\",\n\t\"sidebar-bottom-desktop\": \"sidebar-bottom-desktop__F5Bg0\",\n\t\"main-wrap\": \"main-wrap__XIjq1\",\n\t\"main\": \"main__wFNsA\",\n\t\"main-inner\": \"main-inner__g0xCz\",\n\t\"main-bottom-mobile\": \"main-bottom-mobile__N_YVE\",\n\t\"main-loading\": \"main-loading__TvK_f\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".container__i0Zf0{margin:0 0 18px}@media(min-width: 1024px){.container__i0Zf0{margin-bottom:40px}}.headline__ChARb{font-size:38px;color:inherit;font-family:Bower,Georgia,serif;font-weight:500;letter-spacing:-0.03em;line-height:1.2;letter-spacing:0;margin:0;padding:0}@media(min-width: 400px)and (max-width: 1599px){.headline__ChARb{font-size:calc(38px + (52 - 38) * (\\n          100vw - 400px\\n        ) / (1600 - 400))}}@media(min-width: 1600px){.headline__ChARb{font-size:52px}}.container__i0Zf0 p.dek__KVMaQ{font-size:18px;color:inherit;font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-weight:300;line-height:1.375;margin:18px 0 0;padding:0}@media(min-width: 400px)and (max-width: 1023px){.container__i0Zf0 p.dek__KVMaQ{font-size:calc(18px + (24 - 18) * (\\n          100vw - 400px\\n        ) / (1024 - 400))}}@media(min-width: 1024px){.container__i0Zf0 p.dek__KVMaQ{font-size:24px}}@media(min-width: 1024px){.container__i0Zf0 p.dek__KVMaQ{margin-top:24px}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/PageTopper/styles.module.scss\",\"webpack://./src/styles/mixins/_mq.scss\",\"webpack://./src/styles/mixins/_fluid-size.scss\",\"webpack://./src/styles/mixins/_typography.scss\",\"webpack://./src/styles/variables/_typography.scss\",\"webpack://./src/styles/variables/_spacing.scss\"],\"names\":[],\"mappings\":\"AAEA,kBACE,eAAA,CCwBE,0BDzBJ,kBAGI,kBAAA,CAAA,CAIJ,iBEkBM,cANO,CC8MX,aAFgB,CAGhB,+BChOS,CDiOT,eC3NO,CD4NP,sBAAA,CACA,eH7NiB,CACjB,gBAAA,CACA,QAAA,CACA,SAAA,CCkBE,gDDtBJ,iBEoBQ;;yBAAA,CAAA,CDFJ,0BDlBJ,iBEyBQ,cAZK,CAAA,CFNb,+BEWM,cANO,CCgBX,aANQ,CAOR,4CCnCQ,CDoCR,eC/BS,CDgCT,iBANK,CHhBL,eAAA,CACA,SAAA,CCYE,gDDfJ,+BEaQ;;yBAAA,CAAA,CDFJ,0BDXJ,+BEkBQ,cAZK,CAAA,CDKT,0BDXJ,+BAKI,eKfS,CAAA\",\"sourcesContent\":[\"@import \\\"@/styles\\\";\\n\\n.container {\\n  margin: 0 0 $spacing-md;\\n  @include mq($bp-desktop) {\\n    margin-bottom: 40px;\\n  }\\n}\\n\\n.headline {\\n  @include h1($lh: 1.2);\\n  letter-spacing: 0;\\n  margin: 0;\\n  padding: 0;\\n}\\n\\n.container p.dek {\\n  @include dek-text;\\n  margin: $spacing-md 0 0;\\n  padding: 0;\\n  @include mq($bp-desktop) {\\n    margin-top: $spacing-lg;\\n  }\\n}\\n\",\"// Write less verbose media queries.\\n// $bp-1 - breakpoint value, min-width if declaring range\\n// $bp-2 [null] - [Optional] breakpoint value, max-width if declaring range\\n//\\n// @example scss - SCSS\\n// .item-1 {\\n//    @include mq(600px, 768px) {\\n//     display: block;\\n//   }\\n// }\\n//\\n// .item-2 {\\n//   @include mq(768px) {\\n//     display: block;\\n//   }\\n// }\\n\\n@mixin mq($bp-1, $bp-2: null) {\\n  @if $bp-1 == \\\"max\\\" {\\n    @media (max-width: $bp-2 - 1) {\\n      @content;\\n    }\\n  } @else if $bp-2 == \\\"max\\\" {\\n    @media (max-width: $bp-1 - 1) {\\n      @content;\\n    }\\n  } @else if $bp-2 == null {\\n    @media (min-width: $bp-1) {\\n      @content;\\n    }\\n  } @else {\\n    @media (min-width: $bp-1) and (max-width: $bp-2 - 1) {\\n      @content;\\n    }\\n  }\\n}\\n\",\"// - - - - - - - - - - - - - - - - - - - - - - - - - -----------------------------\\n// Fluid Font Sizing\\n//\\n// FOR:   Dynamically changing the size of type\\n//        between certain screen sizes. Think of\\n//        it as a CSS-only version of FitText\\n// REQ:   Depends on the `mq` media query mixin\\n// REF:   http://www.adrenalinmedia.com.au/blog/january-2016/this-changes-everything-css-%E2%80%98fluid-properties%E2%80%99\\n// USE:   @include fluid-size(\\n//          40px $bp__tablet--sm,\\n//          60px $bp__desktop\\n//        );\\n//\\n// - - - - - - - - - - - - - - - - - - - - - - - - - ----------------------------\\n\\n@mixin fluid-size(\\n  $properties: font-size,\\n  $tween-start: 16px 400px,\\n  $tween-end: 60px 1400px,\\n  $use-mq: true\\n) {\\n  $min-size: nth($tween-start, 1);\\n  $max-size: nth($tween-end, 1);\\n  $min-width: nth($tween-start, 2);\\n  $max-width: nth($tween-end, 2);\\n  @each $property in $properties {\\n    @if $use-mq {\\n      #{$property}: $min-size;\\n      @include mq($min-width, $max-width) {\\n        #{$property}: calc(#{$min-size} + (#{strip-units($max-size)} - #{strip-units($min-size)}) * (\\n          100vw - #{$min-width}\\n        ) / (#{strip-units($max-width)} - #{strip-units($min-width)}));\\n      }\\n      @include mq($max-width) {\\n        #{$property}: $max-size;\\n      }\\n    } @else {\\n      #{$property}: calc(#{$min-size} +\\n      (#{strip-units($max-size)} - #{strip-units($min-size)}) *\\n      (100vw - #{$min-width}) /\\n      (#{strip-units($max-width)} - #{strip-units($min-width)}));\\n    }\\n  }\\n}\\n\\n// Misin just for font size\\n@mixin fluid-font($tween-start: 16px 400px, $tween-end: 60px 1400px, $use-mq: true) {\\n  @include fluid-size(font-size, $tween-start, $tween-end, $use-mq);\\n}\\n\",\"// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// basic type mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin body-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  @include fluid-font($fs-xxs $bp-phablet, $fs-xs $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin heading-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.35\\n) {\\n  @include fluid-font($fs-sm $bp-phablet, 21px $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin dek-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.375\\n) {\\n  @include fluid-font($fs-sm $bp-phablet, $fs-md $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin control-label(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.25\\n) {\\n  color: $color;\\n  font-family: $font;\\n  font-size: $fs-xs;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin basic-formatting {\\n  a {\\n    @include inline-link;\\n  }\\n\\n  strong,\\n  b {\\n    font-weight: $fw-med;\\n  }\\n  em,\\n  i {\\n    font-style: italic;\\n  }\\n}\\n\\n// Since SVGs scale up with browser, reduce font size on larger screens\\n@mixin svg-label($weight: $fw-light, $has-breakout: true) {\\n  font-family: $ff-sans;\\n  font-size: $fs-md;\\n  font-weight: $weight;\\n\\n  @include mq($bp-tablet) {\\n    font-size: $fs-sm;\\n  }\\n\\n  @if ($has-breakout) {\\n    @include mq($bp-breakout-chart) {\\n      font-size: $fs-xs;\\n    }\\n  }\\n}\\n\\n@mixin tiny-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  color: $color;\\n  font-size: $fs-xxxs;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n  @include mq($bp-phablet) {\\n    font-size: $fs-xxs;\\n  }\\n}\\n\\n@mixin micro-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  color: $color;\\n  font-size: $fs-xxxxs;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n\\n  @include mq($bp-tablet) {\\n    font-size: $fs-xxxs;\\n  }\\n  @include mq($bp-desktop) {\\n    font-size: $fs-xxs;\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// link mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin inline-link(\\n  $color: inherit,\\n  $underline: $c-bright-blue,\\n  $hover: $c-white,\\n  $active: $c-spot\\n) {\\n  border-bottom: solid 2px $underline;\\n  color: $color;\\n  cursor: pointer;\\n  padding-left: 0.125rem;\\n  padding-right: 0.125rem;\\n  text-decoration: none;\\n\\n  &:hover {\\n    background-color: $underline;\\n    border-bottom: solid 2px $underline;\\n    color: $hover;\\n  }\\n  &:focus-visible {\\n    outline: $outline;\\n  }\\n}\\n\\n@mixin inline-link-on-dark {\\n  @include inline-link($c-cyan-500, $c-cyan-500, $c-deep-blue);\\n}\\n\\n@mixin arrow-link {\\n  color: $c-black;\\n  display: inline-block;\\n  font-weight: $fw-med;\\n  text-decoration: none;\\n  transition: all 0.5s ease-out;\\n\\n  &:after {\\n    color: $c-bright-blue;\\n    content: \\\"\\\\e608\\\";\\n    display: inline;\\n    font-family: $ff-icons;\\n    font-weight: $fw-reg;\\n    font-size: inherit;\\n    padding-left: 0.5rem;\\n    padding-right: 0.75rem;\\n    transition: padding 0.4s ease-in-out;\\n    vertical-align: middle;\\n  }\\n\\n  &:hover,\\n  &:focus-visible {\\n    color: $c-bright-blue;\\n    &:after {\\n      padding-left: 1.5rem;\\n      padding-right: 0;\\n    }\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// Button mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin button($style: solid, $color: $c-text, $bg: $c-bg) {\\n  @include body-text;\\n  padding: 0.55em 1.1em;\\n  appearance: none;\\n\\n  &:focus-visible {\\n    outline: $outline;\\n  }\\n\\n  @if $style == outline {\\n    background-color: transparent;\\n    border: 1px solid $color;\\n\\n    &:hover,\\n    &:focus-visible {\\n      background-color: $color;\\n      border-color: $color;\\n      color: $bg;\\n    }\\n  } @else {\\n    background-color: $bg;\\n    color: $color;\\n    border: solid 1px transparent;\\n    &:hover,\\n    &:focus-visible {\\n      background-color: $color;\\n      border-color: $bg;\\n      color: $bg;\\n    }\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// Heading Mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin h1($color: inherit, $font: $ff-serif, $weight: $fw-med, $lh: 1) {\\n  @include fluid-font(38px 400px, $fs-xxxl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  letter-spacing: -0.03em;\\n  line-height: $lh;\\n}\\n\\n@mixin h2($color: inherit, $font: $ff-sans, $weight: $fw-med, $lh: 0.9) {\\n  @include fluid-font($fs-lg 400px, $fs-xl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin h3($color: inherit, $font: $ff-sans, $weight: $fw-med, $lh: 1) {\\n  @include fluid-font($fs-sm 400px, $fs-xl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\",\"// Families\\n\\n// replace with actual fonts\\n$ff-sans: \\\"McKinsey Sans\\\", Arial, sans-serif;\\n$ff-serif: Bower, Georgia, serif;\\n$ff-icons: mck-icons;\\n\\n// Weights\\n$fw-light: 300;\\n$fw-reg: 400;\\n$fw-med: 500;\\n\\n// Sizes\\n$fs-xxxxs: 9px;\\n\\n$fs-xxxs: 12px;\\n$fs-xxs: 14px;\\n$fs-xs: 16px;\\n$fs-sm: 18px;\\n$fs-md: 24px;\\n$fs-lg: 28px;\\n$fs-xl: 36px;\\n$fs-xxl: 45px;\\n$fs-xxxl: 52px;\\n$fs-xxxxl: 110px;\\n$fs-xxxxxl: 98px;\\n\\n// Line Height\\n$lh-base: 1.5;\\n$lh-med: 1.375;\\n$lh-tiny: 1;\\n$lh-small: 1;\\n$lh-smallcap: 1.25;\\n\\n$lh-mono: 1.2;\\n\",\"@use \\\"sass:math\\\";\\n\\n$spacing-xxs: 5px;\\n$spacing-xs: 8px;\\n$spacing-sm: 12px;\\n$spacing-md: 18px;\\n$spacing-lg: 24px;\\n$spacing-xl: 36px;\\n$spacing-xxl: 60px;\\n$spacing-xxxl: 100px;\\n$spacing-xxxxl: 200px;\\n\\n// Grid\\n$grid-gutter: 40px;\\n$grid-padding: math.div($grid-gutter, 2);\\n$grid-gutter-mobile: 20px;\\n$grid-padding-mobile: math.div($grid-gutter-mobile, 2);\\n\\n// Controls bar\\n$controls-bar-height-m: 65px;\\n$controls-bar-height-d: 75px;\\n\\n// Space between chart and end notes\\n$notes-spacing: $spacing-lg;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"container\": \"container__i0Zf0\",\n\t\"headline\": \"headline__ChARb\",\n\t\"dek\": \"dek__KVMaQ\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".container__KL3bW{font-size:14px;color:inherit;font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-weight:300;line-height:1.5;position:relative}@media(min-width: 400px)and (max-width: 1023px){.container__KL3bW{font-size:calc(14px + (16 - 14) * (\\n          100vw - 400px\\n        ) / (1024 - 400))}}@media(min-width: 1024px){.container__KL3bW{font-size:16px}}.container__KL3bW:focus-within .button__tcool{outline:4px solid #708fff}.label__zgVid{all:unset;color:inherit;font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-size:16px;font-weight:300;line-height:1.25;padding-bottom:5px;display:block}.button__tcool{font-size:14px;color:inherit;font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-weight:300;line-height:1.5;appearance:none;background-color:rgba(0,0,0,0);border:solid 1px #000;border-radius:0;flex-shrink:0;overflow:hidden;position:relative;padding:11px 30px 11px 10px;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:100%}@media(min-width: 400px)and (max-width: 1023px){.button__tcool{font-size:calc(14px + (16 - 14) * (\\n          100vw - 400px\\n        ) / (1024 - 400))}}@media(min-width: 1024px){.button__tcool{font-size:16px}}.button__tcool::after{content:\\\" \\\";display:block;position:absolute;right:14px;height:12px;width:12px;border-left:solid .875px #000;border-bottom:solid .875px #000;pointer-events:none;transform:scaleX(0.9) rotate(-45deg);top:calc(50% - 9px)}.portal__LYDFu{z-index:99}.content__GFOLr{overflow:hidden;background-color:#fff;border-radius:5px;box-shadow:0px 10px 38px -10px rgba(22,23,24,.35),0px 10px 20px -15px rgba(22,23,24,.2)}.viewport__iz6Jd{padding:5px 0}.scroll-button-up__R_HeC,.scroll-button-down__Sl3gc{height:10px;width:10px;border-left:solid .875px #000;border-bottom:solid .875px #000;pointer-events:none;margin:0 auto}.scroll-button-up__R_HeC{transform:scaleX(0.9) rotate(-225deg);margin-top:10px}.scroll-button-down__Sl3gc{transform:scaleX(0.9) rotate(-45deg);margin-bottom:10px}.item__eBITf{font-size:14px;color:inherit;font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-weight:300;line-height:1.5;display:flex;align-items:center;height:25px;padding:5px 10px 5px 25px;position:relative;user-select:none}@media(min-width: 400px)and (max-width: 1023px){.item__eBITf{font-size:calc(14px + (16 - 14) * (\\n          100vw - 400px\\n        ) / (1024 - 400))}}@media(min-width: 1024px){.item__eBITf{font-size:16px}}.item__eBITf[data-highlighted]{outline:none;background-color:#2251ff;border-radius:3px;color:#fff}.hide__knxdP{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.hide__knxdP.focusable__bkAgI:active,.hide__knxdP.focusable__bkAgI:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.group-label__z71RN{font-size:14px;color:#757575;font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-weight:300;line-height:1.5;height:20px;padding:5px 10px 5px 25px}@media(min-width: 400px)and (max-width: 1023px){.group-label__z71RN{font-size:calc(14px + (16 - 14) * (\\n          100vw - 400px\\n        ) / (1024 - 400))}}@media(min-width: 1024px){.group-label__z71RN{font-size:16px}}.indicator__EGvKa{position:absolute;left:0;width:25px;display:inline-flex;align-items:center;justify-content:center}.group__ClkOJ{padding-bottom:10px;padding-top:10px;position:relative;z-index:99}.sub-group__KD9Ad{margin:0 10px}.container__KL3bW:not(.control-bar__VHnUH):not(.auto-width__wmjWE){width:100%}@media(min-width: 600px){.container__KL3bW:not(.control-bar__VHnUH):not(.auto-width__wmjWE){width:240px}}.container__KL3bW.auto-width__wmjWE{width:auto}.container__KL3bW.control-bar__VHnUH{display:block;flex:0 1 auto;margin:0;padding:0;max-width:250px;min-width:155px;width:auto;z-index:99}.container__KL3bW.control-bar__VHnUH:not(:last-of-type){border-right:1px solid #000}.container__KL3bW.control-bar__VHnUH .label__zgVid{position:absolute;top:16px;left:24px;font-size:14px;font-weight:300;color:#757575;display:block;pointer-events:none}.container__KL3bW.control-bar__VHnUH .button__tcool{border:0;padding:22px 50px 0 24px;height:100%}.container__KL3bW.control-bar__VHnUH .button__tcool::after{top:auto;bottom:1.5em;right:20px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/Select/styles.module.scss\",\"webpack://./src/styles/mixins/_fluid-size.scss\",\"webpack://./src/styles/mixins/_typography.scss\",\"webpack://./src/styles/variables/_typography.scss\",\"webpack://./src/styles/mixins/_mq.scss\",\"webpack://./src/styles/variables/_borders.scss\",\"webpack://./src/styles/variables/_spacing.scss\",\"webpack://./src/styles/mixins/_pseudo.scss\",\"webpack://./src/styles/mixins/_shorthander.scss\",\"webpack://./src/styles/mixins/_size.scss\",\"webpack://./src/styles/variables/_colors.scss\",\"webpack://./src/styles/mixins/_hide.scss\"],\"names\":[],\"mappings\":\"AAWA,kBCgBM,cANO,CCVX,aANQ,CAOR,4CCTQ,CDUR,eCLS,CDMT,eCcQ,CHfR,iBAAA,CIkBE,gDJpBJ,kBCkBQ;;yBAAA,CAAA,CGFJ,0BJhBJ,kBCuBQ,cAZK,CAAA,CDRX,8CACE,yBKbM,CLiBV,cACE,SAAA,CE6BA,aALQ,CAMR,4CC/CQ,CDgDR,cClCM,CDmCN,eC5CS,CD6CT,gBANK,CFzBL,kBMpBY,CNqBZ,aAAA,CAGF,eCCM,cANO,CCVX,aANQ,CAOR,4CCTQ,CDUR,eCLS,CDMT,eCcQ,CAAA,eAAA,CHCR,8BAAA,CACA,qBAAA,CACA,eAAA,CACA,aAAA,CACA,eAAA,CACA,iBAAA,CACA,2BAAA,CACA,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,UAAA,CIRE,gDJLJ,eCGQ;;yBAAA,CAAA,CGFJ,0BJDJ,eCQQ,cAZK,CAAA,CDmBX,sBOjCA,WAAA,CAYA,aAAA,CCGE,iBA+DmB,CAbjB,UAAA,CC9CJ,WTgBgB,CSfhB,UTegB,CACd,6BAAA,CACA,+BAAA,CACA,mBAAA,CACA,oCAAA,CACA,mBAAA,CAIJ,eACE,UAnDQ,CAsDV,gBACE,eAAA,CACA,qBUzDQ,CV0DR,iBAAA,CACA,uFAAA,CAIF,iBACE,aAAA,CAGF,oDSzCE,WT2Cc,CS1Cd,UT0Cc,CACd,6BAAA,CACA,+BAAA,CACA,mBAAA,CACA,aAAA,CAGF,yBACE,qCAAA,CACA,eAAA,CAGF,2BACE,oCAAA,CACA,kBAAA,CAGF,aC5DM,cANO,CCVX,aANQ,CAOR,4CCTQ,CDUR,eCLS,CDMT,eCcQ,CH6DR,YAAA,CACA,kBAAA,CACA,WAAA,CACA,yBAAA,CACA,iBAAA,CACA,gBAAA,CI/DE,gDJwDJ,aC1DQ;;yBAAA,CAAA,CGFJ,0BJ4DJ,aCrDQ,cAZK,CAAA,CD0EX,+BACE,YAAA,CACA,wBUzFY,CV0FZ,iBAAA,CACA,UUnGM,CVuGV,aWvFI,QAAA,CACA,kBAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,SAAA,CACA,iBAAA,CACA,SAAA,CAEA,yEAEE,SAAA,CACA,WAAA,CACA,QAAA,CACA,gBAAA,CACA,eAAA,CACA,UAAA,CX2EN,oBCjFM,cANO,CCVX,aQRW,CRSX,4CCTQ,CDUR,eCLS,CDMT,eCcQ,CHkFR,WAAA,CACA,yBAAA,CIhFE,gDJ6EJ,oBC/EQ;;yBAAA,CAAA,CGFJ,0BJiFJ,oBC1EQ,cAZK,CAAA,CD4Fb,kBACE,iBAAA,CACA,MAAA,CACA,UAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CAGF,cACE,mBAAA,CACA,gBAAA,CACA,iBAAA,CACA,UA7HQ,CAgIV,kBACE,aAAA,CAIF,mEACE,UApIqB,CIuBnB,yBJ4GJ,mEAGI,WArIoB,CAAA,CA0IxB,oCACE,UAAA,CAIF,qCAIE,aAAA,CACA,aAAA,CACA,QAAA,CACA,SAAA,CACA,eAnJsB,CAoJtB,eArJsB,CAsJtB,UAAA,CACA,UA7JQ,CAmJR,wDACE,2BKrJG,CLgKL,mDQ1IE,iBA+DmB,CAhBjB,QAAA,CASA,SAAA,CRoFF,cGnJK,CHoJL,eG5JO,CH6JP,aUlKS,CVmKT,aAAA,CACA,mBAAA,CAGF,oDACE,QAAA,CACA,wBAAA,CACA,WAAA,CAEA,2DACE,QAAA,CACA,YAAA,CACA,UAAA\",\"sourcesContent\":[\"@import \\\"@/styles\\\";\\n\\n$z-index: 99;\\n// Default mimics McKinsey  <select> style, goes full-width on mobile\\n$default-width-mobile: 100%;\\n$default-width-desktop: 240px;\\n\\n// Control bar style puts label inside box, resizes based on content within constraints of min/max\\n$control-bar-min-width: 155px;\\n$control-bar-max-width: 250px;\\n\\n.container {\\n  @include body-text;\\n  position: relative;\\n  &:focus-within .button {\\n    outline: $outline;\\n  }\\n}\\n\\n.label {\\n  all: unset;\\n  @include control-label;\\n  padding-bottom: $spacing-xxs;\\n  display: block;\\n}\\n\\n.button {\\n  @include body-text;\\n  appearance: none;\\n  background-color: transparent;\\n  border: solid 1px $c-black;\\n  border-radius: 0;\\n  flex-shrink: 0;\\n  overflow: hidden;\\n  position: relative;\\n  padding: 11px 30px 11px 10px;\\n  text-align: left;\\n  text-overflow: ellipsis;\\n  white-space: nowrap;\\n  width: 100%;\\n\\n  &::after {\\n    @include pseudo(x 14px x x);\\n    @include size(12px);\\n    border-left: solid 0.875px $c-black;\\n    border-bottom: solid 0.875px $c-black;\\n    pointer-events: none;\\n    transform: scaleX(0.9) rotate(-45deg);\\n    top: calc(50% - 9px);\\n  }\\n}\\n\\n.portal {\\n  z-index: $z-index;\\n}\\n\\n.content {\\n  overflow: hidden;\\n  background-color: $c-white;\\n  border-radius: 5px;\\n  box-shadow: 0px 10px 38px -10px rgba(22, 23, 24, 0.35),\\n    0px 10px 20px -15px rgba(22, 23, 24, 0.2);\\n}\\n\\n.viewport {\\n  padding: 5px 0;\\n}\\n\\n.scroll-button-up,\\n.scroll-button-down {\\n  @include size(10px);\\n  border-left: solid 0.875px $c-black;\\n  border-bottom: solid 0.875px $c-black;\\n  pointer-events: none;\\n  margin: 0 auto;\\n}\\n\\n.scroll-button-up {\\n  transform: scaleX(0.9) rotate(-225deg);\\n  margin-top: 10px;\\n}\\n\\n.scroll-button-down {\\n  transform: scaleX(0.9) rotate(-45deg);\\n  margin-bottom: 10px;\\n}\\n\\n.item {\\n  @include body-text;\\n  display: flex;\\n  align-items: center;\\n  height: 25px;\\n  padding: 5px 10px 5px 25px;\\n  position: relative;\\n  user-select: none;\\n\\n  &[data-highlighted] {\\n    outline: none;\\n    background-color: $c-bright-blue;\\n    border-radius: 3px;\\n    color: $c-white;\\n  }\\n}\\n\\n.hide {\\n  @include hide;\\n}\\n\\n.group-label {\\n  @include body-text($color: $c-gray-text);\\n  height: 20px;\\n  padding: 5px 10px 5px 25px;\\n}\\n\\n.indicator {\\n  position: absolute;\\n  left: 0;\\n  width: 25px;\\n  display: inline-flex;\\n  align-items: center;\\n  justify-content: center;\\n}\\n\\n.group {\\n  padding-bottom: 10px;\\n  padding-top: 10px;\\n  position: relative;\\n  z-index: $z-index;\\n}\\n\\n.sub-group {\\n  margin: 0 10px;\\n}\\n\\n// Default style\\n.container:not(.control-bar):not(.auto-width) {\\n  width: $default-width-mobile;\\n  @include mq($bp-tablet) {\\n    width: $default-width-desktop;\\n  }\\n}\\n\\n// Auto-width style\\n.container.auto-width {\\n  width: auto;\\n}\\n\\n// Controls bar version\\n.container.control-bar {\\n  &:not(:last-of-type) {\\n    border-right: $rule;\\n  }\\n  display: block;\\n  flex: 0 1 auto;\\n  margin: 0;\\n  padding: 0;\\n  max-width: $control-bar-max-width;\\n  min-width: $control-bar-min-width;\\n  width: auto;\\n  z-index: $z-index;\\n\\n  .label {\\n    @include absolute(16px x x $spacing-lg);\\n    font-size: $fs-xxs;\\n    font-weight: $fw-light;\\n    color: $c-gray-text;\\n    display: block;\\n    pointer-events: none;\\n  }\\n\\n  .button {\\n    border: 0;\\n    padding: 22px 50px 0 $spacing-lg;\\n    height: 100%;\\n\\n    &::after {\\n      top: auto;\\n      bottom: 1.5em;\\n      right: 20px;\\n    }\\n  }\\n}\\n\",\"// - - - - - - - - - - - - - - - - - - - - - - - - - -----------------------------\\n// Fluid Font Sizing\\n//\\n// FOR:   Dynamically changing the size of type\\n//        between certain screen sizes. Think of\\n//        it as a CSS-only version of FitText\\n// REQ:   Depends on the `mq` media query mixin\\n// REF:   http://www.adrenalinmedia.com.au/blog/january-2016/this-changes-everything-css-%E2%80%98fluid-properties%E2%80%99\\n// USE:   @include fluid-size(\\n//          40px $bp__tablet--sm,\\n//          60px $bp__desktop\\n//        );\\n//\\n// - - - - - - - - - - - - - - - - - - - - - - - - - ----------------------------\\n\\n@mixin fluid-size(\\n  $properties: font-size,\\n  $tween-start: 16px 400px,\\n  $tween-end: 60px 1400px,\\n  $use-mq: true\\n) {\\n  $min-size: nth($tween-start, 1);\\n  $max-size: nth($tween-end, 1);\\n  $min-width: nth($tween-start, 2);\\n  $max-width: nth($tween-end, 2);\\n  @each $property in $properties {\\n    @if $use-mq {\\n      #{$property}: $min-size;\\n      @include mq($min-width, $max-width) {\\n        #{$property}: calc(#{$min-size} + (#{strip-units($max-size)} - #{strip-units($min-size)}) * (\\n          100vw - #{$min-width}\\n        ) / (#{strip-units($max-width)} - #{strip-units($min-width)}));\\n      }\\n      @include mq($max-width) {\\n        #{$property}: $max-size;\\n      }\\n    } @else {\\n      #{$property}: calc(#{$min-size} +\\n      (#{strip-units($max-size)} - #{strip-units($min-size)}) *\\n      (100vw - #{$min-width}) /\\n      (#{strip-units($max-width)} - #{strip-units($min-width)}));\\n    }\\n  }\\n}\\n\\n// Misin just for font size\\n@mixin fluid-font($tween-start: 16px 400px, $tween-end: 60px 1400px, $use-mq: true) {\\n  @include fluid-size(font-size, $tween-start, $tween-end, $use-mq);\\n}\\n\",\"// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// basic type mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin body-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  @include fluid-font($fs-xxs $bp-phablet, $fs-xs $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin heading-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.35\\n) {\\n  @include fluid-font($fs-sm $bp-phablet, 21px $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin dek-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.375\\n) {\\n  @include fluid-font($fs-sm $bp-phablet, $fs-md $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin control-label(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.25\\n) {\\n  color: $color;\\n  font-family: $font;\\n  font-size: $fs-xs;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin basic-formatting {\\n  a {\\n    @include inline-link;\\n  }\\n\\n  strong,\\n  b {\\n    font-weight: $fw-med;\\n  }\\n  em,\\n  i {\\n    font-style: italic;\\n  }\\n}\\n\\n// Since SVGs scale up with browser, reduce font size on larger screens\\n@mixin svg-label($weight: $fw-light, $has-breakout: true) {\\n  font-family: $ff-sans;\\n  font-size: $fs-md;\\n  font-weight: $weight;\\n\\n  @include mq($bp-tablet) {\\n    font-size: $fs-sm;\\n  }\\n\\n  @if ($has-breakout) {\\n    @include mq($bp-breakout-chart) {\\n      font-size: $fs-xs;\\n    }\\n  }\\n}\\n\\n@mixin tiny-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  color: $color;\\n  font-size: $fs-xxxs;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n  @include mq($bp-phablet) {\\n    font-size: $fs-xxs;\\n  }\\n}\\n\\n@mixin micro-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  color: $color;\\n  font-size: $fs-xxxxs;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n\\n  @include mq($bp-tablet) {\\n    font-size: $fs-xxxs;\\n  }\\n  @include mq($bp-desktop) {\\n    font-size: $fs-xxs;\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// link mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin inline-link(\\n  $color: inherit,\\n  $underline: $c-bright-blue,\\n  $hover: $c-white,\\n  $active: $c-spot\\n) {\\n  border-bottom: solid 2px $underline;\\n  color: $color;\\n  cursor: pointer;\\n  padding-left: 0.125rem;\\n  padding-right: 0.125rem;\\n  text-decoration: none;\\n\\n  &:hover {\\n    background-color: $underline;\\n    border-bottom: solid 2px $underline;\\n    color: $hover;\\n  }\\n  &:focus-visible {\\n    outline: $outline;\\n  }\\n}\\n\\n@mixin inline-link-on-dark {\\n  @include inline-link($c-cyan-500, $c-cyan-500, $c-deep-blue);\\n}\\n\\n@mixin arrow-link {\\n  color: $c-black;\\n  display: inline-block;\\n  font-weight: $fw-med;\\n  text-decoration: none;\\n  transition: all 0.5s ease-out;\\n\\n  &:after {\\n    color: $c-bright-blue;\\n    content: \\\"\\\\e608\\\";\\n    display: inline;\\n    font-family: $ff-icons;\\n    font-weight: $fw-reg;\\n    font-size: inherit;\\n    padding-left: 0.5rem;\\n    padding-right: 0.75rem;\\n    transition: padding 0.4s ease-in-out;\\n    vertical-align: middle;\\n  }\\n\\n  &:hover,\\n  &:focus-visible {\\n    color: $c-bright-blue;\\n    &:after {\\n      padding-left: 1.5rem;\\n      padding-right: 0;\\n    }\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// Button mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin button($style: solid, $color: $c-text, $bg: $c-bg) {\\n  @include body-text;\\n  padding: 0.55em 1.1em;\\n  appearance: none;\\n\\n  &:focus-visible {\\n    outline: $outline;\\n  }\\n\\n  @if $style == outline {\\n    background-color: transparent;\\n    border: 1px solid $color;\\n\\n    &:hover,\\n    &:focus-visible {\\n      background-color: $color;\\n      border-color: $color;\\n      color: $bg;\\n    }\\n  } @else {\\n    background-color: $bg;\\n    color: $color;\\n    border: solid 1px transparent;\\n    &:hover,\\n    &:focus-visible {\\n      background-color: $color;\\n      border-color: $bg;\\n      color: $bg;\\n    }\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// Heading Mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin h1($color: inherit, $font: $ff-serif, $weight: $fw-med, $lh: 1) {\\n  @include fluid-font(38px 400px, $fs-xxxl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  letter-spacing: -0.03em;\\n  line-height: $lh;\\n}\\n\\n@mixin h2($color: inherit, $font: $ff-sans, $weight: $fw-med, $lh: 0.9) {\\n  @include fluid-font($fs-lg 400px, $fs-xl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin h3($color: inherit, $font: $ff-sans, $weight: $fw-med, $lh: 1) {\\n  @include fluid-font($fs-sm 400px, $fs-xl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\",\"// Families\\n\\n// replace with actual fonts\\n$ff-sans: \\\"McKinsey Sans\\\", Arial, sans-serif;\\n$ff-serif: Bower, Georgia, serif;\\n$ff-icons: mck-icons;\\n\\n// Weights\\n$fw-light: 300;\\n$fw-reg: 400;\\n$fw-med: 500;\\n\\n// Sizes\\n$fs-xxxxs: 9px;\\n\\n$fs-xxxs: 12px;\\n$fs-xxs: 14px;\\n$fs-xs: 16px;\\n$fs-sm: 18px;\\n$fs-md: 24px;\\n$fs-lg: 28px;\\n$fs-xl: 36px;\\n$fs-xxl: 45px;\\n$fs-xxxl: 52px;\\n$fs-xxxxl: 110px;\\n$fs-xxxxxl: 98px;\\n\\n// Line Height\\n$lh-base: 1.5;\\n$lh-med: 1.375;\\n$lh-tiny: 1;\\n$lh-small: 1;\\n$lh-smallcap: 1.25;\\n\\n$lh-mono: 1.2;\\n\",\"// Write less verbose media queries.\\n// $bp-1 - breakpoint value, min-width if declaring range\\n// $bp-2 [null] - [Optional] breakpoint value, max-width if declaring range\\n//\\n// @example scss - SCSS\\n// .item-1 {\\n//    @include mq(600px, 768px) {\\n//     display: block;\\n//   }\\n// }\\n//\\n// .item-2 {\\n//   @include mq(768px) {\\n//     display: block;\\n//   }\\n// }\\n\\n@mixin mq($bp-1, $bp-2: null) {\\n  @if $bp-1 == \\\"max\\\" {\\n    @media (max-width: $bp-2 - 1) {\\n      @content;\\n    }\\n  } @else if $bp-2 == \\\"max\\\" {\\n    @media (max-width: $bp-1 - 1) {\\n      @content;\\n    }\\n  } @else if $bp-2 == null {\\n    @media (min-width: $bp-1) {\\n      @content;\\n    }\\n  } @else {\\n    @media (min-width: $bp-1) and (max-width: $bp-2 - 1) {\\n      @content;\\n    }\\n  }\\n}\\n\",\"$border: 1px solid $c-border;\\n$rule: 1px solid $c-rule;\\n$outline: 4px solid $c-outline;\\n\",\"@use \\\"sass:math\\\";\\n\\n$spacing-xxs: 5px;\\n$spacing-xs: 8px;\\n$spacing-sm: 12px;\\n$spacing-md: 18px;\\n$spacing-lg: 24px;\\n$spacing-xl: 36px;\\n$spacing-xxl: 60px;\\n$spacing-xxxl: 100px;\\n$spacing-xxxxl: 200px;\\n\\n// Grid\\n$grid-gutter: 40px;\\n$grid-padding: math.div($grid-gutter, 2);\\n$grid-gutter-mobile: 20px;\\n$grid-padding-mobile: math.div($grid-gutter-mobile, 2);\\n\\n// Controls bar\\n$controls-bar-height-m: 65px;\\n$controls-bar-height-d: 75px;\\n\\n// Space between chart and end notes\\n$notes-spacing: $spacing-lg;\\n\",\"// Content\\n// -------\\n// FOR: Filling pseudo-clases :before, :after with blank content\\n// WHY: Pseudo classes won't appear unless you fill them with content.\\n// This mixin includes the difficult-to-recall cross-browser character code for \\\"blank\\\".\\n// USE: @include content;\\n\\n@mixin content($content: '\\\\0020') {\\n  content: '#{$content}';\\n}\\n\\n\\n// Pseudo\\n// -------\\n// FOR: Quickly pasting essential and commonly used properties that make pseudo classes work\\n// WHY: Easier than remembering and writing each time. Should cut down on mistakes/debugging.\\n// USE: @include pseudo;\\n\\n@mixin pseudo($coordinates: none) {\\n  @include content;\\n  display: block;\\n  @if $coordinates != 'none' {\\n    @include absolute($coordinates);\\n  }\\n}\\n\",\"// Shorthand method for common multi-value declarations such as absolute, padding, and margin. Can also be used as the basis to create new multi-value declarations that we haven't conceived.\\n//\\n// @name shorthander\\n// $position - Takes name of attribute: margin, padding, absolute, fixed, relative, static.\\n// $value - Takes 1-4 values, following convention of traditional CSS shorthand properties for margin, padding, etc. One notable improvement: You can use the shorthand and still leave some values blank. Do so by placing an 'n' in place of any numeral.\\n//\\n// @example scss - SCSS\\n// .item {\\n//   @include absolute(0 0 0 0);\\n//   //@include relative(0 0 0 0);\\n//   //@include fixed(0 0 0 0);\\n//   //@include padding(0 0 0 0);\\n//   //@include margin(0 0 0 0);\\n// }\\n\\n@mixin shorthander($position, $value) {\\n  $position-prefix: '';\\n\\n  @if $position == 'margin' or $position == 'padding' {\\n    $position-prefix: $position + '-';\\n  } @else if $position == 'null' {\\n    // do nothing\\n  } @else {\\n    position: $position;\\n  }\\n\\n  @if length($value) == 1 and $value != 'n' and $value != 'x' and $value != 'null' {\\n    #{$position-prefix}top: auto($value);\\n    #{$position-prefix}right: auto($value);\\n    #{$position-prefix}bottom: auto($value);\\n    #{$position-prefix}left: auto($value);\\n  }\\n\\n  @if length($value) == 2 {\\n    $value-y: nth($value, 1);\\n    $value-x: nth($value, 2);\\n    @if $value-y != 'n' and $value-y != 'x' and $value-y != 'null' {\\n      #{$position-prefix}top: auto($value-y);\\n      #{$position-prefix}bottom: auto($value-y);\\n    }\\n    @if $value-x != 'n' and $value-x != 'x' and $value-x != 'null' {\\n      #{$position-prefix}left: auto($value-x);\\n      #{$position-prefix}right: auto($value-x);\\n    }\\n  }\\n\\n  @if length($value) == 3 {\\n    $value-y-top: nth($value, 1);\\n    $value-x: nth($value, 2);\\n    $value-y-bottom: nth($value, 3);\\n\\n    @if $value-y-top != 'n' and $value-y-top != 'x' and $value-y-top != 'null' {\\n      #{$position-prefix}top: auto($value-y-top);\\n    }\\n    @if $value-x != 'n' and $value-x != 'x' and $value-x != 'null' {\\n      #{$position-prefix}right: auto($value-x);\\n      #{$position-prefix}left: auto($value-x);\\n    }\\n    @if $value-y-bottom != 'n' and $value-y-bottom != 'x' and $value-y-bottom != 'null' {\\n      #{$position-prefix}bottom: auto($value-y-bottom);\\n    }\\n  }\\n\\n  @if length($value) == 4 {\\n    $value-top: nth($value, 1);\\n    $value-right: nth($value, 2);\\n    $value-bottom: nth($value, 3);\\n    $value-left: nth($value, 4);\\n\\n    @if $value-top != 'n' and $value-top != 'x' and $value-top != 'null' {\\n      #{$position-prefix}top: auto($value-top);\\n    }\\n    @if $value-right != 'n' and $value-right != 'x' and $value-right != 'null' {\\n      #{$position-prefix}right: auto($value-right);\\n    }\\n    @if $value-bottom != 'n' and $value-bottom != 'x' and $value-bottom != 'null' {\\n      #{$position-prefix}bottom: auto($value-bottom);\\n    }\\n    @if $value-left != 'n' and $value-left != 'x' and $value-left != 'null' {\\n      #{$position-prefix}left: auto($value-left);\\n    }\\n  }\\n}\\n\\n// Absolute\\n@mixin absolute($value) {\\n  @include shorthander(absolute, $value);\\n}\\n\\n// Fixed\\n@mixin fixed($value) {\\n  @include shorthander(fixed, $value);\\n}\\n\\n// Sticky\\n@mixin sticky($value) {\\n  @include shorthander(sticky, $value);\\n}\\n\\n// Relative\\n@mixin relative($value) {\\n  @include shorthander(relative, $value);\\n}\\n\\n// Padding\\n@mixin padding($value) {\\n  @include shorthander(padding, $value);\\n}\\n\\n// Margin\\n@mixin margin($value) {\\n  @include shorthander(margin, $value);\\n}\\n\",\"/// Sets the `width` and `height` of the element.\\n/// @param {Number [unit]} $width - Width (or height and width if $height is not declared)\\n/// @param {Number [unit]} $height - Height\\n/// @link http://codepen.io/upstatement/pen/KpoOpZ See it on Codepen\\n///\\n/// @example scss - Usage\\n/// .box-1 {\\n///   @include size(100px, 150px);\\n/// }\\n///\\n/// .box-2 {\\n///   @include size(200px);\\n/// }\\n///\\n/// @example css - CSS Output\\n/// .box-1 {\\n///   width: 100px;\\n///   height: 150px;\\n/// }\\n///\\n/// .box-2 {\\n///   width: 200px;\\n///   height: 200px;\\n/// }\\n///\\n\\n@mixin size($width, $height: $width) {\\n  height: $height;\\n  width: $width;\\n}\\n\",\"$c-black: #000000;\\n$c-white: #ffffff;\\n$c-gray-light: #888888;\\n$c-gray-mid: #757575;\\n$c-gray-verylight: #e6e6e6;\\n$c-gray-superlight: #e9e9e9;\\n$c-gray-dark: #333333;\\n\\n// Blues\\n$c-bright-blue: #2251ff;\\n$c-deep-blue: #051c2c;\\n$c-purple-blue: #708fff;\\n$c-light-blue: #e0e7ff;\\n$c-verylight-blue: #f2f5f9;\\n\\n// McKinsey dataviz colors\\n$c-cyan-500: #00a9f4;\\n$c-electric-blue-900: #061f79;\\n\\n// Applications\\n$c-bg: $c-white;\\n$c-border: $c-gray-verylight;\\n$c-border-on-dark: rgba($c-white, 0.2);\\n$c-gray-text: $c-gray-mid;\\n$c-rule: $c-black;\\n$c-spot: $c-bright-blue;\\n$c-text: $c-black;\\n$c-outline: $c-purple-blue;\\n\",\"// Hides text, but is accessible to screen readers. Best used on single element next to an element that will display. IE: title next to an icon.\\n// $accessible [true] - Triggers accessible clip method. Use \\\"false\\\" for font: 0 method.\\n//\\n// @example scss - SCSS\\n// .item {\\n//   @include hide();\\n//   //@include hide(false);\\n// }\\n\\n@mixin hide($accessible: true) {\\n\\n  @if $accessible != true {\\n    color: transparent;\\n    font: 0/0 a;\\n    text-shadow: none;\\n  }\\n  @else {\\n    border: 0;\\n    clip: rect(0 0 0 0);\\n    height: 1px;\\n    margin: -1px;\\n    overflow: hidden;\\n    padding: 0;\\n    position: absolute;\\n    width: 1px;\\n\\n    &.focusable:active,\\n    &.focusable:focus {\\n      clip: auto;\\n      height: auto;\\n      margin: 0;\\n      overflow: visible;\\n      position: static;\\n      width: auto;\\n    }\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"container\": \"container__KL3bW\",\n\t\"button\": \"button__tcool\",\n\t\"label\": \"label__zgVid\",\n\t\"portal\": \"portal__LYDFu\",\n\t\"content\": \"content__GFOLr\",\n\t\"viewport\": \"viewport__iz6Jd\",\n\t\"scroll-button-up\": \"scroll-button-up__R_HeC\",\n\t\"scroll-button-down\": \"scroll-button-down__Sl3gc\",\n\t\"item\": \"item__eBITf\",\n\t\"hide\": \"hide__knxdP\",\n\t\"focusable\": \"focusable__bkAgI\",\n\t\"group-label\": \"group-label__z71RN\",\n\t\"indicator\": \"indicator__EGvKa\",\n\t\"group\": \"group__ClkOJ\",\n\t\"sub-group\": \"sub-group__KD9Ad\",\n\t\"control-bar\": \"control-bar__VHnUH\",\n\t\"auto-width\": \"auto-width__wmjWE\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes appear__THLTD{from{opacity:0}to{opacity:1}}.container__xq_lA{position:absolute;animation:appear__THLTD .2s cubic-bezier(0.645, 0.045, 0.355, 1);background-color:#fff;border:1px solid #e6e6e6;padding:18px;pointer-events:none;z-index:10}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/Tooltip/styles.module.scss\",\"webpack://./src/styles/mixins/_shorthander.scss\",\"webpack://./src/styles/variables/_colors.scss\",\"webpack://./src/styles/variables/_borders.scss\",\"webpack://./src/styles/variables/_spacing.scss\"],\"names\":[],\"mappings\":\"AAEA,yBACE,KACE,SAAA,CAEF,GACE,SAAA,CAAA,CAIJ,kBCYI,iBA+DmB,CDzErB,gEAAA,CACA,qBEbQ,CFcR,wBGfO,CHgBP,YIXW,CJYX,mBAAA,CACA,UAAA\",\"sourcesContent\":[\"@import \\\"@/styles\\\";\\n\\n@keyframes appear {\\n  from {\\n    opacity: 0;\\n  }\\n  to {\\n    opacity: 1;\\n  }\\n}\\n\\n.container {\\n  @include absolute(x);\\n  animation: appear $duration $timing;\\n  background-color: $c-white;\\n  border: $border;\\n  padding: $spacing-md;\\n  pointer-events: none;\\n  z-index: 10;\\n}\\n\",\"// Shorthand method for common multi-value declarations such as absolute, padding, and margin. Can also be used as the basis to create new multi-value declarations that we haven't conceived.\\n//\\n// @name shorthander\\n// $position - Takes name of attribute: margin, padding, absolute, fixed, relative, static.\\n// $value - Takes 1-4 values, following convention of traditional CSS shorthand properties for margin, padding, etc. One notable improvement: You can use the shorthand and still leave some values blank. Do so by placing an 'n' in place of any numeral.\\n//\\n// @example scss - SCSS\\n// .item {\\n//   @include absolute(0 0 0 0);\\n//   //@include relative(0 0 0 0);\\n//   //@include fixed(0 0 0 0);\\n//   //@include padding(0 0 0 0);\\n//   //@include margin(0 0 0 0);\\n// }\\n\\n@mixin shorthander($position, $value) {\\n  $position-prefix: '';\\n\\n  @if $position == 'margin' or $position == 'padding' {\\n    $position-prefix: $position + '-';\\n  } @else if $position == 'null' {\\n    // do nothing\\n  } @else {\\n    position: $position;\\n  }\\n\\n  @if length($value) == 1 and $value != 'n' and $value != 'x' and $value != 'null' {\\n    #{$position-prefix}top: auto($value);\\n    #{$position-prefix}right: auto($value);\\n    #{$position-prefix}bottom: auto($value);\\n    #{$position-prefix}left: auto($value);\\n  }\\n\\n  @if length($value) == 2 {\\n    $value-y: nth($value, 1);\\n    $value-x: nth($value, 2);\\n    @if $value-y != 'n' and $value-y != 'x' and $value-y != 'null' {\\n      #{$position-prefix}top: auto($value-y);\\n      #{$position-prefix}bottom: auto($value-y);\\n    }\\n    @if $value-x != 'n' and $value-x != 'x' and $value-x != 'null' {\\n      #{$position-prefix}left: auto($value-x);\\n      #{$position-prefix}right: auto($value-x);\\n    }\\n  }\\n\\n  @if length($value) == 3 {\\n    $value-y-top: nth($value, 1);\\n    $value-x: nth($value, 2);\\n    $value-y-bottom: nth($value, 3);\\n\\n    @if $value-y-top != 'n' and $value-y-top != 'x' and $value-y-top != 'null' {\\n      #{$position-prefix}top: auto($value-y-top);\\n    }\\n    @if $value-x != 'n' and $value-x != 'x' and $value-x != 'null' {\\n      #{$position-prefix}right: auto($value-x);\\n      #{$position-prefix}left: auto($value-x);\\n    }\\n    @if $value-y-bottom != 'n' and $value-y-bottom != 'x' and $value-y-bottom != 'null' {\\n      #{$position-prefix}bottom: auto($value-y-bottom);\\n    }\\n  }\\n\\n  @if length($value) == 4 {\\n    $value-top: nth($value, 1);\\n    $value-right: nth($value, 2);\\n    $value-bottom: nth($value, 3);\\n    $value-left: nth($value, 4);\\n\\n    @if $value-top != 'n' and $value-top != 'x' and $value-top != 'null' {\\n      #{$position-prefix}top: auto($value-top);\\n    }\\n    @if $value-right != 'n' and $value-right != 'x' and $value-right != 'null' {\\n      #{$position-prefix}right: auto($value-right);\\n    }\\n    @if $value-bottom != 'n' and $value-bottom != 'x' and $value-bottom != 'null' {\\n      #{$position-prefix}bottom: auto($value-bottom);\\n    }\\n    @if $value-left != 'n' and $value-left != 'x' and $value-left != 'null' {\\n      #{$position-prefix}left: auto($value-left);\\n    }\\n  }\\n}\\n\\n// Absolute\\n@mixin absolute($value) {\\n  @include shorthander(absolute, $value);\\n}\\n\\n// Fixed\\n@mixin fixed($value) {\\n  @include shorthander(fixed, $value);\\n}\\n\\n// Sticky\\n@mixin sticky($value) {\\n  @include shorthander(sticky, $value);\\n}\\n\\n// Relative\\n@mixin relative($value) {\\n  @include shorthander(relative, $value);\\n}\\n\\n// Padding\\n@mixin padding($value) {\\n  @include shorthander(padding, $value);\\n}\\n\\n// Margin\\n@mixin margin($value) {\\n  @include shorthander(margin, $value);\\n}\\n\",\"$c-black: #000000;\\n$c-white: #ffffff;\\n$c-gray-light: #888888;\\n$c-gray-mid: #757575;\\n$c-gray-verylight: #e6e6e6;\\n$c-gray-superlight: #e9e9e9;\\n$c-gray-dark: #333333;\\n\\n// Blues\\n$c-bright-blue: #2251ff;\\n$c-deep-blue: #051c2c;\\n$c-purple-blue: #708fff;\\n$c-light-blue: #e0e7ff;\\n$c-verylight-blue: #f2f5f9;\\n\\n// McKinsey dataviz colors\\n$c-cyan-500: #00a9f4;\\n$c-electric-blue-900: #061f79;\\n\\n// Applications\\n$c-bg: $c-white;\\n$c-border: $c-gray-verylight;\\n$c-border-on-dark: rgba($c-white, 0.2);\\n$c-gray-text: $c-gray-mid;\\n$c-rule: $c-black;\\n$c-spot: $c-bright-blue;\\n$c-text: $c-black;\\n$c-outline: $c-purple-blue;\\n\",\"$border: 1px solid $c-border;\\n$rule: 1px solid $c-rule;\\n$outline: 4px solid $c-outline;\\n\",\"@use \\\"sass:math\\\";\\n\\n$spacing-xxs: 5px;\\n$spacing-xs: 8px;\\n$spacing-sm: 12px;\\n$spacing-md: 18px;\\n$spacing-lg: 24px;\\n$spacing-xl: 36px;\\n$spacing-xxl: 60px;\\n$spacing-xxxl: 100px;\\n$spacing-xxxxl: 200px;\\n\\n// Grid\\n$grid-gutter: 40px;\\n$grid-padding: math.div($grid-gutter, 2);\\n$grid-gutter-mobile: 20px;\\n$grid-padding-mobile: math.div($grid-gutter-mobile, 2);\\n\\n// Controls bar\\n$controls-bar-height-m: 65px;\\n$controls-bar-height-d: 75px;\\n\\n// Space between chart and end notes\\n$notes-spacing: $spacing-lg;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"container\": \"container__xq_lA\",\n\t\"appear\": \"appear__THLTD\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".container__rb3GB{position:relative}svg.chart__PpJ1X{margin:0 auto;margin-right:-20px;width:calc(100% + 20px)}@media(min-width: 768px){svg.chart__PpJ1X{margin-right:-40px;width:calc(100% + 40px)}}@media(min-width: 768px){svg.chart__PpJ1X{max-height:calc(100vh - 120px);min-height:500px}}.bubble__S_eRg{cursor:pointer}.bubble-label__QosRk{font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-size:24px;font-weight:300;fill:#000}@media(min-width: 600px){.bubble-label__QosRk{font-size:18px}}.bubble-circle__NSBG2{fill:#888;fill-opacity:.25}.bubble__S_eRg.bubble-local__jPo6k .bubble-circle__NSBG2{fill:#2251ff;fill-opacity:.35}.bubble__S_eRg .bubble-annotation__kGqRn{opacity:0}.bubble__S_eRg:hover .bubble-circle__NSBG2,.bubble__S_eRg:focus .bubble-circle__NSBG2{fill-opacity:.8}.bubble__S_eRg:hover .bubble-annotation__kGqRn,.bubble__S_eRg:focus .bubble-annotation__kGqRn{opacity:1}.bubble__S_eRg.bubble-selected__CDA1F .bubble-circle__NSBG2{fill-opacity:.8;stroke:#000;stroke-width:2px}.bubble__S_eRg.bubble-selected__CDA1F .bubble-annotation__kGqRn{opacity:1}.marker-line__fqe65{stroke:rgba(0,0,0,.5)}.marker-text__VuXHr,.axis__HgB_i text{font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-size:24px;font-weight:300;fill:#000}@media(min-width: 600px){.marker-text__VuXHr,.axis__HgB_i text{font-size:18px}}@media(max-width: 599px){.marker-text__VuXHr,.axis__HgB_i text{font-size:18px}}.axis-label__HA2v0{font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-size:24px;font-weight:300}@media(min-width: 600px){.axis-label__HA2v0{font-size:18px}}.marker-text-bold__im5vh{font-weight:500}.marker-text-bold-first__pfcNQ tspan:first-child{font-weight:500}.quadrant-label__eNZSt{cursor:pointer}.quadrant-label__eNZSt:hover .quadrant-label-icon___6bnb,.quadrant-label__eNZSt:focus .quadrant-label-icon___6bnb{color:#000}.quadrant-label-icon___6bnb{color:#2251ff;stroke:none}.quadrant-label-text__S8ZpL{font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-size:24px;font-weight:300;font-weight:500}@media(min-width: 600px){.quadrant-label-text__S8ZpL{font-size:18px}}.quadrant-tooltip__wJKhs{pointer-events:none}.quadrant-tooltip-bg__V4X6L{fill:#fff;stroke:1px;stroke:#e6e6e6}.quadrant-tooltip-text__ihZzt{font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-size:24px;font-weight:300;fill:#000}@media(min-width: 600px){.quadrant-tooltip-text__ihZzt{font-size:18px}}.axis-line__ZKjzK,.axis-tickline__MWoet{stroke:#e6e6e6}.notes-contaer__J9wOj{padding-bottom:20px}@media(min-width: 768px){.notes-contaer__J9wOj{padding-bottom:40px}}.region-highlight-local__UTMd3{fill:rgba(34,81,255,.08)}.tooltip-container__JxdzU{position:absolute;top:0;left:0;font-size:14px;color:inherit;font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-weight:300;line-height:1.25}@media(min-width: 400px)and (max-width: 1023px){.tooltip-container__JxdzU{font-size:calc(14px + (16 - 14) * (\\n          100vw - 400px\\n        ) / (1024 - 400))}}@media(min-width: 1024px){.tooltip-container__JxdzU{font-size:16px}}.tooltip-header__cCQL4{border-bottom:1px solid #e6e6e6;padding:0 0 8px}.tooltip-heading__YbgbH{font-size:14px;color:inherit;font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-weight:500;line-height:1.25;margin:0;padding:0}@media(min-width: 400px)and (max-width: 1023px){.tooltip-heading__YbgbH{font-size:calc(14px + (16 - 14) * (\\n          100vw - 400px\\n        ) / (1024 - 400))}}@media(min-width: 1024px){.tooltip-heading__YbgbH{font-size:16px}}.tooltip-hs6-code__Gb1oA{font-size:14px;color:#757575;font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-weight:300;line-height:1.25;margin:0;padding:0}@media(min-width: 400px)and (max-width: 1023px){.tooltip-hs6-code__Gb1oA{font-size:calc(14px + (16 - 14) * (\\n          100vw - 400px\\n        ) / (1024 - 400))}}@media(min-width: 1024px){.tooltip-hs6-code__Gb1oA{font-size:16px}}.tooltip-list__arAS3{list-style:none;margin:0;padding:0}.tooltip-list__arAS3 li{font-size:14px;color:#757575;font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-weight:300;line-height:1.25;margin-top:12px;padding:0}@media(min-width: 400px)and (max-width: 1023px){.tooltip-list__arAS3 li{font-size:calc(14px + (16 - 14) * (\\n          100vw - 400px\\n        ) / (1024 - 400))}}@media(min-width: 1024px){.tooltip-list__arAS3 li{font-size:16px}}.tooltip-list__arAS3 strong{color:#000;font-weight:300}.hide__vK2xf{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.hide__vK2xf.focusable__P75BO:active,.hide__vK2xf.focusable__P75BO:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/pages/product-concentration/BubbleChart/styles.module.scss\",\"webpack://./src/styles/mixins/_mq.scss\",\"webpack://./src/styles/mixins/_typography.scss\",\"webpack://./src/styles/variables/_typography.scss\",\"webpack://./src/styles/variables/_colors.scss\",\"webpack://./src/styles/mixins/_layout.scss\",\"webpack://./src/styles/variables/_spacing.scss\",\"webpack://./src/styles/mixins/_shorthander.scss\",\"webpack://./src/styles/mixins/_fluid-size.scss\",\"webpack://./src/styles/variables/_borders.scss\",\"webpack://./src/styles/mixins/_hide.scss\"],\"names\":[],\"mappings\":\"AAEA,kBACE,iBAAA,CAGF,iBACE,aAAA,CACA,kBAAA,CACA,uBAAA,CCkBE,yBDrBJ,iBAMI,kBAAA,CACA,uBAAA,CAAA,CCcA,yBDrBJ,iBAWI,8BAAA,CACA,gBAAA,CAAA,CAIJ,eACE,cAAA,CAEA,qBEgDA,4CCtEQ,CDuER,cCvDM,CDwDN,eCnES,CHmBP,SI3BM,CH2BN,yBDFF,qBEqDE,cC5DI,CAAA,CHYN,sBACE,SI7BW,CJ8BX,gBAAA,CAIF,yDACE,YI5BY,CJ6BZ,gBAAA,CAGF,yCACE,SAAA,CAKA,sFACE,eAAA,CAEF,8FACE,SAAA,CAMJ,4DACE,eAAA,CACA,WI3DM,CJ4DN,gBAAA,CAGF,gEACE,SAAA,CAKJ,oBACE,qBAAA,CAGF,sCAAA,4CGtEU,CDuER,cCvDM,CDwDN,eCnES,CHoET,SI5EQ,CH2BN,yBD8CJ,sCEKI,cC5DI,CAAA,CFKJ,yBDkDJ,sCAOI,cG9DI,CAAA,CHkER,mBEXE,4CCtEQ,CDuER,cCvDM,CDwDN,eCnES,CFmBP,yBDyDJ,mBENI,cC5DI,CAAA,CHuEN,yBACE,eGhFK,CHmFL,iDACE,eGpFG,CHyFT,uBACE,cAAA,CAIE,kHACE,UIzGI,CJ8GV,4BACE,aItGc,CJuGd,WAAA,CAGF,4BE1CE,4CCtEQ,CDuER,cCvDM,CDwDN,eCnES,CH6GT,eG3GO,CFiBL,yBDwFJ,4BErCI,cC5DI,CAAA,CHsGR,yBACE,mBAAA,CAGF,4BACE,SI5HQ,CJ6HR,UAAA,CACA,cI3HiB,CJ8HnB,8BEzDE,4CCtEQ,CDuER,cCvDM,CDwDN,eCnES,CH4HT,SIpIQ,CH2BN,yBDuGJ,8BEpDI,cC5DI,CAAA,CHqHR,wCAEE,cIrIiB,CJwInB,sBKzHI,mBCJiB,CLYjB,yBDiHJ,sBKvHM,mBCRQ,CAAA,CNqId,+BACE,wBAAA,CAKF,0BOjII,iBA+DmB,CAhBjB,KAAA,CASA,MAAA,CCpDA,cANO,CNVX,aANQ,CAOR,4CCTQ,CDUR,eCLS,CDMT,gBF4IwB,CC3HtB,gDDyHJ,0BQ3HQ;;yBAAA,CAAA,CPFJ,0BD6HJ,0BQtHQ,cAZK,CAAA,CRuIb,uBACE,+BS9JO,CT+JP,eAAA,CAGF,wBQvIM,cANO,CNVX,aANQ,CAOR,4CCTQ,CDUR,eCHO,CDIP,gBFqJ0C,CAC1C,QAAA,CACA,SAAA,CCtIE,gDDmIJ,wBQrIQ;;yBAAA,CAAA,CPFJ,0BDuIJ,wBQhIQ,cAZK,CAAA,CRkJb,yBQ7IM,cANO,CNVX,aERW,CFSX,4CCTQ,CDUR,eCLS,CDMT,gBF2J8C,CAC9C,QAAA,CACA,SAAA,CC5IE,gDDyIJ,yBQ3IQ;;yBAAA,CAAA,CPFJ,0BD6IJ,yBQtIQ,cAZK,CAAA,CRwJb,qBACE,eAAA,CACA,QAAA,CACA,SAAA,CACA,wBQvJI,cANO,CNVX,aERW,CFSX,4CCTQ,CDUR,eCLS,CDMT,gBFqKgD,CAC9C,eMhLS,CNiLT,SAAA,CCtJA,gDDmJF,wBQrJM;;yBAAA,CAAA,CPFJ,0BDuJF,wBQhJM,cAZK,CAAA,CRiKX,4BACE,UIxLM,CJyLN,eGjLO,CHqLX,aU5KI,QAAA,CACA,kBAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,SAAA,CACA,iBAAA,CACA,SAAA,CAEA,yEAEE,SAAA,CACA,WAAA,CACA,QAAA,CACA,gBAAA,CACA,eAAA,CACA,UAAA\",\"sourcesContent\":[\"@import \\\"@/styles\\\";\\n\\n.container {\\n  position: relative;\\n}\\n\\nsvg.chart {\\n  margin: 0 auto;\\n  margin-right: -20px;\\n  width: calc(100% + 20px);\\n\\n  @include mq($bp-tablet-xl) {\\n    margin-right: -40px;\\n    width: calc(100% + 40px);\\n  }\\n\\n  @include mq($bp-tablet-xl) {\\n    max-height: calc(100vh - 120px);\\n    min-height: 500px;\\n  }\\n}\\n\\n.bubble {\\n  cursor: pointer;\\n\\n  &-label {\\n    @include svg-label($has-breakout: false);\\n    fill: $c-black;\\n  }\\n\\n  &-circle {\\n    fill: $c-gray-light;\\n    fill-opacity: 0.25;\\n  }\\n\\n  // Bubbles falling in the locally concentrated quadrant get tinted blue\\n  &.bubble-local .bubble-circle {\\n    fill: $c-bright-blue;\\n    fill-opacity: 0.35;\\n  }\\n\\n  .bubble-annotation {\\n    opacity: 0;\\n  }\\n\\n  &:hover,\\n  &:focus {\\n    .bubble-circle {\\n      fill-opacity: 0.8;\\n    }\\n    .bubble-annotation {\\n      opacity: 1;\\n    }\\n  }\\n}\\n// Selected (clicked)\\n.bubble.bubble-selected {\\n  .bubble-circle {\\n    fill-opacity: 0.8;\\n    stroke: $c-black;\\n    stroke-width: 2px;\\n  }\\n\\n  .bubble-annotation {\\n    opacity: 1;\\n  }\\n}\\n\\n// Dashed lines for less/more concentrated point\\n.marker-line {\\n  stroke: rgba($c-black, 0.5);\\n}\\n\\n.marker-text,\\n.axis text {\\n  @include svg-label($has-breakout: false);\\n  fill: $c-black;\\n\\n  // Override font size to avoid text collisions on mobile/tablet\\n  @include mq($bp-tablet, max) {\\n    font-size: $fs-sm;\\n  }\\n}\\n\\n.axis-label {\\n  @include svg-label($has-breakout: false);\\n}\\n\\n.marker-text {\\n  &-bold {\\n    font-weight: $fw-med;\\n  }\\n  &-bold-first {\\n    tspan:first-child {\\n      font-weight: $fw-med;\\n    }\\n  }\\n}\\n\\n.quadrant-label {\\n  cursor: pointer;\\n\\n  &:hover,\\n  &:focus {\\n    .quadrant-label-icon {\\n      color: $c-black;\\n    }\\n  }\\n}\\n\\n.quadrant-label-icon {\\n  color: $c-bright-blue;\\n  stroke: none;\\n}\\n\\n.quadrant-label-text {\\n  @include svg-label($has-breakout: false);\\n  font-weight: $fw-med;\\n}\\n\\n.quadrant-tooltip {\\n  pointer-events: none;\\n}\\n\\n.quadrant-tooltip-bg {\\n  fill: $c-white;\\n  stroke: 1px;\\n  stroke: $c-border;\\n}\\n\\n.quadrant-tooltip-text {\\n  @include svg-label($has-breakout: false);\\n  fill: $c-black;\\n}\\n\\n.axis-line,\\n.axis-tickline {\\n  stroke: $c-border;\\n}\\n\\n.notes-contaer {\\n  @include site-pad(padding-bottom);\\n}\\n\\n// Region highlight\\n\\n.region-highlight-local {\\n  fill: rgba($c-bright-blue, 0.08);\\n}\\n\\n// Tooltip\\n\\n.tooltip-container {\\n  @include absolute(0 x x 0);\\n  @include body-text($lh: 1.25);\\n}\\n\\n.tooltip-header {\\n  border-bottom: $border;\\n  padding: 0 0 $spacing-xs;\\n}\\n\\n.tooltip-heading {\\n  @include body-text($weight: $fw-med, $lh: 1.25);\\n  margin: 0;\\n  padding: 0;\\n}\\n\\n.tooltip-hs6-code {\\n  @include body-text($color: $c-gray-text, $lh: 1.25);\\n  margin: 0;\\n  padding: 0;\\n}\\n\\n.tooltip-list {\\n  list-style: none;\\n  margin: 0;\\n  padding: 0;\\n  li {\\n    @include body-text($color: $c-gray-text, $lh: 1.25);\\n    margin-top: $spacing-sm;\\n    padding: 0;\\n  }\\n  strong {\\n    color: $c-black;\\n    font-weight: $fw-light;\\n  }\\n}\\n\\n.hide {\\n  @include hide;\\n}\\n\",\"// Write less verbose media queries.\\n// $bp-1 - breakpoint value, min-width if declaring range\\n// $bp-2 [null] - [Optional] breakpoint value, max-width if declaring range\\n//\\n// @example scss - SCSS\\n// .item-1 {\\n//    @include mq(600px, 768px) {\\n//     display: block;\\n//   }\\n// }\\n//\\n// .item-2 {\\n//   @include mq(768px) {\\n//     display: block;\\n//   }\\n// }\\n\\n@mixin mq($bp-1, $bp-2: null) {\\n  @if $bp-1 == \\\"max\\\" {\\n    @media (max-width: $bp-2 - 1) {\\n      @content;\\n    }\\n  } @else if $bp-2 == \\\"max\\\" {\\n    @media (max-width: $bp-1 - 1) {\\n      @content;\\n    }\\n  } @else if $bp-2 == null {\\n    @media (min-width: $bp-1) {\\n      @content;\\n    }\\n  } @else {\\n    @media (min-width: $bp-1) and (max-width: $bp-2 - 1) {\\n      @content;\\n    }\\n  }\\n}\\n\",\"// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// basic type mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin body-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  @include fluid-font($fs-xxs $bp-phablet, $fs-xs $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin heading-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.35\\n) {\\n  @include fluid-font($fs-sm $bp-phablet, 21px $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin dek-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.375\\n) {\\n  @include fluid-font($fs-sm $bp-phablet, $fs-md $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin control-label(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.25\\n) {\\n  color: $color;\\n  font-family: $font;\\n  font-size: $fs-xs;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin basic-formatting {\\n  a {\\n    @include inline-link;\\n  }\\n\\n  strong,\\n  b {\\n    font-weight: $fw-med;\\n  }\\n  em,\\n  i {\\n    font-style: italic;\\n  }\\n}\\n\\n// Since SVGs scale up with browser, reduce font size on larger screens\\n@mixin svg-label($weight: $fw-light, $has-breakout: true) {\\n  font-family: $ff-sans;\\n  font-size: $fs-md;\\n  font-weight: $weight;\\n\\n  @include mq($bp-tablet) {\\n    font-size: $fs-sm;\\n  }\\n\\n  @if ($has-breakout) {\\n    @include mq($bp-breakout-chart) {\\n      font-size: $fs-xs;\\n    }\\n  }\\n}\\n\\n@mixin tiny-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  color: $color;\\n  font-size: $fs-xxxs;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n  @include mq($bp-phablet) {\\n    font-size: $fs-xxs;\\n  }\\n}\\n\\n@mixin micro-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  color: $color;\\n  font-size: $fs-xxxxs;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n\\n  @include mq($bp-tablet) {\\n    font-size: $fs-xxxs;\\n  }\\n  @include mq($bp-desktop) {\\n    font-size: $fs-xxs;\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// link mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin inline-link(\\n  $color: inherit,\\n  $underline: $c-bright-blue,\\n  $hover: $c-white,\\n  $active: $c-spot\\n) {\\n  border-bottom: solid 2px $underline;\\n  color: $color;\\n  cursor: pointer;\\n  padding-left: 0.125rem;\\n  padding-right: 0.125rem;\\n  text-decoration: none;\\n\\n  &:hover {\\n    background-color: $underline;\\n    border-bottom: solid 2px $underline;\\n    color: $hover;\\n  }\\n  &:focus-visible {\\n    outline: $outline;\\n  }\\n}\\n\\n@mixin inline-link-on-dark {\\n  @include inline-link($c-cyan-500, $c-cyan-500, $c-deep-blue);\\n}\\n\\n@mixin arrow-link {\\n  color: $c-black;\\n  display: inline-block;\\n  font-weight: $fw-med;\\n  text-decoration: none;\\n  transition: all 0.5s ease-out;\\n\\n  &:after {\\n    color: $c-bright-blue;\\n    content: \\\"\\\\e608\\\";\\n    display: inline;\\n    font-family: $ff-icons;\\n    font-weight: $fw-reg;\\n    font-size: inherit;\\n    padding-left: 0.5rem;\\n    padding-right: 0.75rem;\\n    transition: padding 0.4s ease-in-out;\\n    vertical-align: middle;\\n  }\\n\\n  &:hover,\\n  &:focus-visible {\\n    color: $c-bright-blue;\\n    &:after {\\n      padding-left: 1.5rem;\\n      padding-right: 0;\\n    }\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// Button mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin button($style: solid, $color: $c-text, $bg: $c-bg) {\\n  @include body-text;\\n  padding: 0.55em 1.1em;\\n  appearance: none;\\n\\n  &:focus-visible {\\n    outline: $outline;\\n  }\\n\\n  @if $style == outline {\\n    background-color: transparent;\\n    border: 1px solid $color;\\n\\n    &:hover,\\n    &:focus-visible {\\n      background-color: $color;\\n      border-color: $color;\\n      color: $bg;\\n    }\\n  } @else {\\n    background-color: $bg;\\n    color: $color;\\n    border: solid 1px transparent;\\n    &:hover,\\n    &:focus-visible {\\n      background-color: $color;\\n      border-color: $bg;\\n      color: $bg;\\n    }\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// Heading Mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin h1($color: inherit, $font: $ff-serif, $weight: $fw-med, $lh: 1) {\\n  @include fluid-font(38px 400px, $fs-xxxl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  letter-spacing: -0.03em;\\n  line-height: $lh;\\n}\\n\\n@mixin h2($color: inherit, $font: $ff-sans, $weight: $fw-med, $lh: 0.9) {\\n  @include fluid-font($fs-lg 400px, $fs-xl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin h3($color: inherit, $font: $ff-sans, $weight: $fw-med, $lh: 1) {\\n  @include fluid-font($fs-sm 400px, $fs-xl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\",\"// Families\\n\\n// replace with actual fonts\\n$ff-sans: \\\"McKinsey Sans\\\", Arial, sans-serif;\\n$ff-serif: Bower, Georgia, serif;\\n$ff-icons: mck-icons;\\n\\n// Weights\\n$fw-light: 300;\\n$fw-reg: 400;\\n$fw-med: 500;\\n\\n// Sizes\\n$fs-xxxxs: 9px;\\n\\n$fs-xxxs: 12px;\\n$fs-xxs: 14px;\\n$fs-xs: 16px;\\n$fs-sm: 18px;\\n$fs-md: 24px;\\n$fs-lg: 28px;\\n$fs-xl: 36px;\\n$fs-xxl: 45px;\\n$fs-xxxl: 52px;\\n$fs-xxxxl: 110px;\\n$fs-xxxxxl: 98px;\\n\\n// Line Height\\n$lh-base: 1.5;\\n$lh-med: 1.375;\\n$lh-tiny: 1;\\n$lh-small: 1;\\n$lh-smallcap: 1.25;\\n\\n$lh-mono: 1.2;\\n\",\"$c-black: #000000;\\n$c-white: #ffffff;\\n$c-gray-light: #888888;\\n$c-gray-mid: #757575;\\n$c-gray-verylight: #e6e6e6;\\n$c-gray-superlight: #e9e9e9;\\n$c-gray-dark: #333333;\\n\\n// Blues\\n$c-bright-blue: #2251ff;\\n$c-deep-blue: #051c2c;\\n$c-purple-blue: #708fff;\\n$c-light-blue: #e0e7ff;\\n$c-verylight-blue: #f2f5f9;\\n\\n// McKinsey dataviz colors\\n$c-cyan-500: #00a9f4;\\n$c-electric-blue-900: #061f79;\\n\\n// Applications\\n$c-bg: $c-white;\\n$c-border: $c-gray-verylight;\\n$c-border-on-dark: rgba($c-white, 0.2);\\n$c-gray-text: $c-gray-mid;\\n$c-rule: $c-black;\\n$c-spot: $c-bright-blue;\\n$c-text: $c-black;\\n$c-outline: $c-purple-blue;\\n\",\"@use \\\"sass:math\\\";\\n\\n@mixin site-pad($param: horiz) {\\n  // Keywords for horiz/vert/both\\n  @if ($param == horiz or $param == both) {\\n    @include padding(x $grid-gutter-mobile);\\n    @include mq($bp-larger-gutters) {\\n      @include padding(x $grid-gutter);\\n    }\\n  }\\n  @if ($param == vert or $param == both) {\\n    @include padding($grid-gutter-mobile x);\\n    @include mq($bp-larger-gutters) {\\n      @include padding($grid-gutter x);\\n    }\\n  }\\n\\n  @if ($param != horiz and $param != vert and $param != both) {\\n    // Otherwise param is property name\\n    #{$param}: $grid-gutter-mobile;\\n    @include mq($bp-larger-gutters) {\\n      #{$param}: $grid-gutter;\\n    }\\n  }\\n}\\n\\n@mixin gap {\\n  @include site-pad(gap);\\n}\\n\\n@mixin chart-spacing {\\n  margin-bottom: $spacing-xl;\\n  @include mq($bp-desktop-xl) {\\n    margin-bottom: $spacing-xxl;\\n  }\\n}\\n\\n// On wider screens, break the SVG out of the container so axes labels and tooltips can hang in the left/right margins\\n@mixin chart-breakout($width, $left-val, $right-val, $bp: 1600px) {\\n  $left-pc: math.div($left-val, $width) * 100%;\\n  $right-pc: math.div($right-val, $width) * 100%;\\n\\n  svg {\\n    @include mq($bp) {\\n      margin-left: -#{$left-pc};\\n      margin-right: -#{$right-pc};\\n      width: 100% + $left-pc + $right-pc;\\n    }\\n  }\\n}\\n\",\"@use \\\"sass:math\\\";\\n\\n$spacing-xxs: 5px;\\n$spacing-xs: 8px;\\n$spacing-sm: 12px;\\n$spacing-md: 18px;\\n$spacing-lg: 24px;\\n$spacing-xl: 36px;\\n$spacing-xxl: 60px;\\n$spacing-xxxl: 100px;\\n$spacing-xxxxl: 200px;\\n\\n// Grid\\n$grid-gutter: 40px;\\n$grid-padding: math.div($grid-gutter, 2);\\n$grid-gutter-mobile: 20px;\\n$grid-padding-mobile: math.div($grid-gutter-mobile, 2);\\n\\n// Controls bar\\n$controls-bar-height-m: 65px;\\n$controls-bar-height-d: 75px;\\n\\n// Space between chart and end notes\\n$notes-spacing: $spacing-lg;\\n\",\"// Shorthand method for common multi-value declarations such as absolute, padding, and margin. Can also be used as the basis to create new multi-value declarations that we haven't conceived.\\n//\\n// @name shorthander\\n// $position - Takes name of attribute: margin, padding, absolute, fixed, relative, static.\\n// $value - Takes 1-4 values, following convention of traditional CSS shorthand properties for margin, padding, etc. One notable improvement: You can use the shorthand and still leave some values blank. Do so by placing an 'n' in place of any numeral.\\n//\\n// @example scss - SCSS\\n// .item {\\n//   @include absolute(0 0 0 0);\\n//   //@include relative(0 0 0 0);\\n//   //@include fixed(0 0 0 0);\\n//   //@include padding(0 0 0 0);\\n//   //@include margin(0 0 0 0);\\n// }\\n\\n@mixin shorthander($position, $value) {\\n  $position-prefix: '';\\n\\n  @if $position == 'margin' or $position == 'padding' {\\n    $position-prefix: $position + '-';\\n  } @else if $position == 'null' {\\n    // do nothing\\n  } @else {\\n    position: $position;\\n  }\\n\\n  @if length($value) == 1 and $value != 'n' and $value != 'x' and $value != 'null' {\\n    #{$position-prefix}top: auto($value);\\n    #{$position-prefix}right: auto($value);\\n    #{$position-prefix}bottom: auto($value);\\n    #{$position-prefix}left: auto($value);\\n  }\\n\\n  @if length($value) == 2 {\\n    $value-y: nth($value, 1);\\n    $value-x: nth($value, 2);\\n    @if $value-y != 'n' and $value-y != 'x' and $value-y != 'null' {\\n      #{$position-prefix}top: auto($value-y);\\n      #{$position-prefix}bottom: auto($value-y);\\n    }\\n    @if $value-x != 'n' and $value-x != 'x' and $value-x != 'null' {\\n      #{$position-prefix}left: auto($value-x);\\n      #{$position-prefix}right: auto($value-x);\\n    }\\n  }\\n\\n  @if length($value) == 3 {\\n    $value-y-top: nth($value, 1);\\n    $value-x: nth($value, 2);\\n    $value-y-bottom: nth($value, 3);\\n\\n    @if $value-y-top != 'n' and $value-y-top != 'x' and $value-y-top != 'null' {\\n      #{$position-prefix}top: auto($value-y-top);\\n    }\\n    @if $value-x != 'n' and $value-x != 'x' and $value-x != 'null' {\\n      #{$position-prefix}right: auto($value-x);\\n      #{$position-prefix}left: auto($value-x);\\n    }\\n    @if $value-y-bottom != 'n' and $value-y-bottom != 'x' and $value-y-bottom != 'null' {\\n      #{$position-prefix}bottom: auto($value-y-bottom);\\n    }\\n  }\\n\\n  @if length($value) == 4 {\\n    $value-top: nth($value, 1);\\n    $value-right: nth($value, 2);\\n    $value-bottom: nth($value, 3);\\n    $value-left: nth($value, 4);\\n\\n    @if $value-top != 'n' and $value-top != 'x' and $value-top != 'null' {\\n      #{$position-prefix}top: auto($value-top);\\n    }\\n    @if $value-right != 'n' and $value-right != 'x' and $value-right != 'null' {\\n      #{$position-prefix}right: auto($value-right);\\n    }\\n    @if $value-bottom != 'n' and $value-bottom != 'x' and $value-bottom != 'null' {\\n      #{$position-prefix}bottom: auto($value-bottom);\\n    }\\n    @if $value-left != 'n' and $value-left != 'x' and $value-left != 'null' {\\n      #{$position-prefix}left: auto($value-left);\\n    }\\n  }\\n}\\n\\n// Absolute\\n@mixin absolute($value) {\\n  @include shorthander(absolute, $value);\\n}\\n\\n// Fixed\\n@mixin fixed($value) {\\n  @include shorthander(fixed, $value);\\n}\\n\\n// Sticky\\n@mixin sticky($value) {\\n  @include shorthander(sticky, $value);\\n}\\n\\n// Relative\\n@mixin relative($value) {\\n  @include shorthander(relative, $value);\\n}\\n\\n// Padding\\n@mixin padding($value) {\\n  @include shorthander(padding, $value);\\n}\\n\\n// Margin\\n@mixin margin($value) {\\n  @include shorthander(margin, $value);\\n}\\n\",\"// - - - - - - - - - - - - - - - - - - - - - - - - - -----------------------------\\n// Fluid Font Sizing\\n//\\n// FOR:   Dynamically changing the size of type\\n//        between certain screen sizes. Think of\\n//        it as a CSS-only version of FitText\\n// REQ:   Depends on the `mq` media query mixin\\n// REF:   http://www.adrenalinmedia.com.au/blog/january-2016/this-changes-everything-css-%E2%80%98fluid-properties%E2%80%99\\n// USE:   @include fluid-size(\\n//          40px $bp__tablet--sm,\\n//          60px $bp__desktop\\n//        );\\n//\\n// - - - - - - - - - - - - - - - - - - - - - - - - - ----------------------------\\n\\n@mixin fluid-size(\\n  $properties: font-size,\\n  $tween-start: 16px 400px,\\n  $tween-end: 60px 1400px,\\n  $use-mq: true\\n) {\\n  $min-size: nth($tween-start, 1);\\n  $max-size: nth($tween-end, 1);\\n  $min-width: nth($tween-start, 2);\\n  $max-width: nth($tween-end, 2);\\n  @each $property in $properties {\\n    @if $use-mq {\\n      #{$property}: $min-size;\\n      @include mq($min-width, $max-width) {\\n        #{$property}: calc(#{$min-size} + (#{strip-units($max-size)} - #{strip-units($min-size)}) * (\\n          100vw - #{$min-width}\\n        ) / (#{strip-units($max-width)} - #{strip-units($min-width)}));\\n      }\\n      @include mq($max-width) {\\n        #{$property}: $max-size;\\n      }\\n    } @else {\\n      #{$property}: calc(#{$min-size} +\\n      (#{strip-units($max-size)} - #{strip-units($min-size)}) *\\n      (100vw - #{$min-width}) /\\n      (#{strip-units($max-width)} - #{strip-units($min-width)}));\\n    }\\n  }\\n}\\n\\n// Misin just for font size\\n@mixin fluid-font($tween-start: 16px 400px, $tween-end: 60px 1400px, $use-mq: true) {\\n  @include fluid-size(font-size, $tween-start, $tween-end, $use-mq);\\n}\\n\",\"$border: 1px solid $c-border;\\n$rule: 1px solid $c-rule;\\n$outline: 4px solid $c-outline;\\n\",\"// Hides text, but is accessible to screen readers. Best used on single element next to an element that will display. IE: title next to an icon.\\n// $accessible [true] - Triggers accessible clip method. Use \\\"false\\\" for font: 0 method.\\n//\\n// @example scss - SCSS\\n// .item {\\n//   @include hide();\\n//   //@include hide(false);\\n// }\\n\\n@mixin hide($accessible: true) {\\n\\n  @if $accessible != true {\\n    color: transparent;\\n    font: 0/0 a;\\n    text-shadow: none;\\n  }\\n  @else {\\n    border: 0;\\n    clip: rect(0 0 0 0);\\n    height: 1px;\\n    margin: -1px;\\n    overflow: hidden;\\n    padding: 0;\\n    position: absolute;\\n    width: 1px;\\n\\n    &.focusable:active,\\n    &.focusable:focus {\\n      clip: auto;\\n      height: auto;\\n      margin: 0;\\n      overflow: visible;\\n      position: static;\\n      width: auto;\\n    }\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"container\": \"container__rb3GB\",\n\t\"chart\": \"chart__PpJ1X\",\n\t\"bubble\": \"bubble__S_eRg\",\n\t\"bubble-label\": \"bubble-label__QosRk\",\n\t\"bubble-circle\": \"bubble-circle__NSBG2\",\n\t\"bubble-local\": \"bubble-local__jPo6k\",\n\t\"bubble-annotation\": \"bubble-annotation__kGqRn\",\n\t\"bubble-selected\": \"bubble-selected__CDA1F\",\n\t\"marker-line\": \"marker-line__fqe65\",\n\t\"marker-text\": \"marker-text__VuXHr\",\n\t\"axis\": \"axis__HgB_i\",\n\t\"axis-label\": \"axis-label__HA2v0\",\n\t\"marker-text-bold\": \"marker-text-bold__im5vh\",\n\t\"marker-text-bold-first\": \"marker-text-bold-first__pfcNQ\",\n\t\"quadrant-label\": \"quadrant-label__eNZSt\",\n\t\"quadrant-label-icon\": \"quadrant-label-icon___6bnb\",\n\t\"quadrant-label-text\": \"quadrant-label-text__S8ZpL\",\n\t\"quadrant-tooltip\": \"quadrant-tooltip__wJKhs\",\n\t\"quadrant-tooltip-bg\": \"quadrant-tooltip-bg__V4X6L\",\n\t\"quadrant-tooltip-text\": \"quadrant-tooltip-text__ihZzt\",\n\t\"axis-line\": \"axis-line__ZKjzK\",\n\t\"axis-tickline\": \"axis-tickline__MWoet\",\n\t\"notes-contaer\": \"notes-contaer__J9wOj\",\n\t\"region-highlight-local\": \"region-highlight-local__UTMd3\",\n\t\"tooltip-container\": \"tooltip-container__JxdzU\",\n\t\"tooltip-header\": \"tooltip-header__cCQL4\",\n\t\"tooltip-heading\": \"tooltip-heading__YbgbH\",\n\t\"tooltip-hs6-code\": \"tooltip-hs6-code__Gb1oA\",\n\t\"tooltip-list\": \"tooltip-list__arAS3\",\n\t\"hide\": \"hide__vK2xf\",\n\t\"focusable\": \"focusable__P75BO\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".table__yYFbt{width:100%;border-spacing:0;display:none}@media(min-width: 600px){.table__yYFbt{display:table}}.table__yYFbt tr,.table__yYFbt th,.table__yYFbt td{padding:0;margin:0}.table__yYFbt th{color:inherit;font-size:12px;font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-weight:500;line-height:1.2;padding-bottom:8px;text-align:left;vertical-align:bottom}@media(min-width: 400px){.table__yYFbt th{font-size:14px}}.table__yYFbt tbody td{border-top:1px dotted #e6e6e6;font-size:14px;color:inherit;font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-weight:300;line-height:1.5;height:35px;white-space:nowrap}@media(min-width: 400px)and (max-width: 1023px){.table__yYFbt tbody td{font-size:calc(14px + (16 - 14) * (\\n          100vw - 400px\\n        ) / (1024 - 400))}}@media(min-width: 1024px){.table__yYFbt tbody td{font-size:16px}}.table__yYFbt tbody tr:last-of-type td{border-bottom:1px dotted #e6e6e6}.index__HmYFA{color:#777;display:inline-block;min-width:20px}.economy-col__CcFNp{padding-right:36px}.economy-col-content__rUe5b{display:flex;align-items:center}.economy-col-text__OqEiL{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:180px;padding-right:24px}.value-col-container__v9Ic3{width:100%;display:flex;align-items:center;justify-content:space-between}.value-col__A9F4Y{width:100%}.value-bar-container__fbFTd{width:100%;margin-right:18px}@media(min-width: 600px){.value-bar-container__fbFTd{margin-right:36px}}.value-bar__Kk4ij{background-color:#2251ff;height:20px;transition:width .2s cubic-bezier(0.645, 0.045, 0.355, 1);width:max(var(--width)/100*100%,2px)}.value-text__QNETL{text-align:left;margin:0;min-width:50px}@media(min-width: 600px){.value-text__QNETL{min-width:70px}}.percent-col__M1hP7{min-width:110px}@media(min-width: 600px){.list__iD4RX{display:none}}.list-row__Garyb{padding-top:12px;padding-bottom:12px;border-top:1px dotted #e6e6e6}.list-row__Garyb:last-of-type{border-bottom:1px dotted #e6e6e6}.row-title__dslGZ{font-size:14px;color:inherit;font-family:\\\"McKinsey Sans\\\",Arial,sans-serif;font-weight:300;line-height:1.2}@media(min-width: 400px)and (max-width: 1023px){.row-title__dslGZ{font-size:calc(14px + (16 - 14) * (\\n          100vw - 400px\\n        ) / (1024 - 400))}}@media(min-width: 1024px){.row-title__dslGZ{font-size:16px}}.economy-row__jQPbF{font-weight:500}.value-row__RSmjb{display:flex;align-items:center;margin-top:4px}.value-label__vXYEN{white-space:nowrap;padding-right:8px;padding-left:20px}.percent-row__gp56H{padding-left:20px;margin-top:2px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/pages/product-concentration/SuppliersChart/styles.module.scss\",\"webpack://./src/styles/mixins/_mq.scss\",\"webpack://./src/styles/mixins/_typography.scss\",\"webpack://./src/styles/variables/_typography.scss\",\"webpack://./src/styles/variables/_spacing.scss\",\"webpack://./src/styles/mixins/_fluid-size.scss\",\"webpack://./src/styles/mixins/_ellipsis.scss\",\"webpack://./src/styles/variables/_colors.scss\",\"webpack://./src/styles/mixins/_shorthander.scss\"],\"names\":[],\"mappings\":\"AAEA,cACE,UAAA,CACA,gBAAA,CACA,YAAA,CCsBE,yBDzBJ,cAMI,aAAA,CAAA,CAGF,mDAGE,SAAA,CACA,QAAA,CAGF,iBE4EA,aALQ,CAMR,cChFQ,CDiFR,4CC7FQ,CD8FR,eCvFO,CDwFP,eF/E4C,CAC1C,kBIjBS,CJkBT,eAAA,CACA,qBAAA,CCKA,yBDTF,iBEkFE,cCpFK,CAAA,CHSP,uBACE,6BAAA,CKCE,cANO,CHVX,aANQ,CAOR,4CCTQ,CDUR,eCLS,CDMT,eCcQ,CAAA,WAAA,CHCN,kBAAA,CCEA,gDDNF,uBKIM;;yBAAA,CAAA,CJFJ,0BDFF,uBKSM,cAZK,CAAA,CLUX,uCACE,gCAAA,CAIJ,cACE,UAAA,CACA,oBAAA,CACA,cAAA,CAGF,oBACE,kBIrCW,CJwCb,4BACE,YAAA,CACA,kBAAA,CAGF,yBM5CE,oBAAA,CACA,eAAA,CACA,sBAAA,CACA,kBAAA,CN2CA,WAAA,CACA,kBIjDW,CJoDb,4BACE,UAAA,CACA,YAAA,CACA,kBAAA,CACA,6BAAA,CAGF,kBACE,UAAA,CAGF,4BACE,UAAA,CACA,iBIlEW,CHsBT,yBD0CJ,4BAKI,iBInES,CAAA,CJuEb,kBACE,wBOtEc,CPuEd,WAAA,CACA,yDAAA,CACA,oCAAA,CAGF,mBACE,eAAA,CACA,QAAA,CACA,cAAA,CC7DE,yBD0DJ,mBAMI,cAAA,CAAA,CAIJ,oBACE,eAAA,CCrEE,yBDwEJ,aAEI,YAAA,CAAA,CAIJ,iBQpEM,gBAAA,CACA,mBAAA,CRqEJ,6BAAA,CAEA,8BACE,gCAAA,CAIJ,kBKvFM,cANO,CHVX,aANQ,CAOR,4CCTQ,CDUR,eCLS,CDMT,eCoBQ,CFHN,gDDmFJ,kBKrFQ;;yBAAA,CAAA,CJFJ,0BDuFJ,kBKhFQ,cAZK,CAAA,CLgGb,oBACE,eG7GO,CHgHT,kBACE,YAAA,CACA,kBAAA,CACA,cAAA,CAGF,oBACE,kBAAA,CACA,iBI/HW,CJgIX,iBAAA,CAGF,oBACE,iBAAA,CACA,cAAA\",\"sourcesContent\":[\"@import \\\"@/styles\\\";\\n\\n.table {\\n  width: 100%;\\n  border-spacing: 0;\\n  display: none;\\n\\n  @include mq($bp-tablet) {\\n    display: table;\\n  }\\n\\n  tr,\\n  th,\\n  td {\\n    padding: 0;\\n    margin: 0;\\n  }\\n\\n  th {\\n    @include tiny-text($weight: $fw-med, $lh: 1.2);\\n    padding-bottom: $spacing-xs;\\n    text-align: left;\\n    vertical-align: bottom;\\n  }\\n\\n  tbody td {\\n    border-top: 1px dotted $c-border;\\n    @include body-text;\\n    height: 35px;\\n    white-space: nowrap;\\n  }\\n\\n  tbody tr:last-of-type td {\\n    border-bottom: 1px dotted $c-border;\\n  }\\n}\\n\\n.index {\\n  color: #777777;\\n  display: inline-block;\\n  min-width: 20px;\\n}\\n\\n.economy-col {\\n  padding-right: $spacing-xl;\\n}\\n\\n.economy-col-content {\\n  display: flex;\\n  align-items: center;\\n}\\n\\n.economy-col-text {\\n  @include ellipsis;\\n  width: 180px;\\n  padding-right: $spacing-lg;\\n}\\n\\n.value-col-container {\\n  width: 100%;\\n  display: flex;\\n  align-items: center;\\n  justify-content: space-between;\\n}\\n\\n.value-col {\\n  width: 100%;\\n}\\n\\n.value-bar-container {\\n  width: 100%;\\n  margin-right: $spacing-md;\\n\\n  @include mq($bp-tablet) {\\n    margin-right: $spacing-xl;\\n  }\\n}\\n\\n.value-bar {\\n  background-color: $c-bright-blue;\\n  height: 20px;\\n  transition: width $transition;\\n  width: max(var(--width) / 100 * 100%, 2px);\\n}\\n\\n.value-text {\\n  text-align: left;\\n  margin: 0;\\n  min-width: 50px;\\n\\n  @include mq($bp-tablet) {\\n    min-width: 70px;\\n  }\\n}\\n\\n.percent-col {\\n  min-width: 110px;\\n}\\n\\n.list {\\n  @include mq($bp-tablet) {\\n    display: none;\\n  }\\n}\\n\\n.list-row {\\n  @include padding($spacing-sm x);\\n  border-top: 1px dotted $c-border;\\n\\n  &:last-of-type {\\n    border-bottom: 1px dotted $c-border;\\n  }\\n}\\n\\n.row-title {\\n  @include body-text($lh: $lh-mono);\\n}\\n\\n.economy-row {\\n  font-weight: $fw-med;\\n}\\n\\n.value-row {\\n  display: flex;\\n  align-items: center;\\n  margin-top: 4px;\\n}\\n\\n.value-label {\\n  white-space: nowrap;\\n  padding-right: $spacing-xs;\\n  padding-left: 20px;\\n}\\n\\n.percent-row {\\n  padding-left: 20px;\\n  margin-top: 2px;\\n}\\n\",\"// Write less verbose media queries.\\n// $bp-1 - breakpoint value, min-width if declaring range\\n// $bp-2 [null] - [Optional] breakpoint value, max-width if declaring range\\n//\\n// @example scss - SCSS\\n// .item-1 {\\n//    @include mq(600px, 768px) {\\n//     display: block;\\n//   }\\n// }\\n//\\n// .item-2 {\\n//   @include mq(768px) {\\n//     display: block;\\n//   }\\n// }\\n\\n@mixin mq($bp-1, $bp-2: null) {\\n  @if $bp-1 == \\\"max\\\" {\\n    @media (max-width: $bp-2 - 1) {\\n      @content;\\n    }\\n  } @else if $bp-2 == \\\"max\\\" {\\n    @media (max-width: $bp-1 - 1) {\\n      @content;\\n    }\\n  } @else if $bp-2 == null {\\n    @media (min-width: $bp-1) {\\n      @content;\\n    }\\n  } @else {\\n    @media (min-width: $bp-1) and (max-width: $bp-2 - 1) {\\n      @content;\\n    }\\n  }\\n}\\n\",\"// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// basic type mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin body-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  @include fluid-font($fs-xxs $bp-phablet, $fs-xs $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin heading-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.35\\n) {\\n  @include fluid-font($fs-sm $bp-phablet, 21px $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin dek-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.375\\n) {\\n  @include fluid-font($fs-sm $bp-phablet, $fs-md $bp-desktop);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin control-label(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: 1.25\\n) {\\n  color: $color;\\n  font-family: $font;\\n  font-size: $fs-xs;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin basic-formatting {\\n  a {\\n    @include inline-link;\\n  }\\n\\n  strong,\\n  b {\\n    font-weight: $fw-med;\\n  }\\n  em,\\n  i {\\n    font-style: italic;\\n  }\\n}\\n\\n// Since SVGs scale up with browser, reduce font size on larger screens\\n@mixin svg-label($weight: $fw-light, $has-breakout: true) {\\n  font-family: $ff-sans;\\n  font-size: $fs-md;\\n  font-weight: $weight;\\n\\n  @include mq($bp-tablet) {\\n    font-size: $fs-sm;\\n  }\\n\\n  @if ($has-breakout) {\\n    @include mq($bp-breakout-chart) {\\n      font-size: $fs-xs;\\n    }\\n  }\\n}\\n\\n@mixin tiny-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  color: $color;\\n  font-size: $fs-xxxs;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n  @include mq($bp-phablet) {\\n    font-size: $fs-xxs;\\n  }\\n}\\n\\n@mixin micro-text(\\n  $color: inherit,\\n  $font: $ff-sans,\\n  $weight: $fw-light,\\n  $lh: $lh-base\\n) {\\n  color: $color;\\n  font-size: $fs-xxxxs;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n\\n  @include mq($bp-tablet) {\\n    font-size: $fs-xxxs;\\n  }\\n  @include mq($bp-desktop) {\\n    font-size: $fs-xxs;\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// link mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin inline-link(\\n  $color: inherit,\\n  $underline: $c-bright-blue,\\n  $hover: $c-white,\\n  $active: $c-spot\\n) {\\n  border-bottom: solid 2px $underline;\\n  color: $color;\\n  cursor: pointer;\\n  padding-left: 0.125rem;\\n  padding-right: 0.125rem;\\n  text-decoration: none;\\n\\n  &:hover {\\n    background-color: $underline;\\n    border-bottom: solid 2px $underline;\\n    color: $hover;\\n  }\\n  &:focus-visible {\\n    outline: $outline;\\n  }\\n}\\n\\n@mixin inline-link-on-dark {\\n  @include inline-link($c-cyan-500, $c-cyan-500, $c-deep-blue);\\n}\\n\\n@mixin arrow-link {\\n  color: $c-black;\\n  display: inline-block;\\n  font-weight: $fw-med;\\n  text-decoration: none;\\n  transition: all 0.5s ease-out;\\n\\n  &:after {\\n    color: $c-bright-blue;\\n    content: \\\"\\\\e608\\\";\\n    display: inline;\\n    font-family: $ff-icons;\\n    font-weight: $fw-reg;\\n    font-size: inherit;\\n    padding-left: 0.5rem;\\n    padding-right: 0.75rem;\\n    transition: padding 0.4s ease-in-out;\\n    vertical-align: middle;\\n  }\\n\\n  &:hover,\\n  &:focus-visible {\\n    color: $c-bright-blue;\\n    &:after {\\n      padding-left: 1.5rem;\\n      padding-right: 0;\\n    }\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// Button mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin button($style: solid, $color: $c-text, $bg: $c-bg) {\\n  @include body-text;\\n  padding: 0.55em 1.1em;\\n  appearance: none;\\n\\n  &:focus-visible {\\n    outline: $outline;\\n  }\\n\\n  @if $style == outline {\\n    background-color: transparent;\\n    border: 1px solid $color;\\n\\n    &:hover,\\n    &:focus-visible {\\n      background-color: $color;\\n      border-color: $color;\\n      color: $bg;\\n    }\\n  } @else {\\n    background-color: $bg;\\n    color: $color;\\n    border: solid 1px transparent;\\n    &:hover,\\n    &:focus-visible {\\n      background-color: $color;\\n      border-color: $bg;\\n      color: $bg;\\n    }\\n  }\\n}\\n\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n// Heading Mixins\\n// - - - - - - - - - - - - - - - - - - - - - - - - -\\n\\n@mixin h1($color: inherit, $font: $ff-serif, $weight: $fw-med, $lh: 1) {\\n  @include fluid-font(38px 400px, $fs-xxxl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  letter-spacing: -0.03em;\\n  line-height: $lh;\\n}\\n\\n@mixin h2($color: inherit, $font: $ff-sans, $weight: $fw-med, $lh: 0.9) {\\n  @include fluid-font($fs-lg 400px, $fs-xl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\\n@mixin h3($color: inherit, $font: $ff-sans, $weight: $fw-med, $lh: 1) {\\n  @include fluid-font($fs-sm 400px, $fs-xl 1600px);\\n  color: $color;\\n  font-family: $font;\\n  font-weight: $weight;\\n  line-height: $lh;\\n}\\n\",\"// Families\\n\\n// replace with actual fonts\\n$ff-sans: \\\"McKinsey Sans\\\", Arial, sans-serif;\\n$ff-serif: Bower, Georgia, serif;\\n$ff-icons: mck-icons;\\n\\n// Weights\\n$fw-light: 300;\\n$fw-reg: 400;\\n$fw-med: 500;\\n\\n// Sizes\\n$fs-xxxxs: 9px;\\n\\n$fs-xxxs: 12px;\\n$fs-xxs: 14px;\\n$fs-xs: 16px;\\n$fs-sm: 18px;\\n$fs-md: 24px;\\n$fs-lg: 28px;\\n$fs-xl: 36px;\\n$fs-xxl: 45px;\\n$fs-xxxl: 52px;\\n$fs-xxxxl: 110px;\\n$fs-xxxxxl: 98px;\\n\\n// Line Height\\n$lh-base: 1.5;\\n$lh-med: 1.375;\\n$lh-tiny: 1;\\n$lh-small: 1;\\n$lh-smallcap: 1.25;\\n\\n$lh-mono: 1.2;\\n\",\"@use \\\"sass:math\\\";\\n\\n$spacing-xxs: 5px;\\n$spacing-xs: 8px;\\n$spacing-sm: 12px;\\n$spacing-md: 18px;\\n$spacing-lg: 24px;\\n$spacing-xl: 36px;\\n$spacing-xxl: 60px;\\n$spacing-xxxl: 100px;\\n$spacing-xxxxl: 200px;\\n\\n// Grid\\n$grid-gutter: 40px;\\n$grid-padding: math.div($grid-gutter, 2);\\n$grid-gutter-mobile: 20px;\\n$grid-padding-mobile: math.div($grid-gutter-mobile, 2);\\n\\n// Controls bar\\n$controls-bar-height-m: 65px;\\n$controls-bar-height-d: 75px;\\n\\n// Space between chart and end notes\\n$notes-spacing: $spacing-lg;\\n\",\"// - - - - - - - - - - - - - - - - - - - - - - - - - -----------------------------\\n// Fluid Font Sizing\\n//\\n// FOR:   Dynamically changing the size of type\\n//        between certain screen sizes. Think of\\n//        it as a CSS-only version of FitText\\n// REQ:   Depends on the `mq` media query mixin\\n// REF:   http://www.adrenalinmedia.com.au/blog/january-2016/this-changes-everything-css-%E2%80%98fluid-properties%E2%80%99\\n// USE:   @include fluid-size(\\n//          40px $bp__tablet--sm,\\n//          60px $bp__desktop\\n//        );\\n//\\n// - - - - - - - - - - - - - - - - - - - - - - - - - ----------------------------\\n\\n@mixin fluid-size(\\n  $properties: font-size,\\n  $tween-start: 16px 400px,\\n  $tween-end: 60px 1400px,\\n  $use-mq: true\\n) {\\n  $min-size: nth($tween-start, 1);\\n  $max-size: nth($tween-end, 1);\\n  $min-width: nth($tween-start, 2);\\n  $max-width: nth($tween-end, 2);\\n  @each $property in $properties {\\n    @if $use-mq {\\n      #{$property}: $min-size;\\n      @include mq($min-width, $max-width) {\\n        #{$property}: calc(#{$min-size} + (#{strip-units($max-size)} - #{strip-units($min-size)}) * (\\n          100vw - #{$min-width}\\n        ) / (#{strip-units($max-width)} - #{strip-units($min-width)}));\\n      }\\n      @include mq($max-width) {\\n        #{$property}: $max-size;\\n      }\\n    } @else {\\n      #{$property}: calc(#{$min-size} +\\n      (#{strip-units($max-size)} - #{strip-units($min-size)}) *\\n      (100vw - #{$min-width}) /\\n      (#{strip-units($max-width)} - #{strip-units($min-width)}));\\n    }\\n  }\\n}\\n\\n// Misin just for font size\\n@mixin fluid-font($tween-start: 16px 400px, $tween-end: 60px 1400px, $use-mq: true) {\\n  @include fluid-size(font-size, $tween-start, $tween-end, $use-mq);\\n}\\n\",\"// Truncate text with an ellipsis using CSS.\\n//\\n// .txt-box {\\n//   @include ellipsis;\\n//   width: 100%;\\n// }\\n\\n@mixin ellipsis() {\\n  display: inline-block;\\n  overflow: hidden;\\n  text-overflow: ellipsis;\\n  white-space: nowrap;\\n}\\n\",\"$c-black: #000000;\\n$c-white: #ffffff;\\n$c-gray-light: #888888;\\n$c-gray-mid: #757575;\\n$c-gray-verylight: #e6e6e6;\\n$c-gray-superlight: #e9e9e9;\\n$c-gray-dark: #333333;\\n\\n// Blues\\n$c-bright-blue: #2251ff;\\n$c-deep-blue: #051c2c;\\n$c-purple-blue: #708fff;\\n$c-light-blue: #e0e7ff;\\n$c-verylight-blue: #f2f5f9;\\n\\n// McKinsey dataviz colors\\n$c-cyan-500: #00a9f4;\\n$c-electric-blue-900: #061f79;\\n\\n// Applications\\n$c-bg: $c-white;\\n$c-border: $c-gray-verylight;\\n$c-border-on-dark: rgba($c-white, 0.2);\\n$c-gray-text: $c-gray-mid;\\n$c-rule: $c-black;\\n$c-spot: $c-bright-blue;\\n$c-text: $c-black;\\n$c-outline: $c-purple-blue;\\n\",\"// Shorthand method for common multi-value declarations such as absolute, padding, and margin. Can also be used as the basis to create new multi-value declarations that we haven't conceived.\\n//\\n// @name shorthander\\n// $position - Takes name of attribute: margin, padding, absolute, fixed, relative, static.\\n// $value - Takes 1-4 values, following convention of traditional CSS shorthand properties for margin, padding, etc. One notable improvement: You can use the shorthand and still leave some values blank. Do so by placing an 'n' in place of any numeral.\\n//\\n// @example scss - SCSS\\n// .item {\\n//   @include absolute(0 0 0 0);\\n//   //@include relative(0 0 0 0);\\n//   //@include fixed(0 0 0 0);\\n//   //@include padding(0 0 0 0);\\n//   //@include margin(0 0 0 0);\\n// }\\n\\n@mixin shorthander($position, $value) {\\n  $position-prefix: '';\\n\\n  @if $position == 'margin' or $position == 'padding' {\\n    $position-prefix: $position + '-';\\n  } @else if $position == 'null' {\\n    // do nothing\\n  } @else {\\n    position: $position;\\n  }\\n\\n  @if length($value) == 1 and $value != 'n' and $value != 'x' and $value != 'null' {\\n    #{$position-prefix}top: auto($value);\\n    #{$position-prefix}right: auto($value);\\n    #{$position-prefix}bottom: auto($value);\\n    #{$position-prefix}left: auto($value);\\n  }\\n\\n  @if length($value) == 2 {\\n    $value-y: nth($value, 1);\\n    $value-x: nth($value, 2);\\n    @if $value-y != 'n' and $value-y != 'x' and $value-y != 'null' {\\n      #{$position-prefix}top: auto($value-y);\\n      #{$position-prefix}bottom: auto($value-y);\\n    }\\n    @if $value-x != 'n' and $value-x != 'x' and $value-x != 'null' {\\n      #{$position-prefix}left: auto($value-x);\\n      #{$position-prefix}right: auto($value-x);\\n    }\\n  }\\n\\n  @if length($value) == 3 {\\n    $value-y-top: nth($value, 1);\\n    $value-x: nth($value, 2);\\n    $value-y-bottom: nth($value, 3);\\n\\n    @if $value-y-top != 'n' and $value-y-top != 'x' and $value-y-top != 'null' {\\n      #{$position-prefix}top: auto($value-y-top);\\n    }\\n    @if $value-x != 'n' and $value-x != 'x' and $value-x != 'null' {\\n      #{$position-prefix}right: auto($value-x);\\n      #{$position-prefix}left: auto($value-x);\\n    }\\n    @if $value-y-bottom != 'n' and $value-y-bottom != 'x' and $value-y-bottom != 'null' {\\n      #{$position-prefix}bottom: auto($value-y-bottom);\\n    }\\n  }\\n\\n  @if length($value) == 4 {\\n    $value-top: nth($value, 1);\\n    $value-right: nth($value, 2);\\n    $value-bottom: nth($value, 3);\\n    $value-left: nth($value, 4);\\n\\n    @if $value-top != 'n' and $value-top != 'x' and $value-top != 'null' {\\n      #{$position-prefix}top: auto($value-top);\\n    }\\n    @if $value-right != 'n' and $value-right != 'x' and $value-right != 'null' {\\n      #{$position-prefix}right: auto($value-right);\\n    }\\n    @if $value-bottom != 'n' and $value-bottom != 'x' and $value-bottom != 'null' {\\n      #{$position-prefix}bottom: auto($value-bottom);\\n    }\\n    @if $value-left != 'n' and $value-left != 'x' and $value-left != 'null' {\\n      #{$position-prefix}left: auto($value-left);\\n    }\\n  }\\n}\\n\\n// Absolute\\n@mixin absolute($value) {\\n  @include shorthander(absolute, $value);\\n}\\n\\n// Fixed\\n@mixin fixed($value) {\\n  @include shorthander(fixed, $value);\\n}\\n\\n// Sticky\\n@mixin sticky($value) {\\n  @include shorthander(sticky, $value);\\n}\\n\\n// Relative\\n@mixin relative($value) {\\n  @include shorthander(relative, $value);\\n}\\n\\n// Padding\\n@mixin padding($value) {\\n  @include shorthander(padding, $value);\\n}\\n\\n// Margin\\n@mixin margin($value) {\\n  @include shorthander(margin, $value);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"table\": \"table__yYFbt\",\n\t\"index\": \"index__HmYFA\",\n\t\"economy-col\": \"economy-col__CcFNp\",\n\t\"economy-col-content\": \"economy-col-content__rUe5b\",\n\t\"economy-col-text\": \"economy-col-text__OqEiL\",\n\t\"value-col-container\": \"value-col-container__v9Ic3\",\n\t\"value-col\": \"value-col__A9F4Y\",\n\t\"value-bar-container\": \"value-bar-container__fbFTd\",\n\t\"value-bar\": \"value-bar__Kk4ij\",\n\t\"value-text\": \"value-text__QNETL\",\n\t\"percent-col\": \"percent-col__M1hP7\",\n\t\"list\": \"list__iD4RX\",\n\t\"list-row\": \"list-row__Garyb\",\n\t\"row-title\": \"row-title__dslGZ\",\n\t\"economy-row\": \"economy-row__jQPbF\",\n\t\"value-row\": \"value-row__RSmjb\",\n\t\"value-label\": \"value-label__vXYEN\",\n\t\"percent-row\": \"percent-row__gp56H\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".bubble-chart-wrap__b2TvN{margin-bottom:36px}@media(min-width: 1200px){.bubble-chart-wrap__b2TvN{margin-bottom:60px}}.notes-container__vCxV4{padding-top:24px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/pages/product-concentration/styles.module.scss\",\"webpack://./src/styles/mixins/_layout.scss\",\"webpack://./src/styles/variables/_spacing.scss\",\"webpack://./src/styles/mixins/_mq.scss\"],\"names\":[],\"mappings\":\"AAEA,0BC6BE,kBCxBW,CCoBT,0BHzBJ,0BC+BI,kBCzBU,CAAA,CFFd,wBACE,gBEDW\",\"sourcesContent\":[\"@import \\\"@/styles\\\";\\n\\n.bubble-chart-wrap {\\n  @include chart-spacing;\\n}\\n\\n.notes-container {\\n  padding-top: $notes-spacing;\\n}\\n\",\"@use \\\"sass:math\\\";\\n\\n@mixin site-pad($param: horiz) {\\n  // Keywords for horiz/vert/both\\n  @if ($param == horiz or $param == both) {\\n    @include padding(x $grid-gutter-mobile);\\n    @include mq($bp-larger-gutters) {\\n      @include padding(x $grid-gutter);\\n    }\\n  }\\n  @if ($param == vert or $param == both) {\\n    @include padding($grid-gutter-mobile x);\\n    @include mq($bp-larger-gutters) {\\n      @include padding($grid-gutter x);\\n    }\\n  }\\n\\n  @if ($param != horiz and $param != vert and $param != both) {\\n    // Otherwise param is property name\\n    #{$param}: $grid-gutter-mobile;\\n    @include mq($bp-larger-gutters) {\\n      #{$param}: $grid-gutter;\\n    }\\n  }\\n}\\n\\n@mixin gap {\\n  @include site-pad(gap);\\n}\\n\\n@mixin chart-spacing {\\n  margin-bottom: $spacing-xl;\\n  @include mq($bp-desktop-xl) {\\n    margin-bottom: $spacing-xxl;\\n  }\\n}\\n\\n// On wider screens, break the SVG out of the container so axes labels and tooltips can hang in the left/right margins\\n@mixin chart-breakout($width, $left-val, $right-val, $bp: 1600px) {\\n  $left-pc: math.div($left-val, $width) * 100%;\\n  $right-pc: math.div($right-val, $width) * 100%;\\n\\n  svg {\\n    @include mq($bp) {\\n      margin-left: -#{$left-pc};\\n      margin-right: -#{$right-pc};\\n      width: 100% + $left-pc + $right-pc;\\n    }\\n  }\\n}\\n\",\"@use \\\"sass:math\\\";\\n\\n$spacing-xxs: 5px;\\n$spacing-xs: 8px;\\n$spacing-sm: 12px;\\n$spacing-md: 18px;\\n$spacing-lg: 24px;\\n$spacing-xl: 36px;\\n$spacing-xxl: 60px;\\n$spacing-xxxl: 100px;\\n$spacing-xxxxl: 200px;\\n\\n// Grid\\n$grid-gutter: 40px;\\n$grid-padding: math.div($grid-gutter, 2);\\n$grid-gutter-mobile: 20px;\\n$grid-padding-mobile: math.div($grid-gutter-mobile, 2);\\n\\n// Controls bar\\n$controls-bar-height-m: 65px;\\n$controls-bar-height-d: 75px;\\n\\n// Space between chart and end notes\\n$notes-spacing: $spacing-lg;\\n\",\"// Write less verbose media queries.\\n// $bp-1 - breakpoint value, min-width if declaring range\\n// $bp-2 [null] - [Optional] breakpoint value, max-width if declaring range\\n//\\n// @example scss - SCSS\\n// .item-1 {\\n//    @include mq(600px, 768px) {\\n//     display: block;\\n//   }\\n// }\\n//\\n// .item-2 {\\n//   @include mq(768px) {\\n//     display: block;\\n//   }\\n// }\\n\\n@mixin mq($bp-1, $bp-2: null) {\\n  @if $bp-1 == \\\"max\\\" {\\n    @media (max-width: $bp-2 - 1) {\\n      @content;\\n    }\\n  } @else if $bp-2 == \\\"max\\\" {\\n    @media (max-width: $bp-1 - 1) {\\n      @content;\\n    }\\n  } @else if $bp-2 == null {\\n    @media (min-width: $bp-1) {\\n      @content;\\n    }\\n  } @else {\\n    @media (min-width: $bp-1) and (max-width: $bp-2 - 1) {\\n      @content;\\n    }\\n  }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"bubble-chart-wrap\": \"bubble-chart-wrap__b2TvN\",\n\t\"notes-container\": \"notes-container__vCxV4\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = [];\n\n  // return the list of modules as css string\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n      content += cssWithMappingToString(item);\n      if (needLayer) {\n        content += \"}\";\n      }\n      if (item[2]) {\n        content += \"}\";\n      }\n      if (item[4]) {\n        content += \"}\";\n      }\n      return content;\n    }).join(\"\");\n  };\n\n  // import a list of modules into the list\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n    var alreadyImportedModules = {};\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n      list.push(item);\n    }\n  };\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n  var content = item[1];\n  var cssMapping = item[3];\n  if (!cssMapping) {\n    return content;\n  }\n  if (typeof btoa === \"function\") {\n    var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n    var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n    var sourceMapping = \"/*# \".concat(data, \" */\");\n    return [content].concat([sourceMapping]).join(\"\\n\");\n  }\n  return [content].join(\"\\n\");\n};","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var da=new Set,ea={};function fa(a,b){ha(a,b);ha(a+\"Capture\",b)}\nfunction ha(a,b){ea[a]=b;for(a=0;a<b.length;a++)da.add(b[a])}\nvar ia=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,la=\n{},ma={};function oa(a){if(ja.call(ma,a))return!0;if(ja.call(la,a))return!1;if(ka.test(a))return ma[a]=!0;la[a]=!0;return!1}function pa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction qa(a,b,c,d){if(null===b||\"undefined\"===typeof b||pa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1])qa(b,c,e,d)&&(c=null),d||null===e?oa(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c)))}\nvar ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for(\"react.element\"),wa=Symbol.for(\"react.portal\"),ya=Symbol.for(\"react.fragment\"),za=Symbol.for(\"react.strict_mode\"),Aa=Symbol.for(\"react.profiler\"),Ba=Symbol.for(\"react.provider\"),Ca=Symbol.for(\"react.context\"),Da=Symbol.for(\"react.forward_ref\"),Ea=Symbol.for(\"react.suspense\"),Fa=Symbol.for(\"react.suspense_list\"),Ga=Symbol.for(\"react.memo\"),Ha=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");Symbol.for(\"react.debug_trace_mode\");\nvar Ia=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\");Symbol.for(\"react.cache\");Symbol.for(\"react.tracing_marker\");var Ja=Symbol.iterator;function Ka(a){if(null===a||\"object\"!==typeof a)return null;a=Ja&&a[Ja]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var A=Object.assign,La;function Ma(a){if(void 0===La)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||\"\"}return\"\\n\"+La+a}var Na=!1;\nfunction Oa(a,b){if(!a||Na)return\"\";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error();}catch(l){d=l}a()}}catch(l){if(l&&d&&\"string\"===typeof l.stack){for(var e=l.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"<anonymous>\")&&(k=k.replace(\"<anonymous>\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(p(91));return A({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(p(92));if(eb(c)){if(1<c.length)throw Error(p(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}function kb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}\nfunction lb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?kb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar mb,nb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(\"http://www.w3.org/2000/svg\"!==a.namespaceURI||\"innerHTML\"in a)a.innerHTML=b;else{mb=mb||document.createElement(\"div\");mb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(){}var Ib=!1;function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finally{if(Ib=!1,null!==zb||null!==Ab)Hb(),Fb()}}\nfunction Kb(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(p(231,b,typeof c));return c}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,\"passive\",{get:function(){Lb=!0}});window.addEventListener(\"test\",Mb,Mb);window.removeEventListener(\"test\",Mb,Mb)}catch(a){Lb=!1}function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(a){Ob=!0;Pb=a}};function Tb(a,b,c,d,e,f,g,h,k){Ob=!1;Pb=null;Nb.apply(Sb,arguments)}\nfunction Ub(a,b,c,d,e,f,g,h,k){Tb.apply(this,arguments);if(Ob){if(Ob){var l=Pb;Ob=!1;Pb=null}else throw Error(p(198));Qb||(Qb=!0,Rb=l)}}function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&4098)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Wb(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Xb(a){if(Vb(a)!==a)throw Error(p(188));}\nfunction Yb(a){var b=a.alternate;if(!b){b=Vb(a);if(null===b)throw Error(p(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Xb(e),a;if(f===d)return Xb(e),b;f=f.sibling}throw Error(p(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(p(189));}}if(c.alternate!==d)throw Error(p(190));}if(3!==c.tag)throw Error(p(188));return c.stateNode.current===c?a:b}function Zb(a){a=Yb(a);return null!==a?$b(a):null}function $b(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;){var b=$b(a);if(null!==b)return b;a=a.sibling}return null}\nvar ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(a){if(lc&&\"function\"===typeof lc.onCommitFiberRoot)try{lc.onCommitFiberRoot(kc,a,void 0,128===(a.current.flags&128))}catch(b){}}\nvar oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(a){a>>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-oc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction vc(a,b){switch(a){case 1:case 2:case 4:return b+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return b+5E3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}\nfunction wc(a,b){for(var c=a.suspendedLanes,d=a.pingedLanes,e=a.expirationTimes,f=a.pendingLanes;0<f;){var g=31-oc(f),h=1<<g,k=e[g];if(-1===k){if(0===(h&c)||0!==(h&d))e[g]=vc(h,b)}else k<=b&&(a.expiredLanes|=h);f&=~h}}function xc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function yc(){var a=rc;rc<<=1;0===(rc&4194240)&&(rc=64);return a}function zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0<c;){var e=31-oc(c),f=1<<e;b[e]=0;d[e]=-1;a[e]=-1;c&=~f}}\nfunction Cc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var d=31-oc(c),e=1<<d;e&b|a[d]&b&&(a[d]|=b);c&=~e}}var C=0;function Dc(a){a&=-a;return 1<a?4<a?0!==(a&268435455)?16:536870912:4:1}var Ec,Fc,Gc,Hc,Ic,Jc=!1,Kc=[],Lc=null,Mc=null,Nc=null,Oc=new Map,Pc=new Map,Qc=[],Rc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction Sc(a,b){switch(a){case \"focusin\":case \"focusout\":Lc=null;break;case \"dragenter\":case \"dragleave\":Mc=null;break;case \"mouseover\":case \"mouseout\":Nc=null;break;case \"pointerover\":case \"pointerout\":Oc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Pc.delete(b.pointerId)}}\nfunction Tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a={blockedOn:b,domEventName:c,eventSystemFlags:d,nativeEvent:f,targetContainers:[e]},null!==b&&(b=Cb(b),null!==b&&Fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction Uc(a,b,c,d,e){switch(b){case \"focusin\":return Lc=Tc(Lc,a,b,c,d,e),!0;case \"dragenter\":return Mc=Tc(Mc,a,b,c,d,e),!0;case \"mouseover\":return Nc=Tc(Nc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Oc.set(f,Tc(Oc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Pc.set(f,Tc(Pc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Vc(a){var b=Wc(a.target);if(null!==b){var c=Vb(b);if(null!==c)if(b=c.tag,13===b){if(b=Wb(c),null!==b){a.blockedOn=b;Ic(a.priority,function(){Gc(c)});return}}else if(3===b&&c.stateNode.current.memoizedState.isDehydrated){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction Xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=Yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null===c){c=a.nativeEvent;var d=new c.constructor(c.type,c);wb=d;c.target.dispatchEvent(d);wb=null}else return b=Cb(c),null!==b&&Fc(b),a.blockedOn=c,!1;b.shift()}return!0}function Zc(a,b,c){Xc(a)&&c.delete(b)}function $c(){Jc=!1;null!==Lc&&Xc(Lc)&&(Lc=null);null!==Mc&&Xc(Mc)&&(Mc=null);null!==Nc&&Xc(Nc)&&(Nc=null);Oc.forEach(Zc);Pc.forEach(Zc)}\nfunction ad(a,b){a.blockedOn===b&&(a.blockedOn=null,Jc||(Jc=!0,ca.unstable_scheduleCallback(ca.unstable_NormalPriority,$c)))}\nfunction bd(a){function b(b){return ad(b,a)}if(0<Kc.length){ad(Kc[0],a);for(var c=1;c<Kc.length;c++){var d=Kc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Lc&&ad(Lc,a);null!==Mc&&ad(Mc,a);null!==Nc&&ad(Nc,a);Oc.forEach(b);Pc.forEach(b);for(c=0;c<Qc.length;c++)d=Qc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Qc.length&&(c=Qc[0],null===c.blockedOn);)Vc(c),null===c.blockedOn&&Qc.shift()}var cd=ua.ReactCurrentBatchConfig,dd=!0;\nfunction ed(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=1,fd(a,b,c,d)}finally{C=e,cd.transition=f}}function gd(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=4,fd(a,b,c,d)}finally{C=e,cd.transition=f}}\nfunction fd(a,b,c,d){if(dd){var e=Yc(a,b,c,d);if(null===e)hd(a,b,d,id,c),Sc(a,d);else if(Uc(e,a,b,c,d))d.stopPropagation();else if(Sc(a,d),b&4&&-1<Rc.indexOf(a)){for(;null!==e;){var f=Cb(e);null!==f&&Ec(f);f=Yc(a,b,c,d);null===f&&hd(a,b,d,id,c);if(f===e)break;e=f}null!==e&&d.stopPropagation()}else hd(a,b,d,null,c)}}var id=null;\nfunction Yc(a,b,c,d){id=null;a=xb(d);a=Wc(a);if(null!==a)if(b=Vb(a),null===b)a=null;else if(c=b.tag,13===c){a=Wb(b);if(null!==a)return a;a=null}else if(3===c){if(b.stateNode.current.memoizedState.isDehydrated)return 3===b.tag?b.stateNode.containerInfo:null;a=null}else b!==a&&(a=null);id=a;return null}\nfunction jd(a){switch(a){case \"cancel\":case \"click\":case \"close\":case \"contextmenu\":case \"copy\":case \"cut\":case \"auxclick\":case \"dblclick\":case \"dragend\":case \"dragstart\":case \"drop\":case \"focusin\":case \"focusout\":case \"input\":case \"invalid\":case \"keydown\":case \"keypress\":case \"keyup\":case \"mousedown\":case \"mouseup\":case \"paste\":case \"pause\":case \"play\":case \"pointercancel\":case \"pointerdown\":case \"pointerup\":case \"ratechange\":case \"reset\":case \"resize\":case \"seeked\":case \"submit\":case \"touchcancel\":case \"touchend\":case \"touchstart\":case \"volumechange\":case \"change\":case \"selectionchange\":case \"textInput\":case \"compositionstart\":case \"compositionend\":case \"compositionupdate\":case \"beforeblur\":case \"afterblur\":case \"beforeinput\":case \"blur\":case \"fullscreenchange\":case \"focus\":case \"hashchange\":case \"popstate\":case \"select\":case \"selectstart\":return 1;case \"drag\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"mousemove\":case \"mouseout\":case \"mouseover\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"scroll\":case \"toggle\":case \"touchmove\":case \"wheel\":case \"mouseenter\":case \"mouseleave\":case \"pointerenter\":case \"pointerleave\":return 4;\ncase \"message\":switch(ec()){case fc:return 1;case gc:return 4;case hc:case ic:return 16;case jc:return 536870912;default:return 16}default:return 16}}var kd=null,ld=null,md=null;function nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}\nfunction od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}A(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=A({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=A({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=A({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=A({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=A({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=A({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=A({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=A({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=A({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=A({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=A({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=A({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=ia&&\"CompositionEvent\"in window,be=null;ia&&\"documentMode\"in document&&(be=document.documentMode);var ce=ia&&\"TextEvent\"in window&&!be,de=ia&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(ia){var xe;if(ia){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));Jb(re,b)}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge;\nfunction Ie(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){var e=c[d];if(!ja.call(b,e)||!He(a[e],b[e]))return!1}return!0}function Je(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ke(a,b){var c=Je(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}\nvar Pe=ia&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nfunction Ve(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var We={animationend:Ve(\"Animation\",\"AnimationEnd\"),animationiteration:Ve(\"Animation\",\"AnimationIteration\"),animationstart:Ve(\"Animation\",\"AnimationStart\"),transitionend:Ve(\"Transition\",\"TransitionEnd\")},Xe={},Ye={};\nia&&(Ye=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),\"TransitionEvent\"in window||delete We.transitionend.transition);function Ze(a){if(Xe[a])return Xe[a];if(!We[a])return a;var b=We[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Ye)return Xe[a]=b[c];return a}var $e=Ze(\"animationend\"),af=Ze(\"animationiteration\"),bf=Ze(\"animationstart\"),cf=Ze(\"transitionend\"),df=new Map,ef=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");\nfunction ff(a,b){df.set(a,b);fa(b,[a])}for(var gf=0;gf<ef.length;gf++){var hf=ef[gf],jf=hf.toLowerCase(),kf=hf[0].toUpperCase()+hf.slice(1);ff(jf,\"on\"+kf)}ff($e,\"onAnimationEnd\");ff(af,\"onAnimationIteration\");ff(bf,\"onAnimationStart\");ff(\"dblclick\",\"onDoubleClick\");ff(\"focusin\",\"onFocus\");ff(\"focusout\",\"onBlur\");ff(cf,\"onTransitionEnd\");ha(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);ha(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ha(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);\nha(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);fa(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));fa(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));fa(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);fa(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));fa(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var lf=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),mf=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(lf));\nfunction nf(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Ub(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}}}if(Qb)throw a=Rb,Qb=!1,Rb=null,a;}\nfunction D(a,b){var c=b[of];void 0===c&&(c=b[of]=new Set);var d=a+\"__bubble\";c.has(d)||(pf(b,a,2,!1),c.add(d))}function qf(a,b,c){var d=0;b&&(d|=4);pf(c,a,d,b)}var rf=\"_reactListening\"+Math.random().toString(36).slice(2);function sf(a){if(!a[rf]){a[rf]=!0;da.forEach(function(b){\"selectionchange\"!==b&&(mf.has(b)||qf(b,!1,a),qf(b,!0,a))});var b=9===a.nodeType?a:a.ownerDocument;null===b||b[rf]||(b[rf]=!0,qf(\"selectionchange\",!1,b))}}\nfunction pf(a,b,c,d){switch(jd(b)){case 1:var e=ed;break;case 4:e=gd;break;default:e=fd}c=e.bind(null,b,c,a);e=void 0;!Lb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction hd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=Wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Jb(function(){var d=f,e=xb(c),g=[];\na:{var h=df.get(a);if(void 0!==h){var k=td,n=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":n=\"focus\";k=Fd;break;case \"focusout\":n=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case $e:case af:case bf:k=Hd;break;case cf:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var t=0!==(b&4),J=!t&&\"scroll\"===a,x=t?null!==h?h+\"Capture\":null:h;t=[];for(var w=d,u;null!==\nw;){u=w;var F=u.stateNode;5===u.tag&&null!==F&&(u=F,null!==x&&(F=Kb(w,x),null!=F&&t.push(tf(w,F,u))));if(J)break;w=w.return}0<t.length&&(h=new k(h,n,null,c,e),g.push({event:h,listeners:t}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&c!==wb&&(n=c.relatedTarget||c.fromElement)&&(Wc(n)||n[uf]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(n=c.relatedTarget||c.toElement,k=d,n=n?Wc(n):null,null!==\nn&&(J=Vb(n),n!==J||5!==n.tag&&6!==n.tag))n=null}else k=null,n=d;if(k!==n){t=Bd;F=\"onMouseLeave\";x=\"onMouseEnter\";w=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)t=Td,F=\"onPointerLeave\",x=\"onPointerEnter\",w=\"pointer\";J=null==k?h:ue(k);u=null==n?h:ue(n);h=new t(F,w+\"leave\",k,c,e);h.target=J;h.relatedTarget=u;F=null;Wc(e)===d&&(t=new t(x,w+\"enter\",n,c,e),t.target=u,t.relatedTarget=J,F=t);J=F;if(k&&n)b:{t=k;x=n;w=0;for(u=t;u;u=vf(u))w++;u=0;for(F=x;F;F=vf(F))u++;for(;0<w-u;)t=vf(t),w--;for(;0<u-w;)x=\nvf(x),u--;for(;w--;){if(t===x||null!==x&&t===x.alternate)break b;t=vf(t);x=vf(x)}t=null}else t=null;null!==k&&wf(g,h,k,t,!1);null!==n&&null!==J&&wf(g,J,n,t,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var na=ve;else if(me(h))if(we)na=Fe;else{na=De;var xa=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(na=Ee);if(na&&(na=na(a,d))){ne(g,na,c,e);break a}xa&&xa(a,h,d);\"focusout\"===a&&(xa=h._wrapperState)&&\nxa.controlled&&\"number\"===h.type&&cb(h,\"number\",h.value)}xa=d?ue(d):window;switch(a){case \"focusin\":if(me(xa)||\"true\"===xa.contentEditable)Qe=xa,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var $a;if(ae)b:{switch(a){case \"compositionstart\":var ba=\"onCompositionStart\";break b;case \"compositionend\":ba=\"onCompositionEnd\";\nbreak b;case \"compositionupdate\":ba=\"onCompositionUpdate\";break b}ba=void 0}else ie?ge(a,c)&&(ba=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(ba=\"onCompositionStart\");ba&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==ba?\"onCompositionEnd\"===ba&&ie&&($a=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),xa=oe(d,ba),0<xa.length&&(ba=new Ld(ba,a,null,c,e),g.push({event:ba,listeners:xa}),$a?ba.data=$a:($a=he(c),null!==$a&&(ba.data=$a))));if($a=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),\n0<d.length&&(e=new Ld(\"onBeforeInput\",\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=$a)}se(g,b)})}function tf(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Kb(a,c),null!=f&&d.unshift(tf(a,f,e)),f=Kb(a,b),null!=f&&d.push(tf(a,f,e)));a=a.return}return d}function vf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction wf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Kb(c,f),null!=k&&g.unshift(tf(c,k,h))):e||(k=Kb(c,f),null!=k&&g.push(tf(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}var xf=/\\r\\n?/g,yf=/\\u0000|\\uFFFD/g;function zf(a){return(\"string\"===typeof a?a:\"\"+a).replace(xf,\"\\n\").replace(yf,\"\")}function Af(a,b,c){b=zf(b);if(zf(a)!==b&&c)throw Error(p(425));}function Bf(){}\nvar Cf=null,Df=null;function Ef(a,b){return\"textarea\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}\nvar Ff=\"function\"===typeof setTimeout?setTimeout:void 0,Gf=\"function\"===typeof clearTimeout?clearTimeout:void 0,Hf=\"function\"===typeof Promise?Promise:void 0,Jf=\"function\"===typeof queueMicrotask?queueMicrotask:\"undefined\"!==typeof Hf?function(a){return Hf.resolve(null).then(a).catch(If)}:Ff;function If(a){setTimeout(function(){throw a;})}\nfunction Kf(a,b){var c=b,d=0;do{var e=c.nextSibling;a.removeChild(c);if(e&&8===e.nodeType)if(c=e.data,\"/$\"===c){if(0===d){a.removeChild(e);bd(b);return}d--}else\"$\"!==c&&\"$?\"!==c&&\"$!\"!==c||d++;c=e}while(c);bd(b)}function Lf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break;if(8===b){b=a.data;if(\"$\"===b||\"$!\"===b||\"$?\"===b)break;if(\"/$\"===b)return null}}return a}\nfunction Mf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var Nf=Math.random().toString(36).slice(2),Of=\"__reactFiber$\"+Nf,Pf=\"__reactProps$\"+Nf,uf=\"__reactContainer$\"+Nf,of=\"__reactEvents$\"+Nf,Qf=\"__reactListeners$\"+Nf,Rf=\"__reactHandles$\"+Nf;\nfunction Wc(a){var b=a[Of];if(b)return b;for(var c=a.parentNode;c;){if(b=c[uf]||c[Of]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Mf(a);null!==a;){if(c=a[Of])return c;a=Mf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[Of]||a[uf];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(p(33));}function Db(a){return a[Pf]||null}var Sf=[],Tf=-1;function Uf(a){return{current:a}}\nfunction E(a){0>Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a<c.length;a++){var d=c[a];do d=d(!0);while(null!==d)}eg=null;fg=!1}catch(e){throw null!==eg&&(eg=eg.slice(a+1)),ac(fc,jg),e;}finally{C=b,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg=\"\";function tg(a,b){kg[lg++]=ng;kg[lg++]=mg;mg=a;ng=b}\nfunction ug(a,b,c){og[pg++]=rg;og[pg++]=sg;og[pg++]=qg;qg=a;var d=rg;a=sg;var e=32-oc(d)-1;d&=~(1<<e);c+=1;var f=32-oc(b)+e;if(30<f){var g=e-e%5;f=(d&(1<<g)-1).toString(32);d>>=g;e-=g;rg=1<<32-oc(b)+e|c<<e|d;sg=f+a}else rg=1<<f|c<<e|d,sg=a}function vg(a){null!==a.return&&(tg(a,1),ug(a,1,0))}function wg(a){for(;a===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;a===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;\nfunction Ag(a,b){var c=Bg(5,null,null,0);c.elementType=\"DELETED\";c.stateNode=b;c.return=a;b=a.deletions;null===b?(a.deletions=[c],a.flags|=16):b.push(c)}\nfunction Cg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,xg=a,yg=Lf(b.firstChild),!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,xg=a,yg=null,!0):!1;case 13:return b=8!==b.nodeType?null:b,null!==b?(c=null!==qg?{id:rg,overflow:sg}:null,a.memoizedState={dehydrated:b,treeContext:c,retryLane:1073741824},c=Bg(18,null,null,0),c.stateNode=b,c.return=a,a.child=c,xg=a,yg=\nnull,!0):!1;default:return!1}}function Dg(a){return 0!==(a.mode&1)&&0===(a.flags&128)}function Eg(a){if(I){var b=yg;if(b){var c=b;if(!Cg(a,b)){if(Dg(a))throw Error(p(418));b=Lf(c.nextSibling);var d=xg;b&&Cg(a,b)?Ag(d,c):(a.flags=a.flags&-4097|2,I=!1,xg=a)}}else{if(Dg(a))throw Error(p(418));a.flags=a.flags&-4097|2;I=!1;xg=a}}}function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;xg=a}\nfunction Gg(a){if(a!==xg)return!1;if(!I)return Fg(a),I=!0,!1;var b;(b=3!==a.tag)&&!(b=5!==a.tag)&&(b=a.type,b=\"head\"!==b&&\"body\"!==b&&!Ef(a.type,a.memoizedProps));if(b&&(b=yg)){if(Dg(a))throw Hg(),Error(p(418));for(;b;)Ag(a,b),b=Lf(b.nextSibling)}Fg(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(p(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){yg=Lf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}yg=\nnull}}else yg=xg?Lf(a.stateNode.nextSibling):null;return!0}function Hg(){for(var a=yg;a;)a=Lf(a.nextSibling)}function Ig(){yg=xg=null;I=!1}function Jg(a){null===zg?zg=[a]:zg.push(a)}var Kg=ua.ReactCurrentBatchConfig;function Lg(a,b){if(a&&a.defaultProps){b=A({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}var Mg=Uf(null),Ng=null,Og=null,Pg=null;function Qg(){Pg=Og=Ng=null}function Rg(a){var b=Mg.current;E(Mg);a._currentValue=b}\nfunction Sg(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}function Tg(a,b){Ng=a;Pg=Og=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(Ug=!0),a.firstContext=null)}\nfunction Vg(a){var b=a._currentValue;if(Pg!==a)if(a={context:a,memoizedValue:b,next:null},null===Og){if(null===Ng)throw Error(p(308));Og=a;Ng.dependencies={lanes:0,firstContext:a}}else Og=Og.next=a;return b}var Wg=null;function Xg(a){null===Wg?Wg=[a]:Wg.push(a)}function Yg(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,Xg(b)):(c.next=e.next,e.next=c);b.interleaved=c;return Zg(a,d)}\nfunction Zg(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var $g=!1;function ah(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction bh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function ch(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction dh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return Zg(a,c)}e=d.interleaved;null===e?(b.next=b,Xg(d)):(b.next=e.next,e.next=b);d.interleaved=b;return Zg(a,c)}function eh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction fh(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction gh(a,b,c,d){var e=a.updateQueue;$g=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:$g=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);hh|=g;a.lanes=g;a.memoizedState=q}}\nfunction ih(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(p(191,e));e.call(d)}}}var jh=(new aa.Component).refs;function kh(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:A({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar nh={isMounted:function(a){return(a=a._reactInternals)?Vb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=L(),e=lh(a),f=ch(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=dh(a,f,e);null!==b&&(mh(b,a,e,d),eh(b,a,e))},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=L(),e=lh(a),f=ch(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=dh(a,f,e);null!==b&&(mh(b,a,e,d),eh(b,a,e))},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=L(),d=\nlh(a),e=ch(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);b=dh(a,e,d);null!==b&&(mh(b,a,d,c),eh(b,a,d))}};function oh(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Ie(c,d)||!Ie(e,f):!0}\nfunction ph(a,b,c){var d=!1,e=Vf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=Vg(f):(e=Zf(b)?Xf:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Yf(a,e):Vf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=nh;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction qh(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&nh.enqueueReplaceState(b,b.state,null)}\nfunction rh(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=jh;ah(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=Vg(f):(f=Zf(b)?Xf:H.current,e.context=Yf(a,f));e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(kh(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||(b=e.state,\n\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&nh.enqueueReplaceState(e,e.state,null),gh(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4194308)}\nfunction sh(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(p(309));var d=c.stateNode}if(!d)throw Error(p(147,a));var e=d,f=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===f)return b.ref;b=function(a){var b=e.refs;b===jh&&(b=e.refs={});null===a?delete b[f]:b[f]=a};b._stringRef=f;return b}if(\"string\"!==typeof a)throw Error(p(284));if(!c._owner)throw Error(p(290,a));}return a}\nfunction th(a,b){a=Object.prototype.toString.call(b);throw Error(p(31,\"[object Object]\"===a?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":a));}function uh(a){var b=a._init;return b(a._payload)}\nfunction vh(a){function b(b,c){if(a){var d=b.deletions;null===d?(b.deletions=[c],b.flags|=16):d.push(c)}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=wh(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return b.flags|=1048576,c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags|=2,c):d;b.flags|=2;return c}function g(b){a&&\nnull===b.alternate&&(b.flags|=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=xh(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){var f=c.type;if(f===ya)return m(a,b,c.props.children,d,c.key);if(null!==b&&(b.elementType===f||\"object\"===typeof f&&null!==f&&f.$$typeof===Ha&&uh(f)===b.type))return d=e(b,c.props),d.ref=sh(a,b,c),d.return=a,d;d=yh(c.type,c.key,c.props,null,a.mode,d);d.ref=sh(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||\nb.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=zh(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Ah(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function q(a,b,c){if(\"string\"===typeof b&&\"\"!==b||\"number\"===typeof b)return b=xh(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case va:return c=yh(b.type,b.key,b.props,null,a.mode,c),\nc.ref=sh(a,null,b),c.return=a,c;case wa:return b=zh(b,a.mode,c),b.return=a,b;case Ha:var d=b._init;return q(a,d(b._payload),c)}if(eb(b)||Ka(b))return b=Ah(b,a.mode,c,null),b.return=a,b;th(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c&&\"\"!==c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case va:return c.key===e?k(a,b,c,d):null;case wa:return c.key===e?l(a,b,c,d):null;case Ha:return e=c._init,r(a,\nb,e(c._payload),d)}if(eb(c)||Ka(c))return null!==e?null:m(a,b,c,d,null);th(a,c)}return null}function y(a,b,c,d,e){if(\"string\"===typeof d&&\"\"!==d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case va:return a=a.get(null===d.key?c:d.key)||null,k(b,a,d,e);case wa:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e);case Ha:var f=d._init;return y(a,b,c,f(d._payload),e)}if(eb(d)||Ka(d))return a=a.get(c)||null,m(b,a,d,e,null);th(b,d)}return null}\nfunction n(e,g,h,k){for(var l=null,m=null,u=g,w=g=0,x=null;null!==u&&w<h.length;w++){u.index>w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;w<h.length;w++)u=q(e,h[w],k),null!==u&&(g=f(u,g,w),null===m?l=u:m.sibling=u,m=u);I&&tg(e,w);return l}for(u=d(e,u);w<h.length;w++)x=y(u,e,w,h[w],k),null!==x&&(a&&null!==x.alternate&&u.delete(null===\nx.key?w:x.key),g=f(x,g,w),null===m?l=x:m.sibling=x,m=x);a&&u.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function t(e,g,h,k){var l=Ka(h);if(\"function\"!==typeof l)throw Error(p(150));h=l.call(h);if(null==h)throw Error(p(151));for(var u=l=null,m=g,w=g=0,x=null,n=h.next();null!==m&&!n.done;w++,n=h.next()){m.index>w?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;a<Nh.length;a++)Nh[a]._workInProgressVersionPrimary=null;Nh.length=0}var Ph=ua.ReactCurrentDispatcher,Qh=ua.ReactCurrentBatchConfig,Rh=0,N=null,O=null,P=null,Sh=!1,Th=!1,Uh=0,Vh=0;function Q(){throw Error(p(321));}function Wh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Xh(a,b,c,d,e,f){Rh=f;N=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;Ph.current=null===a||null===a.memoizedState?Yh:Zh;a=c(d,e);if(Th){f=0;do{Th=!1;Uh=0;if(25<=f)throw Error(p(301));f+=1;P=O=null;b.updateQueue=null;Ph.current=$h;a=c(d,e)}while(Th)}Ph.current=ai;b=null!==O&&null!==O.next;Rh=0;P=O=N=null;Sh=!1;if(b)throw Error(p(300));return a}function bi(){var a=0!==Uh;Uh=0;return a}\nfunction ci(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function di(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(p(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction ei(a,b){return\"function\"===typeof b?b(a):b}\nfunction fi(a){var b=di(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){f=e.next;d=d.baseState;var h=g=null,k=null,l=f;do{var m=l.lane;if((Rh&m)===m)null!==k&&(k=k.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d=l.hasEagerState?l.eagerState:a(d,l.action);else{var q={lane:m,action:l.action,hasEagerState:l.hasEagerState,\neagerState:l.eagerState,next:null};null===k?(h=k=q,g=d):k=k.next=q;N.lanes|=m;hh|=m}l=l.next}while(null!==l&&l!==f);null===k?g=d:k.next=h;He(d,b.memoizedState)||(Ug=!0);b.memoizedState=d;b.baseState=g;b.baseQueue=k;c.lastRenderedState=d}a=c.interleaved;if(null!==a){e=a;do f=e.lane,N.lanes|=f,hh|=f,e=e.next;while(e!==a)}else null===e&&(c.lanes=0);return[b.memoizedState,c.dispatch]}\nfunction gi(a){var b=di(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(Ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}function hi(){}\nfunction ii(a,b){var c=N,d=di(),e=b(),f=!He(d.memoizedState,e);f&&(d.memoizedState=e,Ug=!0);d=d.queue;ji(ki.bind(null,c,d,a),[a]);if(d.getSnapshot!==b||f||null!==P&&P.memoizedState.tag&1){c.flags|=2048;li(9,mi.bind(null,c,d,e,b),void 0,null);if(null===R)throw Error(p(349));0!==(Rh&30)||ni(c,b,e)}return e}function ni(a,b,c){a.flags|=16384;a={getSnapshot:b,value:c};b=N.updateQueue;null===b?(b={lastEffect:null,stores:null},N.updateQueue=b,b.stores=[a]):(c=b.stores,null===c?b.stores=[a]:c.push(a))}\nfunction mi(a,b,c,d){b.value=c;b.getSnapshot=d;oi(b)&&pi(a)}function ki(a,b,c){return c(function(){oi(b)&&pi(a)})}function oi(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!He(a,c)}catch(d){return!0}}function pi(a){var b=Zg(a,1);null!==b&&mh(b,a,1,-1)}\nfunction qi(a){var b=ci();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ei,lastRenderedState:a};b.queue=a;a=a.dispatch=ri.bind(null,N,a);return[b.memoizedState,a]}\nfunction li(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null,stores:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function si(){return di().memoizedState}function ti(a,b,c,d){var e=ci();N.flags|=a;e.memoizedState=li(1|b,c,void 0,void 0===d?null:d)}\nfunction ui(a,b,c,d){var e=di();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&Wh(d,g.deps)){e.memoizedState=li(b,c,f,d);return}}N.flags|=a;e.memoizedState=li(1|b,c,f,d)}function vi(a,b){return ti(8390656,8,a,b)}function ji(a,b){return ui(2048,8,a,b)}function wi(a,b){return ui(4,2,a,b)}function xi(a,b){return ui(4,4,a,b)}\nfunction yi(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function zi(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ui(4,4,yi.bind(null,b,a),c)}function Ai(){}function Bi(a,b){var c=di();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Wh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Ci(a,b){var c=di();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Wh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Di(a,b,c){if(0===(Rh&21))return a.baseState&&(a.baseState=!1,Ug=!0),a.memoizedState=c;He(c,b)||(c=yc(),N.lanes|=c,hh|=c,a.baseState=!0);return b}function Ei(a,b){var c=C;C=0!==c&&4>c?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0<c&&(b+=\"H\"+c.toString(32));b+=\":\"}else c=Vh++,b=\":\"+b+\"r\"+c.toString(32)+\":\";return a.memoizedState=b},unstable_isNewReconciler:!1},Zh={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:fi,useRef:si,useState:function(){return fi(ei)},\nuseDebugValue:Ai,useDeferredValue:function(a){var b=di();return Di(b,O.memoizedState,a)},useTransition:function(){var a=fi(ei)[0],b=di().memoizedState;return[a,b]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1},$h={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:gi,useRef:si,useState:function(){return gi(ei)},useDebugValue:Ai,useDeferredValue:function(a){var b=di();return null===\nO?b.memoizedState=a:Di(b,O.memoizedState,a)},useTransition:function(){var a=gi(ei)[0],b=di().memoizedState;return[a,b]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1};function Ki(a,b){try{var c=\"\",d=b;do c+=Pa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e,digest:null}}function Li(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}\nfunction Mi(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Ni=\"function\"===typeof WeakMap?WeakMap:Map;function Oi(a,b,c){c=ch(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Pi||(Pi=!0,Qi=d);Mi(a,b)};return c}\nfunction Ri(a,b,c){c=ch(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){return d(e)};c.callback=function(){Mi(a,b)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){Mi(a,b);\"function\"!==typeof d&&(null===Si?Si=new Set([this]):Si.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nfunction Ti(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new Ni;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=Ui.bind(null,a,b,c),b.then(a,a))}function Vi(a){do{var b;if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}\nfunction Wi(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=ch(-1,1),b.tag=2,dh(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}var Xi=ua.ReactCurrentOwner,Ug=!1;function Yi(a,b,c,d){b.child=null===a?Ch(b,null,c,d):Bh(b,a.child,c,d)}\nfunction Zi(a,b,c,d,e){c=c.render;var f=b.ref;Tg(b,e);d=Xh(a,b,c,d,f,e);c=bi();if(null!==a&&!Ug)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,$i(a,b,e);I&&c&&vg(b);b.flags|=1;Yi(a,b,d,e);return b.child}\nfunction aj(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!bj(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,cj(a,b,f,d,e);a=yh(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:Ie;if(c(g,d)&&a.ref===b.ref)return $i(a,b,e)}b.flags|=1;a=wh(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction cj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(Ie(f,d)&&a.ref===b.ref)if(Ug=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(Ug=!0);else return b.lanes=a.lanes,$i(a,b,e)}return dj(a,b,c,d,e)}\nfunction ej(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(fj,gj),gj|=c;else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(fj,gj),gj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;G(fj,gj);gj|=d}else null!==\nf?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(fj,gj),gj|=d;Yi(a,b,e,c);return b.child}function hj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function dj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;f=Yf(b,f);Tg(b,e);c=Xh(a,b,c,d,f,e);d=bi();if(null!==a&&!Ug)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,$i(a,b,e);I&&d&&vg(b);b.flags|=1;Yi(a,b,c,e);return b.child}\nfunction ij(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;Tg(b,e);if(null===b.stateNode)jj(a,b),ph(b,c,d),rh(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=Vg(l):(l=Zf(c)?Xf:H.current,l=Yf(b,l));var m=c.getDerivedStateFromProps,q=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;q||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||\n(h!==d||k!==l)&&qh(b,g,d,l);$g=!1;var r=b.memoizedState;g.state=r;gh(b,d,g,e);k=b.memoizedState;h!==d||r!==k||Wf.current||$g?(\"function\"===typeof m&&(kh(b,c,m,d),k=b.memoizedState),(h=$g||oh(b,c,h,d,r,k,l))?(q||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===typeof g.componentDidMount&&(b.flags|=4194308)):\n(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;bh(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:Lg(b.type,h);g.props=l;q=b.pendingProps;r=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=Vg(k):(k=Zf(c)?Xf:H.current,k=Yf(b,k));var y=c.getDerivedStateFromProps;(m=\"function\"===typeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\n\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==q||r!==k)&&qh(b,g,d,k);$g=!1;r=b.memoizedState;g.state=r;gh(b,d,g,e);var n=b.memoizedState;h!==q||r!==n||Wf.current||$g?(\"function\"===typeof y&&(kh(b,c,y,d),n=b.memoizedState),(l=$g||oh(b,c,l,d,r,n,k)||!1)?(m||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,n,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&\ng.UNSAFE_componentWillUpdate(d,n,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=n),g.props=d,g.state=n,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===\na.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return kj(a,b,c,d,f,e)}\nfunction kj(a,b,c,d,e,f){hj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&dg(b,c,!1),$i(a,b,f);d=b.stateNode;Xi.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Bh(b,a.child,null,f),b.child=Bh(b,null,h,f)):Yi(a,b,h,f);b.memoizedState=d.state;e&&dg(b,c,!0);return b.child}function lj(a){var b=a.stateNode;b.pendingContext?ag(a,b.pendingContext,b.pendingContext!==b.context):b.context&&ag(a,b.context,!1);Ih(a,b.containerInfo)}\nfunction mj(a,b,c,d,e){Ig();Jg(e);b.flags|=256;Yi(a,b,c,d);return b.child}var nj={dehydrated:null,treeContext:null,retryLane:0};function oj(a){return{baseLanes:a,cachePool:null,transitions:null}}\nfunction pj(a,b,c){var d=b.pendingProps,e=M.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(M,e&1);if(null===a){Eg(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:\"hidden\",children:g},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ng):f=qj(g,d,0,null),a=Ah(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=oj(c),b.memoizedState=nj,a):rj(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return sj(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:\"hidden\",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=wh(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=wh(h,f):(f=Ah(f,g,c,null),f.flags|=2);f.return=\nb;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?oj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=nj;return d}f=a.child;a=f.sibling;d=wh(f,{mode:\"visible\",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d}\nfunction rj(a,b){b=qj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}function tj(a,b,c,d){null!==d&&Jg(d);Bh(b,a.child,null,c);a=rj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction sj(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=Li(Error(p(422))),tj(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=qj({mode:\"visible\",children:d.children},e,0,null);f=Ah(f,e,g,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Bh(b,a.child,null,g);b.child.memoizedState=oj(g);b.memoizedState=nj;return f}if(0===(b.mode&1))return tj(a,b,g,null);if(\"$!\"===e.data){d=e.nextSibling&&e.nextSibling.dataset;\nif(d)var h=d.dgst;d=h;f=Error(p(419));d=Li(f,d,void 0);return tj(a,b,g,d)}h=0!==(g&a.childLanes);if(Ug||h){d=R;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e=32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;\n0!==e&&e!==f.retryLane&&(f.retryLane=e,Zg(a,e),mh(d,a,e,-1))}uj();d=Li(Error(p(421)));return tj(a,b,g,d)}if(\"$?\"===e.data)return b.flags|=128,b.child=a.child,b=vj.bind(null,a),e._reactRetry=b,null;a=f.treeContext;yg=Lf(e.nextSibling);xg=b;I=!0;zg=null;null!==a&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=a.id,sg=a.overflow,qg=b);b=rj(b,d.children);b.flags|=4096;return b}function wj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);Sg(a.return,b,c)}\nfunction xj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction yj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;Yi(a,b,d.children,c);d=M.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&wj(a,c,b);else if(19===a.tag)wj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(M,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Mh(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);xj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Mh(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}xj(b,!0,c,null,f);break;case \"together\":xj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction jj(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function $i(a,b,c){null!==a&&(b.dependencies=a.dependencies);hh|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=wh(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=wh(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction zj(a,b,c){switch(b.tag){case 3:lj(b);Ig();break;case 5:Kh(b);break;case 1:Zf(b.type)&&cg(b);break;case 4:Ih(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(Mg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(M,M.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return pj(a,b,c);G(M,M.current&1);a=$i(a,b,c);return null!==a?a.sibling:null}G(M,M.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return yj(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(M,M.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,ej(a,b,c)}return $i(a,b,c)}var Aj,Bj,Cj,Dj;\nAj=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Bj=function(){};\nCj=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;Hh(Eh.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"select\":e=A({},e,{value:void 0});d=A({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=Bf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===l){var h=e[l];for(g in h)h.hasOwnProperty(g)&&\n(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,\nc)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ea.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&D(\"scroll\",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",c);var l=f;if(b.updateQueue=l)b.flags|=4}};Dj=function(a,b,c,d){c!==d&&(b.flags|=4)};\nfunction Ej(a,b){if(!I)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction S(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}\nfunction Fj(a,b,c){var d=b.pendingProps;wg(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return Zf(b.type)&&$f(),S(b),null;case 3:d=b.stateNode;Jh();E(Wf);E(H);Oh();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags&256)||(b.flags|=1024,null!==zg&&(Gj(zg),zg=null));Bj(a,b);S(b);return null;case 5:Lh(b);var e=Hh(Gh.current);\nc=b.type;if(null!==a&&null!=b.stateNode)Cj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(p(166));S(b);return null}a=Hh(Eh.current);if(Gg(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Of]=b;d[Pf]=f;a=0!==(b.mode&1);switch(c){case \"dialog\":D(\"cancel\",d);D(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",d);break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],d);break;case \"source\":D(\"error\",d);break;case \"img\":case \"image\":case \"link\":D(\"error\",\nd);D(\"load\",d);break;case \"details\":D(\"toggle\",d);break;case \"input\":Za(d,f);D(\"invalid\",d);break;case \"select\":d._wrapperState={wasMultiple:!!f.multiple};D(\"invalid\",d);break;case \"textarea\":hb(d,f),D(\"invalid\",d)}ub(c,f);e=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,h,a),e=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,\nh,a),e=[\"children\",\"\"+h]):ea.hasOwnProperty(g)&&null!=h&&\"onScroll\"===g&&D(\"scroll\",d)}switch(c){case \"input\":Va(d);db(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=Bf)}d=e;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;\"http://www.w3.org/1999/xhtml\"===a&&(a=kb(c));\"http://www.w3.org/1999/xhtml\"===a?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],a);e=d;break;case \"source\":D(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":D(\"error\",\na);D(\"load\",a);e=d;break;case \"details\":D(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);D(\"invalid\",a);break;case \"option\":e=d;break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=A({},d,{value:void 0});D(\"invalid\",a);break;case \"textarea\":hb(a,d);e=gb(a,d);D(\"invalid\",a);break;default:e=d}ub(c,e);h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?sb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&nb(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==\nc||\"\"!==k)&&ob(a,k):\"number\"===typeof k&&ob(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ea.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&D(\"scroll\",a):null!=k&&ta(a,f,k,g))}switch(c){case \"input\":Va(a);db(a,d,!1);break;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,\n!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=Bf)}switch(c){case \"button\":case \"input\":case \"select\":case \"textarea\":d=!!d.autoFocus;break a;case \"img\":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}null!==b.ref&&(b.flags|=512,b.flags|=2097152)}S(b);return null;case 6:if(a&&null!=b.stateNode)Dj(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(p(166));c=Hh(Gh.current);Hh(Eh.current);if(Gg(b)){d=b.stateNode;c=b.memoizedProps;d[Of]=b;if(f=d.nodeValue!==c)if(a=\nxg,null!==a)switch(a.tag){case 3:Af(d.nodeValue,c,0!==(a.mode&1));break;case 5:!0!==a.memoizedProps.suppressHydrationWarning&&Af(d.nodeValue,c,0!==(a.mode&1))}f&&(b.flags|=4)}else d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[Of]=b,b.stateNode=d}S(b);return null;case 13:E(M);d=b.memoizedState;if(null===a||null!==a.memoizedState&&null!==a.memoizedState.dehydrated){if(I&&null!==yg&&0!==(b.mode&1)&&0===(b.flags&128))Hg(),Ig(),b.flags|=98560,f=!1;else if(f=Gg(b),null!==d&&null!==d.dehydrated){if(null===\na){if(!f)throw Error(p(318));f=b.memoizedState;f=null!==f?f.dehydrated:null;if(!f)throw Error(p(317));f[Of]=b}else Ig(),0===(b.flags&128)&&(b.memoizedState=null),b.flags|=4;S(b);f=!1}else null!==zg&&(Gj(zg),zg=null),f=!0;if(!f)return b.flags&65536?b:null}if(0!==(b.flags&128))return b.lanes=c,b;d=null!==d;d!==(null!==a&&null!==a.memoizedState)&&d&&(b.child.flags|=8192,0!==(b.mode&1)&&(null===a||0!==(M.current&1)?0===T&&(T=3):uj()));null!==b.updateQueue&&(b.flags|=4);S(b);return null;case 4:return Jh(),\nBj(a,b),null===a&&sf(b.stateNode.containerInfo),S(b),null;case 10:return Rg(b.type._context),S(b),null;case 17:return Zf(b.type)&&$f(),S(b),null;case 19:E(M);f=b.memoizedState;if(null===f)return S(b),null;d=0!==(b.flags&128);g=f.rendering;if(null===g)if(d)Ej(f,!1);else{if(0!==T||null!==a&&0!==(a.flags&128))for(a=b.child;null!==a;){g=Mh(a);if(null!==g){b.flags|=128;Ej(f,!1);d=g.updateQueue;null!==d&&(b.updateQueue=d,b.flags|=4);b.subtreeFlags=0;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=14680066,\ng=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.subtreeFlags=0,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.subtreeFlags=0,f.deletions=null,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;G(M,M.current&1|2);return b.child}a=\na.sibling}null!==f.tail&&B()>Hj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;null!==h;){switch(h.tag){case 5:X=h.stateNode;Yj=!1;break a;case 3:X=h.stateNode.containerInfo;Yj=!0;break a;case 4:X=h.stateNode.containerInfo;Yj=!0;break a}h=h.return}if(null===X)throw Error(p(160));ak(f,g,e);X=null;Yj=!1;var k=e.alternate;null!==k&&(k.return=null);e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;null!==b;)ek(b,a),b=b.sibling}\nfunction ek(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:dk(b,a);fk(a);if(d&4){try{Qj(3,a,a.return),Rj(3,a)}catch(t){W(a,a.return,t)}try{Qj(5,a,a.return)}catch(t){W(a,a.return,t)}}break;case 1:dk(b,a);fk(a);d&512&&null!==c&&Mj(c,c.return);break;case 5:dk(b,a);fk(a);d&512&&null!==c&&Mj(c,c.return);if(a.flags&32){var e=a.stateNode;try{ob(e,\"\")}catch(t){W(a,a.return,t)}}if(d&4&&(e=a.stateNode,null!=e)){var f=a.memoizedProps,g=null!==c?c.memoizedProps:f,h=a.type,k=a.updateQueue;\na.updateQueue=null;if(null!==k)try{\"input\"===h&&\"radio\"===f.type&&null!=f.name&&ab(e,f);vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var m=k[g],q=k[g+1];\"style\"===m?sb(e,q):\"dangerouslySetInnerHTML\"===m?nb(e,q):\"children\"===m?ob(e,q):ta(e,m,q,l)}switch(h){case \"input\":bb(e,f);break;case \"textarea\":ib(e,f);break;case \"select\":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var y=f.value;null!=y?fb(e,!!f.multiple,y,!1):r!==!!f.multiple&&(null!=f.defaultValue?fb(e,!!f.multiple,\nf.defaultValue,!0):fb(e,!!f.multiple,f.multiple?[]:\"\",!1))}e[Pf]=f}catch(t){W(a,a.return,t)}}break;case 6:dk(b,a);fk(a);if(d&4){if(null===a.stateNode)throw Error(p(162));e=a.stateNode;f=a.memoizedProps;try{e.nodeValue=f}catch(t){W(a,a.return,t)}}break;case 3:dk(b,a);fk(a);if(d&4&&null!==c&&c.memoizedState.isDehydrated)try{bd(b.containerInfo)}catch(t){W(a,a.return,t)}break;case 4:dk(b,a);fk(a);break;case 13:dk(b,a);fk(a);e=a.child;e.flags&8192&&(f=null!==e.memoizedState,e.stateNode.isHidden=f,!f||\nnull!==e.alternate&&null!==e.alternate.memoizedState||(gk=B()));d&4&&bk(a);break;case 22:m=null!==c&&null!==c.memoizedState;a.mode&1?(U=(l=U)||m,dk(b,a),U=l):dk(b,a);fk(a);if(d&8192){l=null!==a.memoizedState;if((a.stateNode.isHidden=l)&&!m&&0!==(a.mode&1))for(V=a,m=a.child;null!==m;){for(q=V=m;null!==V;){r=V;y=r.child;switch(r.tag){case 0:case 11:case 14:case 15:Qj(4,r,r.return);break;case 1:Mj(r,r.return);var n=r.stateNode;if(\"function\"===typeof n.componentWillUnmount){d=r;c=r.return;try{b=d,n.props=\nb.memoizedProps,n.state=b.memoizedState,n.componentWillUnmount()}catch(t){W(d,c,t)}}break;case 5:Mj(r,r.return);break;case 22:if(null!==r.memoizedState){hk(q);continue}}null!==y?(y.return=r,V=y):hk(q)}m=m.sibling}a:for(m=null,q=a;;){if(5===q.tag){if(null===m){m=q;try{e=q.stateNode,l?(f=e.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(h=q.stateNode,k=q.memoizedProps.style,g=void 0!==k&&null!==k&&k.hasOwnProperty(\"display\")?k.display:null,h.style.display=\nrb(\"display\",g))}catch(t){W(a,a.return,t)}}}else if(6===q.tag){if(null===m)try{q.stateNode.nodeValue=l?\"\":q.memoizedProps}catch(t){W(a,a.return,t)}}else if((22!==q.tag&&23!==q.tag||null===q.memoizedState||q===a)&&null!==q.child){q.child.return=q;q=q.child;continue}if(q===a)break a;for(;null===q.sibling;){if(null===q.return||q.return===a)break a;m===q&&(m=null);q=q.return}m===q&&(m=null);q.sibling.return=q.return;q=q.sibling}}break;case 19:dk(b,a);fk(a);d&4&&bk(a);break;case 21:break;default:dk(b,\na),fk(a)}}function fk(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;null!==c;){if(Uj(c)){var d=c;break a}c=c.return}throw Error(p(160));}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(ob(e,\"\"),d.flags&=-33);var f=Vj(a);Xj(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Vj(a);Wj(a,h,g);break;default:throw Error(p(161));}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}function ik(a,b,c){V=a;jk(a,b,c)}\nfunction jk(a,b,c){for(var d=0!==(a.mode&1);null!==V;){var e=V,f=e.child;if(22===e.tag&&d){var g=null!==e.memoizedState||Kj;if(!g){var h=e.alternate,k=null!==h&&null!==h.memoizedState||U;h=Kj;var l=U;Kj=g;if((U=k)&&!l)for(V=e;null!==V;)g=V,k=g.child,22===g.tag&&null!==g.memoizedState?kk(e):null!==k?(k.return=g,V=k):kk(e);for(;null!==f;)V=f,jk(f,b,c),f=f.sibling;V=e;Kj=h;U=l}lk(a,b,c)}else 0!==(e.subtreeFlags&8772)&&null!==f?(f.return=e,V=f):lk(a,b,c)}}\nfunction lk(a){for(;null!==V;){var b=V;if(0!==(b.flags&8772)){var c=b.alternate;try{if(0!==(b.flags&8772))switch(b.tag){case 0:case 11:case 15:U||Rj(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!U)if(null===c)d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Lg(b.type,c.memoizedProps);d.componentDidUpdate(e,c.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var f=b.updateQueue;null!==f&&ih(b,f,d);break;case 3:var g=b.updateQueue;if(null!==g){c=null;if(null!==b.child)switch(b.child.tag){case 5:c=\nb.child.stateNode;break;case 1:c=b.child.stateNode}ih(b,g,c)}break;case 5:var h=b.stateNode;if(null===c&&b.flags&4){c=h;var k=b.memoizedProps;switch(b.type){case \"button\":case \"input\":case \"select\":case \"textarea\":k.autoFocus&&c.focus();break;case \"img\":k.src&&(c.src=k.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(null===b.memoizedState){var l=b.alternate;if(null!==l){var m=l.memoizedState;if(null!==m){var q=m.dehydrated;null!==q&&bd(q)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;\ndefault:throw Error(p(163));}U||b.flags&512&&Sj(b)}catch(r){W(b,b.return,r)}}if(b===a){V=null;break}c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}function hk(a){for(;null!==V;){var b=V;if(b===a){V=null;break}var c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}\nfunction kk(a){for(;null!==V;){var b=V;try{switch(b.tag){case 0:case 11:case 15:var c=b.return;try{Rj(4,b)}catch(k){W(b,c,k)}break;case 1:var d=b.stateNode;if(\"function\"===typeof d.componentDidMount){var e=b.return;try{d.componentDidMount()}catch(k){W(b,e,k)}}var f=b.return;try{Sj(b)}catch(k){W(b,f,k)}break;case 5:var g=b.return;try{Sj(b)}catch(k){W(b,g,k)}}}catch(k){W(b,b.return,k)}if(b===a){V=null;break}var h=b.sibling;if(null!==h){h.return=b.return;V=h;break}V=b.return}}\nvar mk=Math.ceil,nk=ua.ReactCurrentDispatcher,ok=ua.ReactCurrentOwner,pk=ua.ReactCurrentBatchConfig,K=0,R=null,Y=null,Z=0,gj=0,fj=Uf(0),T=0,qk=null,hh=0,rk=0,sk=0,tk=null,uk=null,gk=0,Hj=Infinity,vk=null,Pi=!1,Qi=null,Si=null,wk=!1,xk=null,yk=0,zk=0,Ak=null,Bk=-1,Ck=0;function L(){return 0!==(K&6)?B():-1!==Bk?Bk:Bk=B()}\nfunction lh(a){if(0===(a.mode&1))return 1;if(0!==(K&2)&&0!==Z)return Z&-Z;if(null!==Kg.transition)return 0===Ck&&(Ck=yc()),Ck;a=C;if(0!==a)return a;a=window.event;a=void 0===a?16:jd(a.type);return a}function mh(a,b,c,d){if(50<zk)throw zk=0,Ak=null,Error(p(185));Ac(a,c,d);if(0===(K&2)||a!==R)a===R&&(0===(K&2)&&(rk|=c),4===T&&Dk(a,Z)),Ek(a,d),1===c&&0===K&&0===(b.mode&1)&&(Hj=B()+500,fg&&jg())}\nfunction Ek(a,b){var c=a.callbackNode;wc(a,b);var d=uc(a,a===R?Z:0);if(0===d)null!==c&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){null!=c&&bc(c);if(1===b)0===a.tag?ig(Fk.bind(null,a)):hg(Fk.bind(null,a)),Jf(function(){0===(K&6)&&jg()}),c=null;else{switch(Dc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=Gk(c,Hk.bind(null,a))}a.callbackPriority=b;a.callbackNode=c}}\nfunction Hk(a,b){Bk=-1;Ck=0;if(0!==(K&6))throw Error(p(327));var c=a.callbackNode;if(Ik()&&a.callbackNode!==c)return null;var d=uc(a,a===R?Z:0);if(0===d)return null;if(0!==(d&30)||0!==(d&a.expiredLanes)||b)b=Jk(a,d);else{b=d;var e=K;K|=2;var f=Kk();if(R!==a||Z!==b)vk=null,Hj=B()+500,Lk(a,b);do try{Mk();break}catch(h){Nk(a,h)}while(1);Qg();nk.current=f;K=e;null!==Y?b=0:(R=null,Z=0,b=T)}if(0!==b){2===b&&(e=xc(a),0!==e&&(d=e,b=Ok(a,e)));if(1===b)throw c=qk,Lk(a,0),Dk(a,d),Ek(a,B()),c;if(6===b)Dk(a,d);\nelse{e=a.current.alternate;if(0===(d&30)&&!Pk(e)&&(b=Jk(a,d),2===b&&(f=xc(a),0!==f&&(d=f,b=Ok(a,f))),1===b))throw c=qk,Lk(a,0),Dk(a,d),Ek(a,B()),c;a.finishedWork=e;a.finishedLanes=d;switch(b){case 0:case 1:throw Error(p(345));case 2:Qk(a,uk,vk);break;case 3:Dk(a,d);if((d&130023424)===d&&(b=gk+500-B(),10<b)){if(0!==uc(a,0))break;e=a.suspendedLanes;if((e&d)!==d){L();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Ff(Qk.bind(null,a,uk,vk),b);break}Qk(a,uk,vk);break;case 4:Dk(a,d);if((d&4194240)===\nd)break;b=a.eventTimes;for(e=-1;0<d;){var g=31-oc(d);f=1<<g;g=b[g];g>e&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10<d){a.timeoutHandle=Ff(Qk.bind(null,a,uk,vk),d);break}Qk(a,uk,vk);break;case 5:Qk(a,uk,vk);break;default:throw Error(p(329));}}}Ek(a,B());return a.callbackNode===c?Hk.bind(null,a):null}\nfunction Ok(a,b){var c=tk;a.current.memoizedState.isDehydrated&&(Lk(a,b).flags|=256);a=Jk(a,b);2!==a&&(b=uk,uk=c,null!==b&&Gj(b));return a}function Gj(a){null===uk?uk=a:uk.push.apply(uk,a)}\nfunction Pk(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(null!==c&&(c=c.stores,null!==c))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!He(f(),e))return!1}catch(g){return!1}}}c=b.child;if(b.subtreeFlags&16384&&null!==c)c.return=b,b=c;else{if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return!0;b=b.return}b.sibling.return=b.return;b=b.sibling}}return!0}\nfunction Dk(a,b){b&=~sk;b&=~rk;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-oc(b),d=1<<c;a[c]=-1;b&=~d}}function Fk(a){if(0!==(K&6))throw Error(p(327));Ik();var b=uc(a,0);if(0===(b&1))return Ek(a,B()),null;var c=Jk(a,b);if(0!==a.tag&&2===c){var d=xc(a);0!==d&&(b=d,c=Ok(a,d))}if(1===c)throw c=qk,Lk(a,0),Dk(a,b),Ek(a,B()),c;if(6===c)throw Error(p(345));a.finishedWork=a.current.alternate;a.finishedLanes=b;Qk(a,uk,vk);Ek(a,B());return null}\nfunction Rk(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,0===K&&(Hj=B()+500,fg&&jg())}}function Sk(a){null!==xk&&0===xk.tag&&0===(K&6)&&Ik();var b=K;K|=1;var c=pk.transition,d=C;try{if(pk.transition=null,C=1,a)return a()}finally{C=d,pk.transition=c,K=b,0===(K&6)&&jg()}}function Ij(){gj=fj.current;E(fj)}\nfunction Lk(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Gf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;wg(d);switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&$f();break;case 3:Jh();E(Wf);E(H);Oh();break;case 5:Lh(d);break;case 4:Jh();break;case 13:E(M);break;case 19:E(M);break;case 10:Rg(d.type._context);break;case 22:case 23:Ij()}c=c.return}R=a;Y=a=wh(a.current,null);Z=gj=b;T=0;qk=null;sk=rk=hh=0;uk=tk=null;if(null!==Wg){for(b=\n0;b<Wg.length;b++)if(c=Wg[b],d=c.interleaved,null!==d){c.interleaved=null;var e=d.next,f=c.pending;if(null!==f){var g=f.next;f.next=e;d.next=g}c.pending=d}Wg=null}return a}\nfunction Nk(a,b){do{var c=Y;try{Qg();Ph.current=ai;if(Sh){for(var d=N.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}Sh=!1}Rh=0;P=O=N=null;Th=!1;Uh=0;ok.current=null;if(null===c||null===c.return){T=1;qk=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=Z;h.flags|=32768;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k,m=h,q=m.tag;if(0===(m.mode&1)&&(0===q||11===q||15===q)){var r=m.alternate;r?(m.updateQueue=r.updateQueue,m.memoizedState=r.memoizedState,\nm.lanes=r.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Vi(g);if(null!==y){y.flags&=-257;Wi(y,g,h,f,b);y.mode&1&&Ti(f,l,b);b=y;k=l;var n=b.updateQueue;if(null===n){var t=new Set;t.add(k);b.updateQueue=t}else n.add(k);break a}else{if(0===(b&1)){Ti(f,l,b);uj();break a}k=Error(p(426))}}else if(I&&h.mode&1){var J=Vi(g);if(null!==J){0===(J.flags&65536)&&(J.flags|=256);Wi(J,g,h,f,b);Jg(Ki(k,h));break a}}f=k=Ki(k,h);4!==T&&(T=2);null===tk?tk=[f]:tk.push(f);f=g;do{switch(f.tag){case 3:f.flags|=65536;\nb&=-b;f.lanes|=b;var x=Oi(f,k,b);fh(f,x);break a;case 1:h=k;var w=f.type,u=f.stateNode;if(0===(f.flags&128)&&(\"function\"===typeof w.getDerivedStateFromError||null!==u&&\"function\"===typeof u.componentDidCatch&&(null===Si||!Si.has(u)))){f.flags|=65536;b&=-b;f.lanes|=b;var F=Ri(f,h,b);fh(f,F);break a}}f=f.return}while(null!==f)}Tk(c)}catch(na){b=na;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}function Kk(){var a=nk.current;nk.current=ai;return null===a?ai:a}\nfunction uj(){if(0===T||3===T||2===T)T=4;null===R||0===(hh&268435455)&&0===(rk&268435455)||Dk(R,Z)}function Jk(a,b){var c=K;K|=2;var d=Kk();if(R!==a||Z!==b)vk=null,Lk(a,b);do try{Uk();break}catch(e){Nk(a,e)}while(1);Qg();K=c;nk.current=d;if(null!==Y)throw Error(p(261));R=null;Z=0;return T}function Uk(){for(;null!==Y;)Vk(Y)}function Mk(){for(;null!==Y&&!cc();)Vk(Y)}function Vk(a){var b=Wk(a.alternate,a,gj);a.memoizedProps=a.pendingProps;null===b?Tk(a):Y=b;ok.current=null}\nfunction Tk(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&32768)){if(c=Fj(c,b,gj),null!==c){Y=c;return}}else{c=Jj(c,b);if(null!==c){c.flags&=32767;Y=c;return}if(null!==a)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6;Y=null;return}}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===T&&(T=5)}function Qk(a,b,c){var d=C,e=pk.transition;try{pk.transition=null,C=1,Xk(a,b,c,d)}finally{pk.transition=e,C=d}return null}\nfunction Xk(a,b,c,d){do Ik();while(null!==xk);if(0!==(K&6))throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(p(177));a.callbackNode=null;a.callbackPriority=0;var f=c.lanes|c.childLanes;Bc(a,f);a===R&&(Y=R=null,Z=0);0===(c.subtreeFlags&2064)&&0===(c.flags&2064)||wk||(wk=!0,Gk(hc,function(){Ik();return null}));f=0!==(c.flags&15990);if(0!==(c.subtreeFlags&15990)||f){f=pk.transition;pk.transition=null;\nvar g=C;C=1;var h=K;K|=4;ok.current=null;Pj(a,c);ek(c,a);Oe(Df);dd=!!Cf;Df=Cf=null;a.current=c;ik(c,a,e);dc();K=h;C=g;pk.transition=f}else a.current=c;wk&&(wk=!1,xk=a,yk=e);f=a.pendingLanes;0===f&&(Si=null);mc(c.stateNode,d);Ek(a,B());if(null!==b)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(Pi)throw Pi=!1,a=Qi,Qi=null,a;0!==(yk&1)&&0!==a.tag&&Ik();f=a.pendingLanes;0!==(f&1)?a===Ak?zk++:(zk=0,Ak=a):zk=0;jg();return null}\nfunction Ik(){if(null!==xk){var a=Dc(yk),b=pk.transition,c=C;try{pk.transition=null;C=16>a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;k<h.length;k++){var l=h[k];for(V=l;null!==V;){var m=V;switch(m.tag){case 0:case 11:case 15:Qj(8,m,f)}var q=m.child;if(null!==q)q.return=m,V=q;else for(;null!==V;){m=V;var r=m.sibling,y=m.return;Tj(m);if(m===\nl){V=null;break}if(null!==r){r.return=y;V=r;break}V=y}}}var n=f.alternate;if(null!==n){var t=n.child;if(null!==t){n.child=null;do{var J=t.sibling;t.sibling=null;t=J}while(null!==t)}}V=f}}if(0!==(f.subtreeFlags&2064)&&null!==g)g.return=f,V=g;else b:for(;null!==V;){f=V;if(0!==(f.flags&2048))switch(f.tag){case 0:case 11:case 15:Qj(9,f,f.return)}var x=f.sibling;if(null!==x){x.return=f.return;V=x;break b}V=f.return}}var w=a.current;for(V=w;null!==V;){g=V;var u=g.child;if(0!==(g.subtreeFlags&2064)&&null!==\nu)u.return=g,V=u;else b:for(g=w;null!==V;){h=V;if(0!==(h.flags&2048))try{switch(h.tag){case 0:case 11:case 15:Rj(9,h)}}catch(na){W(h,h.return,na)}if(h===g){V=null;break b}var F=h.sibling;if(null!==F){F.return=h.return;V=F;break b}V=h.return}}K=e;jg();if(lc&&\"function\"===typeof lc.onPostCommitFiberRoot)try{lc.onPostCommitFiberRoot(kc,a)}catch(na){}d=!0}return d}finally{C=c,pk.transition=b}}return!1}function Yk(a,b,c){b=Ki(c,b);b=Oi(a,b,1);a=dh(a,b,1);b=L();null!==a&&(Ac(a,1,b),Ek(a,b))}\nfunction W(a,b,c){if(3===a.tag)Yk(a,a,c);else for(;null!==b;){if(3===b.tag){Yk(b,a,c);break}else if(1===b.tag){var d=b.stateNode;if(\"function\"===typeof b.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Si||!Si.has(d))){a=Ki(c,a);a=Ri(b,a,1);b=dh(b,a,1);a=L();null!==b&&(Ac(b,1,a),Ek(b,a));break}}b=b.return}}\nfunction Ui(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=L();a.pingedLanes|=a.suspendedLanes&c;R===a&&(Z&c)===c&&(4===T||3===T&&(Z&130023424)===Z&&500>B()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:wa,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction el(a){if(!a)return Vf;a=a._reactInternals;a:{if(Vb(a)!==a||1!==a.tag)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(Zf(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(null!==b);throw Error(p(171));}if(1===a.tag){var c=a.type;if(Zf(c))return bg(a,c,b)}return b}\nfunction fl(a,b,c,d,e,f,g,h,k){a=cl(c,d,!0,a,e,f,g,h,k);a.context=el(null);c=a.current;d=L();e=lh(c);f=ch(d,e);f.callback=void 0!==b&&null!==b?b:null;dh(c,f,e);a.current.lanes=e;Ac(a,e,d);Ek(a,d);return a}function gl(a,b,c,d){var e=b.current,f=L(),g=lh(e);c=el(c);null===b.context?b.context=c:b.pendingContext=c;b=ch(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);a=dh(e,b,g);null!==a&&(mh(a,e,g,f),eh(a,e,g));return g}\nfunction hl(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function il(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function jl(a,b){il(a,b);(a=a.alternate)&&il(a,b)}function kl(){return null}var ll=\"function\"===typeof reportError?reportError:function(a){console.error(a)};function ml(a){this._internalRoot=a}\nnl.prototype.render=ml.prototype.render=function(a){var b=this._internalRoot;if(null===b)throw Error(p(409));gl(a,b,null,null)};nl.prototype.unmount=ml.prototype.unmount=function(){var a=this._internalRoot;if(null!==a){this._internalRoot=null;var b=a.containerInfo;Sk(function(){gl(null,a,null,null)});b[uf]=null}};function nl(a){this._internalRoot=a}\nnl.prototype.unstable_scheduleHydration=function(a){if(a){var b=Hc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<Qc.length&&0!==b&&b<Qc[c].priority;c++);Qc.splice(c,0,a);0===c&&Vc(a)}};function ol(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType)}function pl(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function ql(){}\nfunction rl(a,b,c,d,e){if(e){if(\"function\"===typeof d){var f=d;d=function(){var a=hl(g);f.call(a)}}var g=fl(b,d,a,0,null,!1,!1,\"\",ql);a._reactRootContainer=g;a[uf]=g.current;sf(8===a.nodeType?a.parentNode:a);Sk();return g}for(;e=a.lastChild;)a.removeChild(e);if(\"function\"===typeof d){var h=d;d=function(){var a=hl(k);h.call(a)}}var k=cl(a,0,!1,null,null,!1,!1,\"\",ql);a._reactRootContainer=k;a[uf]=k.current;sf(8===a.nodeType?a.parentNode:a);Sk(function(){gl(b,k,c,d)});return k}\nfunction sl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(\"function\"===typeof e){var h=e;e=function(){var a=hl(g);h.call(a)}}gl(b,g,a,e)}else g=rl(c,b,a,e,d);return hl(g)}Ec=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=tc(b.pendingLanes);0!==c&&(Cc(b,c|1),Ek(b,B()),0===(K&6)&&(Hj=B()+500,jg()))}break;case 13:Sk(function(){var b=Zg(a,1);if(null!==b){var c=L();mh(b,a,1,c)}}),jl(a,1)}};\nFc=function(a){if(13===a.tag){var b=Zg(a,134217728);if(null!==b){var c=L();mh(b,a,134217728,c)}jl(a,134217728)}};Gc=function(a){if(13===a.tag){var b=lh(a),c=Zg(a,b);if(null!==c){var d=L();mh(c,a,b,d)}jl(a,b)}};Hc=function(){return C};Ic=function(a,b){var c=C;try{return C=a,b()}finally{C=c}};\nyb=function(a,b,c){switch(b){case \"input\":bb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d);bb(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Rk;Hb=Sk;\nvar tl={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Rk]},ul={findFiberByHostInstance:Wc,bundleType:0,version:\"18.2.0\",rendererPackageName:\"react-dom\"};\nvar vl={bundleType:ul.bundleType,version:ul.version,rendererPackageName:ul.rendererPackageName,rendererConfig:ul.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=Zb(a);return null===a?null:a.stateNode},findFiberByHostInstance:ul.findFiberByHostInstance||\nkl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.2.0-next-9e3b772b8-20220608\"};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var wl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!wl.isDisabled&&wl.supportsFiber)try{kc=wl.inject(vl),lc=wl}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=tl;\nexports.createPortal=function(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!ol(b))throw Error(p(200));return dl(a,b,null,c)};exports.createRoot=function(a,b){if(!ol(a))throw Error(p(299));var c=!1,d=\"\",e=ll;null!==b&&void 0!==b&&(!0===b.unstable_strictMode&&(c=!0),void 0!==b.identifierPrefix&&(d=b.identifierPrefix),void 0!==b.onRecoverableError&&(e=b.onRecoverableError));b=cl(a,1,!1,null,null,c,!1,d,e);a[uf]=b.current;sf(8===a.nodeType?a.parentNode:a);return new ml(b)};\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(p(188));a=Object.keys(a).join(\",\");throw Error(p(268,a));}a=Zb(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a){return Sk(a)};exports.hydrate=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!0,c)};\nexports.hydrateRoot=function(a,b,c){if(!ol(a))throw Error(p(405));var d=null!=c&&c.hydratedSources||null,e=!1,f=\"\",g=ll;null!==c&&void 0!==c&&(!0===c.unstable_strictMode&&(e=!0),void 0!==c.identifierPrefix&&(f=c.identifierPrefix),void 0!==c.onRecoverableError&&(g=c.onRecoverableError));b=fl(b,null,a,1,null!=c?c:null,e,!1,f,g);a[uf]=b.current;sf(a);if(d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),null==b.mutableSourceEagerHydrationData?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,\ne);return new nl(b)};exports.render=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!pl(a))throw Error(p(40));return a._reactRootContainer?(Sk(function(){sl(null,null,a,!1,function(){a._reactRootContainer=null;a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Rk;\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!pl(c))throw Error(p(200));if(null==a||void 0===a._reactInternals)throw Error(p(38));return sl(a,b,c,!1,d)};exports.version=\"18.2.0-next-9e3b772b8-20220608\";\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n  exports.createRoot = m.createRoot;\n  exports.hydrateRoot = m.hydrateRoot;\n} else {\n  var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n  exports.createRoot = function(c, o) {\n    i.usingClientEntryPoint = true;\n    try {\n      return m.createRoot(c, o);\n    } finally {\n      i.usingClientEntryPoint = false;\n    }\n  };\n  exports.hydrateRoot = function(c, h, o) {\n    i.usingClientEntryPoint = true;\n    try {\n      return m.hydrateRoot(c, h, o);\n    } finally {\n      i.usingClientEntryPoint = false;\n    }\n  };\n}\n","'use strict';\n\nfunction checkDCE() {\n  /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n  if (\n    typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n    typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n  ) {\n    return;\n  }\n  if (process.env.NODE_ENV !== 'production') {\n    // This branch is unreachable because this function is only called\n    // in production, but the condition is true only in development.\n    // Therefore if the branch is still here, dead code elimination wasn't\n    // properly applied.\n    // Don't change the message. React DevTools relies on it. Also make sure\n    // this message doesn't occur elsewhere in this function, or it will cause\n    // a false positive.\n    throw new Error('^_^');\n  }\n  try {\n    // Verify that the code above has been dead code eliminated (DCE'd).\n    __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n  } catch (err) {\n    // DevTools shouldn't crash React, no matter what.\n    // We should still report in case we break this code.\n    console.error(err);\n  }\n}\n\nif (process.env.NODE_ENV === 'production') {\n  // DCE check should happen before ReactDOM bundle executes so that\n  // DevTools can report bad minification during injection.\n  checkDCE();\n  module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n  module.exports = require('./cjs/react-dom.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};exports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;\nexports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=function(){throw Error(\"act(...) is not supported in production builds of React.\");};\nexports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};exports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};\nexports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};exports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};\nexports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.2.0\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/react.production.min.js');\n} else {\n  module.exports = require('./cjs/react.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n  module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n  module.exports = require('./cjs/scheduler.development.js');\n}\n","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n  var result = -1;\n  for (var i = 0; i < stylesInDOM.length; i++) {\n    if (stylesInDOM[i].identifier === identifier) {\n      result = i;\n      break;\n    }\n  }\n  return result;\n}\nfunction modulesToDom(list, options) {\n  var idCountMap = {};\n  var identifiers = [];\n  for (var i = 0; i < list.length; i++) {\n    var item = list[i];\n    var id = options.base ? item[0] + options.base : item[0];\n    var count = idCountMap[id] || 0;\n    var identifier = \"\".concat(id, \" \").concat(count);\n    idCountMap[id] = count + 1;\n    var indexByIdentifier = getIndexByIdentifier(identifier);\n    var obj = {\n      css: item[1],\n      media: item[2],\n      sourceMap: item[3],\n      supports: item[4],\n      layer: item[5]\n    };\n    if (indexByIdentifier !== -1) {\n      stylesInDOM[indexByIdentifier].references++;\n      stylesInDOM[indexByIdentifier].updater(obj);\n    } else {\n      var updater = addElementStyle(obj, options);\n      options.byIndex = i;\n      stylesInDOM.splice(i, 0, {\n        identifier: identifier,\n        updater: updater,\n        references: 1\n      });\n    }\n    identifiers.push(identifier);\n  }\n  return identifiers;\n}\nfunction addElementStyle(obj, options) {\n  var api = options.domAPI(options);\n  api.update(obj);\n  var updater = function updater(newObj) {\n    if (newObj) {\n      if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n        return;\n      }\n      api.update(obj = newObj);\n    } else {\n      api.remove();\n    }\n  };\n  return updater;\n}\nmodule.exports = function (list, options) {\n  options = options || {};\n  list = list || [];\n  var lastIdentifiers = modulesToDom(list, options);\n  return function update(newList) {\n    newList = newList || [];\n    for (var i = 0; i < lastIdentifiers.length; i++) {\n      var identifier = lastIdentifiers[i];\n      var index = getIndexByIdentifier(identifier);\n      stylesInDOM[index].references--;\n    }\n    var newLastIdentifiers = modulesToDom(newList, options);\n    for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n      var _identifier = lastIdentifiers[_i];\n      var _index = getIndexByIdentifier(_identifier);\n      if (stylesInDOM[_index].references === 0) {\n        stylesInDOM[_index].updater();\n        stylesInDOM.splice(_index, 1);\n      }\n    }\n    lastIdentifiers = newLastIdentifiers;\n  };\n};","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next  */\nfunction getTarget(target) {\n  if (typeof memo[target] === \"undefined\") {\n    var styleTarget = document.querySelector(target);\n\n    // Special case to return head of iframe instead of iframe itself\n    if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n      try {\n        // This will throw an exception if access to iframe is blocked\n        // due to cross-origin restrictions\n        styleTarget = styleTarget.contentDocument.head;\n      } catch (e) {\n        // istanbul ignore next\n        styleTarget = null;\n      }\n    }\n    memo[target] = styleTarget;\n  }\n  return memo[target];\n}\n\n/* istanbul ignore next  */\nfunction insertBySelector(insert, style) {\n  var target = getTarget(insert);\n  if (!target) {\n    throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n  }\n  target.appendChild(style);\n}\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next  */\nfunction insertStyleElement(options) {\n  var element = document.createElement(\"style\");\n  options.setAttributes(element, options.attributes);\n  options.insert(element, options.options);\n  return element;\n}\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next  */\nfunction setAttributesWithoutAttributes(styleElement) {\n  var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n  if (nonce) {\n    styleElement.setAttribute(\"nonce\", nonce);\n  }\n}\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next  */\nfunction apply(styleElement, options, obj) {\n  var css = \"\";\n  if (obj.supports) {\n    css += \"@supports (\".concat(obj.supports, \") {\");\n  }\n  if (obj.media) {\n    css += \"@media \".concat(obj.media, \" {\");\n  }\n  var needLayer = typeof obj.layer !== \"undefined\";\n  if (needLayer) {\n    css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n  }\n  css += obj.css;\n  if (needLayer) {\n    css += \"}\";\n  }\n  if (obj.media) {\n    css += \"}\";\n  }\n  if (obj.supports) {\n    css += \"}\";\n  }\n  var sourceMap = obj.sourceMap;\n  if (sourceMap && typeof btoa !== \"undefined\") {\n    css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n  }\n\n  // For old IE\n  /* istanbul ignore if  */\n  options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n  // istanbul ignore if\n  if (styleElement.parentNode === null) {\n    return false;\n  }\n  styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next  */\nfunction domAPI(options) {\n  if (typeof document === \"undefined\") {\n    return {\n      update: function update() {},\n      remove: function remove() {}\n    };\n  }\n  var styleElement = options.insertStyleElement(options);\n  return {\n    update: function update(obj) {\n      apply(styleElement, options, obj);\n    },\n    remove: function remove() {\n      removeStyleElement(styleElement);\n    }\n  };\n}\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next  */\nfunction styleTagTransform(css, styleElement) {\n  if (styleElement.styleSheet) {\n    styleElement.styleSheet.cssText = css;\n  } else {\n    while (styleElement.firstChild) {\n      styleElement.removeChild(styleElement.firstChild);\n    }\n    styleElement.appendChild(document.createTextNode(css));\n  }\n}\nmodule.exports = styleTagTransform;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nc = undefined;","\n      import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../node_modules/sass-loader/dist/cjs.js!./styles.module.scss\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../node_modules/sass-loader/dist/cjs.js!./styles.module.scss\";\n       export default content && content.locals ? content.locals : undefined;\n","import { Component } from \"react\";\nimport type { ErrorInfo } from \"react\";\nimport styles from \"./styles.module.scss\";\n\ninterface Props {\n  children: React.ReactNode;\n}\n\ninterface State {\n  hasError: boolean;\n}\n\nexport class ErrorBoundary extends Component<Props, State> {\n  public state: State = {\n    hasError: false,\n  };\n\n  static getDerivedStateFromError() {\n    // Update state so the next render will show the fallback UI.\n    return { hasError: true };\n  }\n\n  componentDidCatch(error: Error, info: ErrorInfo) {\n    // This could also be logged to an error reporting service\n    console.error(error, info.componentStack);\n  }\n\n  render() {\n    if (this.state.hasError) {\n      return (\n        <div className={styles.container}>\n          <h1>Application error</h1>\n          <p>\n            We apologize for any inconvenience. Visit our{\" \"}\n            <a href=\"https://www.mckinsey.com/\">home page</a> or use the\n            navigation menu to find what you need.\n          </p>\n        </div>\n      );\n    }\n\n    return this.props.children;\n  }\n}\n","function none() {}\n\nexport default function(selector) {\n  return selector == null ? none : function() {\n    return this.querySelector(selector);\n  };\n}\n","function empty() {\n  return [];\n}\n\nexport default function(selector) {\n  return selector == null ? empty : function() {\n    return this.querySelectorAll(selector);\n  };\n}\n","export default function(selector) {\n  return function() {\n    return this.matches(selector);\n  };\n}\n\nexport function childMatcher(selector) {\n  return function(node) {\n    return node.matches(selector);\n  };\n}\n\n","import {childMatcher} from \"../matcher.js\";\n\nvar find = Array.prototype.find;\n\nfunction childFind(match) {\n  return function() {\n    return find.call(this.children, match);\n  };\n}\n\nfunction childFirst() {\n  return this.firstElementChild;\n}\n\nexport default function(match) {\n  return this.select(match == null ? childFirst\n      : childFind(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","import {childMatcher} from \"../matcher.js\";\n\nvar filter = Array.prototype.filter;\n\nfunction children() {\n  return Array.from(this.children);\n}\n\nfunction childrenFilter(match) {\n  return function() {\n    return filter.call(this.children, match);\n  };\n}\n\nexport default function(match) {\n  return this.selectAll(match == null ? children\n      : childrenFilter(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","export default function(update) {\n  return new Array(update.length);\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n  return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n  this.ownerDocument = parent.ownerDocument;\n  this.namespaceURI = parent.namespaceURI;\n  this._next = null;\n  this._parent = parent;\n  this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n  constructor: EnterNode,\n  appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n  insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n  querySelector: function(selector) { return this._parent.querySelector(selector); },\n  querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n","import {Selection} from \"./index.js\";\nimport {EnterNode} from \"./enter.js\";\nimport constant from \"../constant.js\";\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n  var i = 0,\n      node,\n      groupLength = group.length,\n      dataLength = data.length;\n\n  // Put any non-null nodes that fit into update.\n  // Put any null nodes into enter.\n  // Put any remaining data into enter.\n  for (; i < dataLength; ++i) {\n    if (node = group[i]) {\n      node.__data__ = data[i];\n      update[i] = node;\n    } else {\n      enter[i] = new EnterNode(parent, data[i]);\n    }\n  }\n\n  // Put any non-null nodes that don’t fit into exit.\n  for (; i < groupLength; ++i) {\n    if (node = group[i]) {\n      exit[i] = node;\n    }\n  }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n  var i,\n      node,\n      nodeByKeyValue = new Map,\n      groupLength = group.length,\n      dataLength = data.length,\n      keyValues = new Array(groupLength),\n      keyValue;\n\n  // Compute the key for each node.\n  // If multiple nodes have the same key, the duplicates are added to exit.\n  for (i = 0; i < groupLength; ++i) {\n    if (node = group[i]) {\n      keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + \"\";\n      if (nodeByKeyValue.has(keyValue)) {\n        exit[i] = node;\n      } else {\n        nodeByKeyValue.set(keyValue, node);\n      }\n    }\n  }\n\n  // Compute the key for each datum.\n  // If there a node associated with this key, join and add it to update.\n  // If there is not (or the key is a duplicate), add it to enter.\n  for (i = 0; i < dataLength; ++i) {\n    keyValue = key.call(parent, data[i], i, data) + \"\";\n    if (node = nodeByKeyValue.get(keyValue)) {\n      update[i] = node;\n      node.__data__ = data[i];\n      nodeByKeyValue.delete(keyValue);\n    } else {\n      enter[i] = new EnterNode(parent, data[i]);\n    }\n  }\n\n  // Add any remaining nodes that were not bound to data to exit.\n  for (i = 0; i < groupLength; ++i) {\n    if ((node = group[i]) && (nodeByKeyValue.get(keyValues[i]) === node)) {\n      exit[i] = node;\n    }\n  }\n}\n\nfunction datum(node) {\n  return node.__data__;\n}\n\nexport default function(value, key) {\n  if (!arguments.length) return Array.from(this, datum);\n\n  var bind = key ? bindKey : bindIndex,\n      parents = this._parents,\n      groups = this._groups;\n\n  if (typeof value !== \"function\") value = constant(value);\n\n  for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n    var parent = parents[j],\n        group = groups[j],\n        groupLength = group.length,\n        data = arraylike(value.call(parent, parent && parent.__data__, j, parents)),\n        dataLength = data.length,\n        enterGroup = enter[j] = new Array(dataLength),\n        updateGroup = update[j] = new Array(dataLength),\n        exitGroup = exit[j] = new Array(groupLength);\n\n    bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n    // Now connect the enter nodes to their following update node, such that\n    // appendChild can insert the materialized enter node before this node,\n    // rather than at the end of the parent node.\n    for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n      if (previous = enterGroup[i0]) {\n        if (i0 >= i1) i1 = i0 + 1;\n        while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n        previous._next = next || null;\n      }\n    }\n  }\n\n  update = new Selection(update, parents);\n  update._enter = enter;\n  update._exit = exit;\n  return update;\n}\n\n// Given some data, this returns an array-like view of it: an object that\n// exposes a length property and allows numeric indexing. Note that unlike\n// selectAll, this isn’t worried about “live” collections because the resulting\n// array will only be used briefly while data is being bound. (It is possible to\n// cause the data to change while iterating by using a key function, but please\n// don’t; we’d rather avoid a gratuitous copy.)\nfunction arraylike(data) {\n  return typeof data === \"object\" && \"length\" in data\n    ? data // Array, TypedArray, NodeList, array-like\n    : Array.from(data); // Map, Set, iterable, string, or anything else\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(compare) {\n  if (!compare) compare = ascending;\n\n  function compareNode(a, b) {\n    return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n  }\n\n  for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n    for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n      if (node = group[i]) {\n        sortgroup[i] = node;\n      }\n    }\n    sortgroup.sort(compareNode);\n  }\n\n  return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n  return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n  svg: \"http://www.w3.org/2000/svg\",\n  xhtml: xhtml,\n  xlink: \"http://www.w3.org/1999/xlink\",\n  xml: \"http://www.w3.org/XML/1998/namespace\",\n  xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n","import namespaces from \"./namespaces.js\";\n\nexport default function(name) {\n  var prefix = name += \"\", i = prefix.indexOf(\":\");\n  if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n  return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name; // eslint-disable-line no-prototype-builtins\n}\n","import namespace from \"../namespace.js\";\n\nfunction attrRemove(name) {\n  return function() {\n    this.removeAttribute(name);\n  };\n}\n\nfunction attrRemoveNS(fullname) {\n  return function() {\n    this.removeAttributeNS(fullname.space, fullname.local);\n  };\n}\n\nfunction attrConstant(name, value) {\n  return function() {\n    this.setAttribute(name, value);\n  };\n}\n\nfunction attrConstantNS(fullname, value) {\n  return function() {\n    this.setAttributeNS(fullname.space, fullname.local, value);\n  };\n}\n\nfunction attrFunction(name, value) {\n  return function() {\n    var v = value.apply(this, arguments);\n    if (v == null) this.removeAttribute(name);\n    else this.setAttribute(name, v);\n  };\n}\n\nfunction attrFunctionNS(fullname, value) {\n  return function() {\n    var v = value.apply(this, arguments);\n    if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n    else this.setAttributeNS(fullname.space, fullname.local, v);\n  };\n}\n\nexport default function(name, value) {\n  var fullname = namespace(name);\n\n  if (arguments.length < 2) {\n    var node = this.node();\n    return fullname.local\n        ? node.getAttributeNS(fullname.space, fullname.local)\n        : node.getAttribute(fullname);\n  }\n\n  return this.each((value == null\n      ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n      ? (fullname.local ? attrFunctionNS : attrFunction)\n      : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n","export default function(node) {\n  return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n      || (node.document && node) // node is a Window\n      || node.defaultView; // node is a Document\n}\n","import defaultView from \"../window.js\";\n\nfunction styleRemove(name) {\n  return function() {\n    this.style.removeProperty(name);\n  };\n}\n\nfunction styleConstant(name, value, priority) {\n  return function() {\n    this.style.setProperty(name, value, priority);\n  };\n}\n\nfunction styleFunction(name, value, priority) {\n  return function() {\n    var v = value.apply(this, arguments);\n    if (v == null) this.style.removeProperty(name);\n    else this.style.setProperty(name, v, priority);\n  };\n}\n\nexport default function(name, value, priority) {\n  return arguments.length > 1\n      ? this.each((value == null\n            ? styleRemove : typeof value === \"function\"\n            ? styleFunction\n            : styleConstant)(name, value, priority == null ? \"\" : priority))\n      : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n  return node.style.getPropertyValue(name)\n      || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n","function propertyRemove(name) {\n  return function() {\n    delete this[name];\n  };\n}\n\nfunction propertyConstant(name, value) {\n  return function() {\n    this[name] = value;\n  };\n}\n\nfunction propertyFunction(name, value) {\n  return function() {\n    var v = value.apply(this, arguments);\n    if (v == null) delete this[name];\n    else this[name] = v;\n  };\n}\n\nexport default function(name, value) {\n  return arguments.length > 1\n      ? this.each((value == null\n          ? propertyRemove : typeof value === \"function\"\n          ? propertyFunction\n          : propertyConstant)(name, value))\n      : this.node()[name];\n}\n","function classArray(string) {\n  return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n  return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n  this._node = node;\n  this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n  add: function(name) {\n    var i = this._names.indexOf(name);\n    if (i < 0) {\n      this._names.push(name);\n      this._node.setAttribute(\"class\", this._names.join(\" \"));\n    }\n  },\n  remove: function(name) {\n    var i = this._names.indexOf(name);\n    if (i >= 0) {\n      this._names.splice(i, 1);\n      this._node.setAttribute(\"class\", this._names.join(\" \"));\n    }\n  },\n  contains: function(name) {\n    return this._names.indexOf(name) >= 0;\n  }\n};\n\nfunction classedAdd(node, names) {\n  var list = classList(node), i = -1, n = names.length;\n  while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n  var list = classList(node), i = -1, n = names.length;\n  while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n  return function() {\n    classedAdd(this, names);\n  };\n}\n\nfunction classedFalse(names) {\n  return function() {\n    classedRemove(this, names);\n  };\n}\n\nfunction classedFunction(names, value) {\n  return function() {\n    (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n  };\n}\n\nexport default function(name, value) {\n  var names = classArray(name + \"\");\n\n  if (arguments.length < 2) {\n    var list = classList(this.node()), i = -1, n = names.length;\n    while (++i < n) if (!list.contains(names[i])) return false;\n    return true;\n  }\n\n  return this.each((typeof value === \"function\"\n      ? classedFunction : value\n      ? classedTrue\n      : classedFalse)(names, value));\n}\n","function textRemove() {\n  this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n  return function() {\n    this.textContent = value;\n  };\n}\n\nfunction textFunction(value) {\n  return function() {\n    var v = value.apply(this, arguments);\n    this.textContent = v == null ? \"\" : v;\n  };\n}\n\nexport default function(value) {\n  return arguments.length\n      ? this.each(value == null\n          ? textRemove : (typeof value === \"function\"\n          ? textFunction\n          : textConstant)(value))\n      : this.node().textContent;\n}\n","function htmlRemove() {\n  this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n  return function() {\n    this.innerHTML = value;\n  };\n}\n\nfunction htmlFunction(value) {\n  return function() {\n    var v = value.apply(this, arguments);\n    this.innerHTML = v == null ? \"\" : v;\n  };\n}\n\nexport default function(value) {\n  return arguments.length\n      ? this.each(value == null\n          ? htmlRemove : (typeof value === \"function\"\n          ? htmlFunction\n          : htmlConstant)(value))\n      : this.node().innerHTML;\n}\n","function raise() {\n  if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n  return this.each(raise);\n}\n","function lower() {\n  if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n  return this.each(lower);\n}\n","import namespace from \"./namespace.js\";\nimport {xhtml} from \"./namespaces.js\";\n\nfunction creatorInherit(name) {\n  return function() {\n    var document = this.ownerDocument,\n        uri = this.namespaceURI;\n    return uri === xhtml && document.documentElement.namespaceURI === xhtml\n        ? document.createElement(name)\n        : document.createElementNS(uri, name);\n  };\n}\n\nfunction creatorFixed(fullname) {\n  return function() {\n    return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n  };\n}\n\nexport default function(name) {\n  var fullname = namespace(name);\n  return (fullname.local\n      ? creatorFixed\n      : creatorInherit)(fullname);\n}\n","import creator from \"../creator.js\";\nimport selector from \"../selector.js\";\n\nfunction constantNull() {\n  return null;\n}\n\nexport default function(name, before) {\n  var create = typeof name === \"function\" ? name : creator(name),\n      select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n  return this.select(function() {\n    return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n  });\n}\n","function remove() {\n  var parent = this.parentNode;\n  if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n  return this.each(remove);\n}\n","function selection_cloneShallow() {\n  var clone = this.cloneNode(false), parent = this.parentNode;\n  return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nfunction selection_cloneDeep() {\n  var clone = this.cloneNode(true), parent = this.parentNode;\n  return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nexport default function(deep) {\n  return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n","function contextListener(listener) {\n  return function(event) {\n    listener.call(this, event, this.__data__);\n  };\n}\n\nfunction parseTypenames(typenames) {\n  return typenames.trim().split(/^|\\s+/).map(function(t) {\n    var name = \"\", i = t.indexOf(\".\");\n    if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n    return {type: t, name: name};\n  });\n}\n\nfunction onRemove(typename) {\n  return function() {\n    var on = this.__on;\n    if (!on) return;\n    for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n      if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n        this.removeEventListener(o.type, o.listener, o.options);\n      } else {\n        on[++i] = o;\n      }\n    }\n    if (++i) on.length = i;\n    else delete this.__on;\n  };\n}\n\nfunction onAdd(typename, value, options) {\n  return function() {\n    var on = this.__on, o, listener = contextListener(value);\n    if (on) for (var j = 0, m = on.length; j < m; ++j) {\n      if ((o = on[j]).type === typename.type && o.name === typename.name) {\n        this.removeEventListener(o.type, o.listener, o.options);\n        this.addEventListener(o.type, o.listener = listener, o.options = options);\n        o.value = value;\n        return;\n      }\n    }\n    this.addEventListener(typename.type, listener, options);\n    o = {type: typename.type, name: typename.name, value: value, listener: listener, options: options};\n    if (!on) this.__on = [o];\n    else on.push(o);\n  };\n}\n\nexport default function(typename, value, options) {\n  var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n  if (arguments.length < 2) {\n    var on = this.node().__on;\n    if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n      for (i = 0, o = on[j]; i < n; ++i) {\n        if ((t = typenames[i]).type === o.type && t.name === o.name) {\n          return o.value;\n        }\n      }\n    }\n    return;\n  }\n\n  on = value ? onAdd : onRemove;\n  for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options));\n  return this;\n}\n","import defaultView from \"../window.js\";\n\nfunction dispatchEvent(node, type, params) {\n  var window = defaultView(node),\n      event = window.CustomEvent;\n\n  if (typeof event === \"function\") {\n    event = new event(type, params);\n  } else {\n    event = window.document.createEvent(\"Event\");\n    if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n    else event.initEvent(type, false, false);\n  }\n\n  node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n  return function() {\n    return dispatchEvent(this, type, params);\n  };\n}\n\nfunction dispatchFunction(type, params) {\n  return function() {\n    return dispatchEvent(this, type, params.apply(this, arguments));\n  };\n}\n\nexport default function(type, params) {\n  return this.each((typeof params === \"function\"\n      ? dispatchFunction\n      : dispatchConstant)(type, params));\n}\n","import selection_select from \"./select.js\";\nimport selection_selectAll from \"./selectAll.js\";\nimport selection_selectChild from \"./selectChild.js\";\nimport selection_selectChildren from \"./selectChildren.js\";\nimport selection_filter from \"./filter.js\";\nimport selection_data from \"./data.js\";\nimport selection_enter from \"./enter.js\";\nimport selection_exit from \"./exit.js\";\nimport selection_join from \"./join.js\";\nimport selection_merge from \"./merge.js\";\nimport selection_order from \"./order.js\";\nimport selection_sort from \"./sort.js\";\nimport selection_call from \"./call.js\";\nimport selection_nodes from \"./nodes.js\";\nimport selection_node from \"./node.js\";\nimport selection_size from \"./size.js\";\nimport selection_empty from \"./empty.js\";\nimport selection_each from \"./each.js\";\nimport selection_attr from \"./attr.js\";\nimport selection_style from \"./style.js\";\nimport selection_property from \"./property.js\";\nimport selection_classed from \"./classed.js\";\nimport selection_text from \"./text.js\";\nimport selection_html from \"./html.js\";\nimport selection_raise from \"./raise.js\";\nimport selection_lower from \"./lower.js\";\nimport selection_append from \"./append.js\";\nimport selection_insert from \"./insert.js\";\nimport selection_remove from \"./remove.js\";\nimport selection_clone from \"./clone.js\";\nimport selection_datum from \"./datum.js\";\nimport selection_on from \"./on.js\";\nimport selection_dispatch from \"./dispatch.js\";\nimport selection_iterator from \"./iterator.js\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n  this._groups = groups;\n  this._parents = parents;\n}\n\nfunction selection() {\n  return new Selection([[document.documentElement]], root);\n}\n\nfunction selection_selection() {\n  return this;\n}\n\nSelection.prototype = selection.prototype = {\n  constructor: Selection,\n  select: selection_select,\n  selectAll: selection_selectAll,\n  selectChild: selection_selectChild,\n  selectChildren: selection_selectChildren,\n  filter: selection_filter,\n  data: selection_data,\n  enter: selection_enter,\n  exit: selection_exit,\n  join: selection_join,\n  merge: selection_merge,\n  selection: selection_selection,\n  order: selection_order,\n  sort: selection_sort,\n  call: selection_call,\n  nodes: selection_nodes,\n  node: selection_node,\n  size: selection_size,\n  empty: selection_empty,\n  each: selection_each,\n  attr: selection_attr,\n  style: selection_style,\n  property: selection_property,\n  classed: selection_classed,\n  text: selection_text,\n  html: selection_html,\n  raise: selection_raise,\n  lower: selection_lower,\n  append: selection_append,\n  insert: selection_insert,\n  remove: selection_remove,\n  clone: selection_clone,\n  datum: selection_datum,\n  on: selection_on,\n  dispatch: selection_dispatch,\n  [Symbol.iterator]: selection_iterator\n};\n\nexport default selection;\n","import {Selection} from \"./index.js\";\nimport selector from \"../selector.js\";\n\nexport default function(select) {\n  if (typeof select !== \"function\") select = selector(select);\n\n  for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n    for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n      if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n        if (\"__data__\" in node) subnode.__data__ = node.__data__;\n        subgroup[i] = subnode;\n      }\n    }\n  }\n\n  return new Selection(subgroups, this._parents);\n}\n","import {Selection} from \"./index.js\";\nimport array from \"../array.js\";\nimport selectorAll from \"../selectorAll.js\";\n\nfunction arrayAll(select) {\n  return function() {\n    return array(select.apply(this, arguments));\n  };\n}\n\nexport default function(select) {\n  if (typeof select === \"function\") select = arrayAll(select);\n  else select = selectorAll(select);\n\n  for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n    for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n      if (node = group[i]) {\n        subgroups.push(select.call(node, node.__data__, i, group));\n        parents.push(node);\n      }\n    }\n  }\n\n  return new Selection(subgroups, parents);\n}\n","// Given something array like (or null), returns something that is strictly an\n// array. This is used to ensure that array-like objects passed to d3.selectAll\n// or selection.selectAll are converted into proper arrays when creating a\n// selection; we don’t ever want to create a selection backed by a live\n// HTMLCollection or NodeList. However, note that selection.selectAll will use a\n// static NodeList as a group, since it safely derived from querySelectorAll.\nexport default function array(x) {\n  return x == null ? [] : Array.isArray(x) ? x : Array.from(x);\n}\n","import {Selection} from \"./index.js\";\nimport matcher from \"../matcher.js\";\n\nexport default function(match) {\n  if (typeof match !== \"function\") match = matcher(match);\n\n  for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n    for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n      if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n        subgroup.push(node);\n      }\n    }\n  }\n\n  return new Selection(subgroups, this._parents);\n}\n","export default function(x) {\n  return function() {\n    return x;\n  };\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n  return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n","export default function(onenter, onupdate, onexit) {\n  var enter = this.enter(), update = this, exit = this.exit();\n  if (typeof onenter === \"function\") {\n    enter = onenter(enter);\n    if (enter) enter = enter.selection();\n  } else {\n    enter = enter.append(onenter + \"\");\n  }\n  if (onupdate != null) {\n    update = onupdate(update);\n    if (update) update = update.selection();\n  }\n  if (onexit == null) exit.remove(); else onexit(exit);\n  return enter && update ? enter.merge(update).order() : update;\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(context) {\n  var selection = context.selection ? context.selection() : context;\n\n  for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n    for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n      if (node = group0[i] || group1[i]) {\n        merge[i] = node;\n      }\n    }\n  }\n\n  for (; j < m0; ++j) {\n    merges[j] = groups0[j];\n  }\n\n  return new Selection(merges, this._parents);\n}\n","export default function() {\n\n  for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n    for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n      if (node = group[i]) {\n        if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);\n        next = node;\n      }\n    }\n  }\n\n  return this;\n}\n","export default function() {\n  var callback = arguments[0];\n  arguments[0] = this;\n  callback.apply(null, arguments);\n  return this;\n}\n","export default function() {\n  return Array.from(this);\n}\n","export default function() {\n\n  for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n    for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n      var node = group[i];\n      if (node) return node;\n    }\n  }\n\n  return null;\n}\n","export default function() {\n  let size = 0;\n  for (const node of this) ++size; // eslint-disable-line no-unused-vars\n  return size;\n}\n","export default function() {\n  return !this.node();\n}\n","export default function(callback) {\n\n  for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n    for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n      if (node = group[i]) callback.call(node, node.__data__, i, group);\n    }\n  }\n\n  return this;\n}\n","import creator from \"../creator.js\";\n\nexport default function(name) {\n  var create = typeof name === \"function\" ? name : creator(name);\n  return this.select(function() {\n    return this.appendChild(create.apply(this, arguments));\n  });\n}\n","export default function(value) {\n  return arguments.length\n      ? this.property(\"__data__\", value)\n      : this.node().__data__;\n}\n","export default function*() {\n  for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n    for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n      if (node = group[i]) yield node;\n    }\n  }\n}\n","var noop = {value: () => {}};\n\nfunction dispatch() {\n  for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n    if (!(t = arguments[i] + \"\") || (t in _) || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n    _[t] = [];\n  }\n  return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n  this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n  return typenames.trim().split(/^|\\s+/).map(function(t) {\n    var name = \"\", i = t.indexOf(\".\");\n    if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n    if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n    return {type: t, name: name};\n  });\n}\n\nDispatch.prototype = dispatch.prototype = {\n  constructor: Dispatch,\n  on: function(typename, callback) {\n    var _ = this._,\n        T = parseTypenames(typename + \"\", _),\n        t,\n        i = -1,\n        n = T.length;\n\n    // If no callback was specified, return the callback of the given type and name.\n    if (arguments.length < 2) {\n      while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n      return;\n    }\n\n    // If a type was specified, set the callback for the given type and name.\n    // Otherwise, if a null callback was specified, remove callbacks of the given name.\n    if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n    while (++i < n) {\n      if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n      else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n    }\n\n    return this;\n  },\n  copy: function() {\n    var copy = {}, _ = this._;\n    for (var t in _) copy[t] = _[t].slice();\n    return new Dispatch(copy);\n  },\n  call: function(type, that) {\n    if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n    if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n    for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n  },\n  apply: function(type, that, args) {\n    if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n    for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n  }\n};\n\nfunction get(type, name) {\n  for (var i = 0, n = type.length, c; i < n; ++i) {\n    if ((c = type[i]).name === name) {\n      return c.value;\n    }\n  }\n}\n\nfunction set(type, name, callback) {\n  for (var i = 0, n = type.length; i < n; ++i) {\n    if (type[i].name === name) {\n      type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n      break;\n    }\n  }\n  if (callback != null) type.push({name: name, value: callback});\n  return type;\n}\n\nexport default dispatch;\n","var frame = 0, // is an animation frame pending?\n    timeout = 0, // is a timeout pending?\n    interval = 0, // are any timers active?\n    pokeDelay = 1000, // how frequently we check for clock skew\n    taskHead,\n    taskTail,\n    clockLast = 0,\n    clockNow = 0,\n    clockSkew = 0,\n    clock = typeof performance === \"object\" && performance.now ? performance : Date,\n    setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n  return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n  clockNow = 0;\n}\n\nexport function Timer() {\n  this._call =\n  this._time =\n  this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n  constructor: Timer,\n  restart: function(callback, delay, time) {\n    if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n    time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n    if (!this._next && taskTail !== this) {\n      if (taskTail) taskTail._next = this;\n      else taskHead = this;\n      taskTail = this;\n    }\n    this._call = callback;\n    this._time = time;\n    sleep();\n  },\n  stop: function() {\n    if (this._call) {\n      this._call = null;\n      this._time = Infinity;\n      sleep();\n    }\n  }\n};\n\nexport function timer(callback, delay, time) {\n  var t = new Timer;\n  t.restart(callback, delay, time);\n  return t;\n}\n\nexport function timerFlush() {\n  now(); // Get the current time, if not already set.\n  ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n  var t = taskHead, e;\n  while (t) {\n    if ((e = clockNow - t._time) >= 0) t._call.call(undefined, e);\n    t = t._next;\n  }\n  --frame;\n}\n\nfunction wake() {\n  clockNow = (clockLast = clock.now()) + clockSkew;\n  frame = timeout = 0;\n  try {\n    timerFlush();\n  } finally {\n    frame = 0;\n    nap();\n    clockNow = 0;\n  }\n}\n\nfunction poke() {\n  var now = clock.now(), delay = now - clockLast;\n  if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n  var t0, t1 = taskHead, t2, time = Infinity;\n  while (t1) {\n    if (t1._call) {\n      if (time > t1._time) time = t1._time;\n      t0 = t1, t1 = t1._next;\n    } else {\n      t2 = t1._next, t1._next = null;\n      t1 = t0 ? t0._next = t2 : taskHead = t2;\n    }\n  }\n  taskTail = t0;\n  sleep(time);\n}\n\nfunction sleep(time) {\n  if (frame) return; // Soonest alarm already set, or will be.\n  if (timeout) timeout = clearTimeout(timeout);\n  var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n  if (delay > 24) {\n    if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n    if (interval) interval = clearInterval(interval);\n  } else {\n    if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n    frame = 1, setFrame(wake);\n  }\n}\n","import {Timer} from \"./timer.js\";\n\nexport default function(callback, delay, time) {\n  var t = new Timer;\n  delay = delay == null ? 0 : +delay;\n  t.restart(elapsed => {\n    t.stop();\n    callback(elapsed + delay);\n  }, delay, time);\n  return t;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {timer, timeout} from \"d3-timer\";\n\nvar emptyOn = dispatch(\"start\", \"end\", \"cancel\", \"interrupt\");\nvar emptyTween = [];\n\nexport var CREATED = 0;\nexport var SCHEDULED = 1;\nexport var STARTING = 2;\nexport var STARTED = 3;\nexport var RUNNING = 4;\nexport var ENDING = 5;\nexport var ENDED = 6;\n\nexport default function(node, name, id, index, group, timing) {\n  var schedules = node.__transition;\n  if (!schedules) node.__transition = {};\n  else if (id in schedules) return;\n  create(node, id, {\n    name: name,\n    index: index, // For context during callback.\n    group: group, // For context during callback.\n    on: emptyOn,\n    tween: emptyTween,\n    time: timing.time,\n    delay: timing.delay,\n    duration: timing.duration,\n    ease: timing.ease,\n    timer: null,\n    state: CREATED\n  });\n}\n\nexport function init(node, id) {\n  var schedule = get(node, id);\n  if (schedule.state > CREATED) throw new Error(\"too late; already scheduled\");\n  return schedule;\n}\n\nexport function set(node, id) {\n  var schedule = get(node, id);\n  if (schedule.state > STARTED) throw new Error(\"too late; already running\");\n  return schedule;\n}\n\nexport function get(node, id) {\n  var schedule = node.__transition;\n  if (!schedule || !(schedule = schedule[id])) throw new Error(\"transition not found\");\n  return schedule;\n}\n\nfunction create(node, id, self) {\n  var schedules = node.__transition,\n      tween;\n\n  // Initialize the self timer when the transition is created.\n  // Note the actual delay is not known until the first callback!\n  schedules[id] = self;\n  self.timer = timer(schedule, 0, self.time);\n\n  function schedule(elapsed) {\n    self.state = SCHEDULED;\n    self.timer.restart(start, self.delay, self.time);\n\n    // If the elapsed delay is less than our first sleep, start immediately.\n    if (self.delay <= elapsed) start(elapsed - self.delay);\n  }\n\n  function start(elapsed) {\n    var i, j, n, o;\n\n    // If the state is not SCHEDULED, then we previously errored on start.\n    if (self.state !== SCHEDULED) return stop();\n\n    for (i in schedules) {\n      o = schedules[i];\n      if (o.name !== self.name) continue;\n\n      // While this element already has a starting transition during this frame,\n      // defer starting an interrupting transition until that transition has a\n      // chance to tick (and possibly end); see d3/d3-transition#54!\n      if (o.state === STARTED) return timeout(start);\n\n      // Interrupt the active transition, if any.\n      if (o.state === RUNNING) {\n        o.state = ENDED;\n        o.timer.stop();\n        o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n        delete schedules[i];\n      }\n\n      // Cancel any pre-empted transitions.\n      else if (+i < id) {\n        o.state = ENDED;\n        o.timer.stop();\n        o.on.call(\"cancel\", node, node.__data__, o.index, o.group);\n        delete schedules[i];\n      }\n    }\n\n    // Defer the first tick to end of the current frame; see d3/d3#1576.\n    // Note the transition may be canceled after start and before the first tick!\n    // Note this must be scheduled before the start event; see d3/d3-transition#16!\n    // Assuming this is successful, subsequent callbacks go straight to tick.\n    timeout(function() {\n      if (self.state === STARTED) {\n        self.state = RUNNING;\n        self.timer.restart(tick, self.delay, self.time);\n        tick(elapsed);\n      }\n    });\n\n    // Dispatch the start event.\n    // Note this must be done before the tween are initialized.\n    self.state = STARTING;\n    self.on.call(\"start\", node, node.__data__, self.index, self.group);\n    if (self.state !== STARTING) return; // interrupted\n    self.state = STARTED;\n\n    // Initialize the tween, deleting null tween.\n    tween = new Array(n = self.tween.length);\n    for (i = 0, j = -1; i < n; ++i) {\n      if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n        tween[++j] = o;\n      }\n    }\n    tween.length = j + 1;\n  }\n\n  function tick(elapsed) {\n    var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n        i = -1,\n        n = tween.length;\n\n    while (++i < n) {\n      tween[i].call(node, t);\n    }\n\n    // Dispatch the end event.\n    if (self.state === ENDING) {\n      self.on.call(\"end\", node, node.__data__, self.index, self.group);\n      stop();\n    }\n  }\n\n  function stop() {\n    self.state = ENDED;\n    self.timer.stop();\n    delete schedules[id];\n    for (var i in schedules) return; // eslint-disable-line no-unused-vars\n    delete node.__transition;\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","var degrees = 180 / Math.PI;\n\nexport var identity = {\n  translateX: 0,\n  translateY: 0,\n  rotate: 0,\n  skewX: 0,\n  scaleX: 1,\n  scaleY: 1\n};\n\nexport default function(a, b, c, d, e, f) {\n  var scaleX, scaleY, skewX;\n  if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n  if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n  if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n  if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n  return {\n    translateX: e,\n    translateY: f,\n    rotate: Math.atan2(b, a) * degrees,\n    skewX: Math.atan(skewX) * degrees,\n    scaleX: scaleX,\n    scaleY: scaleY\n  };\n}\n","import decompose, {identity} from \"./decompose.js\";\n\nvar svgNode;\n\n/* eslint-disable no-undef */\nexport function parseCss(value) {\n  const m = new (typeof DOMMatrix === \"function\" ? DOMMatrix : WebKitCSSMatrix)(value + \"\");\n  return m.isIdentity ? identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f);\n}\n\nexport function parseSvg(value) {\n  if (value == null) return identity;\n  if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n  svgNode.setAttribute(\"transform\", value);\n  if (!(value = svgNode.transform.baseVal.consolidate())) return identity;\n  value = value.matrix;\n  return decompose(value.a, value.b, value.c, value.d, value.e, value.f);\n}\n","import number from \"../number.js\";\nimport {parseCss, parseSvg} from \"./parse.js\";\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n\n  function pop(s) {\n    return s.length ? s.pop() + \" \" : \"\";\n  }\n\n  function translate(xa, ya, xb, yb, s, q) {\n    if (xa !== xb || ya !== yb) {\n      var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n      q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n    } else if (xb || yb) {\n      s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n    }\n  }\n\n  function rotate(a, b, s, q) {\n    if (a !== b) {\n      if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path\n      q.push({i: s.push(pop(s) + \"rotate(\", null, degParen) - 2, x: number(a, b)});\n    } else if (b) {\n      s.push(pop(s) + \"rotate(\" + b + degParen);\n    }\n  }\n\n  function skewX(a, b, s, q) {\n    if (a !== b) {\n      q.push({i: s.push(pop(s) + \"skewX(\", null, degParen) - 2, x: number(a, b)});\n    } else if (b) {\n      s.push(pop(s) + \"skewX(\" + b + degParen);\n    }\n  }\n\n  function scale(xa, ya, xb, yb, s, q) {\n    if (xa !== xb || ya !== yb) {\n      var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n      q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n    } else if (xb !== 1 || yb !== 1) {\n      s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n    }\n  }\n\n  return function(a, b) {\n    var s = [], // string constants and placeholders\n        q = []; // number interpolators\n    a = parse(a), b = parse(b);\n    translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n    rotate(a.rotate, b.rotate, s, q);\n    skewX(a.skewX, b.skewX, s, q);\n    scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n    a = b = null; // gc\n    return function(t) {\n      var i = -1, n = q.length, o;\n      while (++i < n) s[(o = q[i]).i] = o.x(t);\n      return s.join(\"\");\n    };\n  };\n}\n\nexport var interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nexport var interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");\n","import {get, set} from \"./schedule.js\";\n\nfunction tweenRemove(id, name) {\n  var tween0, tween1;\n  return function() {\n    var schedule = set(this, id),\n        tween = schedule.tween;\n\n    // If this node shared tween with the previous node,\n    // just assign the updated shared tween and we’re done!\n    // Otherwise, copy-on-write.\n    if (tween !== tween0) {\n      tween1 = tween0 = tween;\n      for (var i = 0, n = tween1.length; i < n; ++i) {\n        if (tween1[i].name === name) {\n          tween1 = tween1.slice();\n          tween1.splice(i, 1);\n          break;\n        }\n      }\n    }\n\n    schedule.tween = tween1;\n  };\n}\n\nfunction tweenFunction(id, name, value) {\n  var tween0, tween1;\n  if (typeof value !== \"function\") throw new Error;\n  return function() {\n    var schedule = set(this, id),\n        tween = schedule.tween;\n\n    // If this node shared tween with the previous node,\n    // just assign the updated shared tween and we’re done!\n    // Otherwise, copy-on-write.\n    if (tween !== tween0) {\n      tween1 = (tween0 = tween).slice();\n      for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {\n        if (tween1[i].name === name) {\n          tween1[i] = t;\n          break;\n        }\n      }\n      if (i === n) tween1.push(t);\n    }\n\n    schedule.tween = tween1;\n  };\n}\n\nexport default function(name, value) {\n  var id = this._id;\n\n  name += \"\";\n\n  if (arguments.length < 2) {\n    var tween = get(this.node(), id).tween;\n    for (var i = 0, n = tween.length, t; i < n; ++i) {\n      if ((t = tween[i]).name === name) {\n        return t.value;\n      }\n    }\n    return null;\n  }\n\n  return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n}\n\nexport function tweenValue(transition, name, value) {\n  var id = transition._id;\n\n  transition.each(function() {\n    var schedule = set(this, id);\n    (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n  });\n\n  return function(node) {\n    return get(node, id).value[name];\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(channels) {\n    return Object.assign(new this.constructor, this, channels);\n  },\n  displayable() {\n    return this.rgb().displayable();\n  },\n  hex: color_formatHex, // Deprecated! Use color.formatHex.\n  formatHex: color_formatHex,\n  formatHex8: color_formatHex8,\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_formatHex8() {\n  return this.rgb().formatHex8();\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(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(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() {\n    return this;\n  },\n  clamp() {\n    return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));\n  },\n  displayable() {\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  formatHex8: rgb_formatHex8,\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_formatHex8() {\n  return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;\n}\n\nfunction rgb_formatRgb() {\n  const a = clampa(this.opacity);\n  return `${a === 1 ? \"rgb(\" : \"rgba(\"}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? \")\" : `, ${a})`}`;\n}\n\nfunction clampa(opacity) {\n  return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity));\n}\n\nfunction clampi(value) {\n  return Math.max(0, Math.min(255, Math.round(value) || 0));\n}\n\nfunction hex(value) {\n  value = clampi(value);\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(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(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() {\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  clamp() {\n    return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));\n  },\n  displayable() {\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() {\n    const a = clampa(this.opacity);\n    return `${a === 1 ? \"hsl(\" : \"hsla(\"}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? \")\" : `, ${a})`}`;\n  }\n}));\n\nfunction clamph(value) {\n  value = (value || 0) % 360;\n  return value < 0 ? value + 360 : value;\n}\n\nfunction clampt(value) {\n  return Math.max(0, Math.min(1, value || 0));\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 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","import {color} from \"d3-color\";\nimport {interpolateNumber, interpolateRgb, interpolateString} from \"d3-interpolate\";\n\nexport default function(a, b) {\n  var c;\n  return (typeof b === \"number\" ? interpolateNumber\n      : b instanceof color ? interpolateRgb\n      : (c = color(b)) ? (b = c, interpolateRgb)\n      : interpolateString)(a, b);\n}\n","import {interpolateTransformSvg as interpolateTransform} from \"d3-interpolate\";\nimport {namespace} from \"d3-selection\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction attrRemove(name) {\n  return function() {\n    this.removeAttribute(name);\n  };\n}\n\nfunction attrRemoveNS(fullname) {\n  return function() {\n    this.removeAttributeNS(fullname.space, fullname.local);\n  };\n}\n\nfunction attrConstant(name, interpolate, value1) {\n  var string00,\n      string1 = value1 + \"\",\n      interpolate0;\n  return function() {\n    var string0 = this.getAttribute(name);\n    return string0 === string1 ? null\n        : string0 === string00 ? interpolate0\n        : interpolate0 = interpolate(string00 = string0, value1);\n  };\n}\n\nfunction attrConstantNS(fullname, interpolate, value1) {\n  var string00,\n      string1 = value1 + \"\",\n      interpolate0;\n  return function() {\n    var string0 = this.getAttributeNS(fullname.space, fullname.local);\n    return string0 === string1 ? null\n        : string0 === string00 ? interpolate0\n        : interpolate0 = interpolate(string00 = string0, value1);\n  };\n}\n\nfunction attrFunction(name, interpolate, value) {\n  var string00,\n      string10,\n      interpolate0;\n  return function() {\n    var string0, value1 = value(this), string1;\n    if (value1 == null) return void this.removeAttribute(name);\n    string0 = this.getAttribute(name);\n    string1 = value1 + \"\";\n    return string0 === string1 ? null\n        : string0 === string00 && string1 === string10 ? interpolate0\n        : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n  };\n}\n\nfunction attrFunctionNS(fullname, interpolate, value) {\n  var string00,\n      string10,\n      interpolate0;\n  return function() {\n    var string0, value1 = value(this), string1;\n    if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n    string0 = this.getAttributeNS(fullname.space, fullname.local);\n    string1 = value1 + \"\";\n    return string0 === string1 ? null\n        : string0 === string00 && string1 === string10 ? interpolate0\n        : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n  };\n}\n\nexport default function(name, value) {\n  var fullname = namespace(name), i = fullname === \"transform\" ? interpolateTransform : interpolate;\n  return this.attrTween(name, typeof value === \"function\"\n      ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value))\n      : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname)\n      : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value));\n}\n","import {namespace} from \"d3-selection\";\n\nfunction attrInterpolate(name, i) {\n  return function(t) {\n    this.setAttribute(name, i.call(this, t));\n  };\n}\n\nfunction attrInterpolateNS(fullname, i) {\n  return function(t) {\n    this.setAttributeNS(fullname.space, fullname.local, i.call(this, t));\n  };\n}\n\nfunction attrTweenNS(fullname, value) {\n  var t0, i0;\n  function tween() {\n    var i = value.apply(this, arguments);\n    if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i);\n    return t0;\n  }\n  tween._value = value;\n  return tween;\n}\n\nfunction attrTween(name, value) {\n  var t0, i0;\n  function tween() {\n    var i = value.apply(this, arguments);\n    if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i);\n    return t0;\n  }\n  tween._value = value;\n  return tween;\n}\n\nexport default function(name, value) {\n  var key = \"attr.\" + name;\n  if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n  if (value == null) return this.tween(key, null);\n  if (typeof value !== \"function\") throw new Error;\n  var fullname = namespace(name);\n  return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}\n","import {get, init} from \"./schedule.js\";\n\nfunction delayFunction(id, value) {\n  return function() {\n    init(this, id).delay = +value.apply(this, arguments);\n  };\n}\n\nfunction delayConstant(id, value) {\n  return value = +value, function() {\n    init(this, id).delay = value;\n  };\n}\n\nexport default function(value) {\n  var id = this._id;\n\n  return arguments.length\n      ? this.each((typeof value === \"function\"\n          ? delayFunction\n          : delayConstant)(id, value))\n      : get(this.node(), id).delay;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction durationFunction(id, value) {\n  return function() {\n    set(this, id).duration = +value.apply(this, arguments);\n  };\n}\n\nfunction durationConstant(id, value) {\n  return value = +value, function() {\n    set(this, id).duration = value;\n  };\n}\n\nexport default function(value) {\n  var id = this._id;\n\n  return arguments.length\n      ? this.each((typeof value === \"function\"\n          ? durationFunction\n          : durationConstant)(id, value))\n      : get(this.node(), id).duration;\n}\n","import {selection} from \"d3-selection\";\n\nvar Selection = selection.prototype.constructor;\n\nexport default function() {\n  return new Selection(this._groups, this._parents);\n}\n","import {interpolateTransformCss as interpolateTransform} from \"d3-interpolate\";\nimport {style} from \"d3-selection\";\nimport {set} from \"./schedule.js\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction styleNull(name, interpolate) {\n  var string00,\n      string10,\n      interpolate0;\n  return function() {\n    var string0 = style(this, name),\n        string1 = (this.style.removeProperty(name), style(this, name));\n    return string0 === string1 ? null\n        : string0 === string00 && string1 === string10 ? interpolate0\n        : interpolate0 = interpolate(string00 = string0, string10 = string1);\n  };\n}\n\nfunction styleRemove(name) {\n  return function() {\n    this.style.removeProperty(name);\n  };\n}\n\nfunction styleConstant(name, interpolate, value1) {\n  var string00,\n      string1 = value1 + \"\",\n      interpolate0;\n  return function() {\n    var string0 = style(this, name);\n    return string0 === string1 ? null\n        : string0 === string00 ? interpolate0\n        : interpolate0 = interpolate(string00 = string0, value1);\n  };\n}\n\nfunction styleFunction(name, interpolate, value) {\n  var string00,\n      string10,\n      interpolate0;\n  return function() {\n    var string0 = style(this, name),\n        value1 = value(this),\n        string1 = value1 + \"\";\n    if (value1 == null) string1 = value1 = (this.style.removeProperty(name), style(this, name));\n    return string0 === string1 ? null\n        : string0 === string00 && string1 === string10 ? interpolate0\n        : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n  };\n}\n\nfunction styleMaybeRemove(id, name) {\n  var on0, on1, listener0, key = \"style.\" + name, event = \"end.\" + key, remove;\n  return function() {\n    var schedule = set(this, id),\n        on = schedule.on,\n        listener = schedule.value[key] == null ? remove || (remove = styleRemove(name)) : undefined;\n\n    // If this node shared a dispatch with the previous node,\n    // just assign the updated shared dispatch and we’re done!\n    // Otherwise, copy-on-write.\n    if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);\n\n    schedule.on = on1;\n  };\n}\n\nexport default function(name, value, priority) {\n  var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n  return value == null ? this\n      .styleTween(name, styleNull(name, i))\n      .on(\"end.style.\" + name, styleRemove(name))\n    : typeof value === \"function\" ? this\n      .styleTween(name, styleFunction(name, i, tweenValue(this, \"style.\" + name, value)))\n      .each(styleMaybeRemove(this._id, name))\n    : this\n      .styleTween(name, styleConstant(name, i, value), priority)\n      .on(\"end.style.\" + name, null);\n}\n","import {selection} from \"d3-selection\";\nimport transition_attr from \"./attr.js\";\nimport transition_attrTween from \"./attrTween.js\";\nimport transition_delay from \"./delay.js\";\nimport transition_duration from \"./duration.js\";\nimport transition_ease from \"./ease.js\";\nimport transition_easeVarying from \"./easeVarying.js\";\nimport transition_filter from \"./filter.js\";\nimport transition_merge from \"./merge.js\";\nimport transition_on from \"./on.js\";\nimport transition_remove from \"./remove.js\";\nimport transition_select from \"./select.js\";\nimport transition_selectAll from \"./selectAll.js\";\nimport transition_selection from \"./selection.js\";\nimport transition_style from \"./style.js\";\nimport transition_styleTween from \"./styleTween.js\";\nimport transition_text from \"./text.js\";\nimport transition_textTween from \"./textTween.js\";\nimport transition_transition from \"./transition.js\";\nimport transition_tween from \"./tween.js\";\nimport transition_end from \"./end.js\";\n\nvar id = 0;\n\nexport function Transition(groups, parents, name, id) {\n  this._groups = groups;\n  this._parents = parents;\n  this._name = name;\n  this._id = id;\n}\n\nexport default function transition(name) {\n  return selection().transition(name);\n}\n\nexport function newId() {\n  return ++id;\n}\n\nvar selection_prototype = selection.prototype;\n\nTransition.prototype = transition.prototype = {\n  constructor: Transition,\n  select: transition_select,\n  selectAll: transition_selectAll,\n  selectChild: selection_prototype.selectChild,\n  selectChildren: selection_prototype.selectChildren,\n  filter: transition_filter,\n  merge: transition_merge,\n  selection: transition_selection,\n  transition: transition_transition,\n  call: selection_prototype.call,\n  nodes: selection_prototype.nodes,\n  node: selection_prototype.node,\n  size: selection_prototype.size,\n  empty: selection_prototype.empty,\n  each: selection_prototype.each,\n  on: transition_on,\n  attr: transition_attr,\n  attrTween: transition_attrTween,\n  style: transition_style,\n  styleTween: transition_styleTween,\n  text: transition_text,\n  textTween: transition_textTween,\n  remove: transition_remove,\n  tween: transition_tween,\n  delay: transition_delay,\n  duration: transition_duration,\n  ease: transition_ease,\n  easeVarying: transition_easeVarying,\n  end: transition_end,\n  [Symbol.iterator]: selection_prototype[Symbol.iterator]\n};\n","import {selector} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n  var name = this._name,\n      id = this._id;\n\n  if (typeof select !== \"function\") select = selector(select);\n\n  for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n    for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n      if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n        if (\"__data__\" in node) subnode.__data__ = node.__data__;\n        subgroup[i] = subnode;\n        schedule(subgroup[i], name, id, i, subgroup, get(node, id));\n      }\n    }\n  }\n\n  return new Transition(subgroups, this._parents, name, id);\n}\n","import {selectorAll} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n  var name = this._name,\n      id = this._id;\n\n  if (typeof select !== \"function\") select = selectorAll(select);\n\n  for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n    for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n      if (node = group[i]) {\n        for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) {\n          if (child = children[k]) {\n            schedule(child, name, id, k, children, inherit);\n          }\n        }\n        subgroups.push(children);\n        parents.push(node);\n      }\n    }\n  }\n\n  return new Transition(subgroups, parents, name, id);\n}\n","import {matcher} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\n\nexport default function(match) {\n  if (typeof match !== \"function\") match = matcher(match);\n\n  for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n    for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n      if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n        subgroup.push(node);\n      }\n    }\n  }\n\n  return new Transition(subgroups, this._parents, this._name, this._id);\n}\n","import {Transition} from \"./index.js\";\n\nexport default function(transition) {\n  if (transition._id !== this._id) throw new Error;\n\n  for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n    for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n      if (node = group0[i] || group1[i]) {\n        merge[i] = node;\n      }\n    }\n  }\n\n  for (; j < m0; ++j) {\n    merges[j] = groups0[j];\n  }\n\n  return new Transition(merges, this._parents, this._name, this._id);\n}\n","import {Transition, newId} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function() {\n  var name = this._name,\n      id0 = this._id,\n      id1 = newId();\n\n  for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n    for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n      if (node = group[i]) {\n        var inherit = get(node, id0);\n        schedule(node, name, id1, i, group, {\n          time: inherit.time + inherit.delay + inherit.duration,\n          delay: 0,\n          duration: inherit.duration,\n          ease: inherit.ease\n        });\n      }\n    }\n  }\n\n  return new Transition(groups, this._parents, name, id1);\n}\n","import {get, set, init} from \"./schedule.js\";\n\nfunction start(name) {\n  return (name + \"\").trim().split(/^|\\s+/).every(function(t) {\n    var i = t.indexOf(\".\");\n    if (i >= 0) t = t.slice(0, i);\n    return !t || t === \"start\";\n  });\n}\n\nfunction onFunction(id, name, listener) {\n  var on0, on1, sit = start(name) ? init : set;\n  return function() {\n    var schedule = sit(this, id),\n        on = schedule.on;\n\n    // If this node shared a dispatch with the previous node,\n    // just assign the updated shared dispatch and we’re done!\n    // Otherwise, copy-on-write.\n    if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);\n\n    schedule.on = on1;\n  };\n}\n\nexport default function(name, listener) {\n  var id = this._id;\n\n  return arguments.length < 2\n      ? get(this.node(), id).on.on(name)\n      : this.each(onFunction(id, name, listener));\n}\n","function styleInterpolate(name, i, priority) {\n  return function(t) {\n    this.style.setProperty(name, i.call(this, t), priority);\n  };\n}\n\nfunction styleTween(name, value, priority) {\n  var t, i0;\n  function tween() {\n    var i = value.apply(this, arguments);\n    if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority);\n    return t;\n  }\n  tween._value = value;\n  return tween;\n}\n\nexport default function(name, value, priority) {\n  var key = \"style.\" + (name += \"\");\n  if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n  if (value == null) return this.tween(key, null);\n  if (typeof value !== \"function\") throw new Error;\n  return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}\n","import {tweenValue} from \"./tween.js\";\n\nfunction textConstant(value) {\n  return function() {\n    this.textContent = value;\n  };\n}\n\nfunction textFunction(value) {\n  return function() {\n    var value1 = value(this);\n    this.textContent = value1 == null ? \"\" : value1;\n  };\n}\n\nexport default function(value) {\n  return this.tween(\"text\", typeof value === \"function\"\n      ? textFunction(tweenValue(this, \"text\", value))\n      : textConstant(value == null ? \"\" : value + \"\"));\n}\n","function textInterpolate(i) {\n  return function(t) {\n    this.textContent = i.call(this, t);\n  };\n}\n\nfunction textTween(value) {\n  var t0, i0;\n  function tween() {\n    var i = value.apply(this, arguments);\n    if (i !== i0) t0 = (i0 = i) && textInterpolate(i);\n    return t0;\n  }\n  tween._value = value;\n  return tween;\n}\n\nexport default function(value) {\n  var key = \"text\";\n  if (arguments.length < 1) return (key = this.tween(key)) && key._value;\n  if (value == null) return this.tween(key, null);\n  if (typeof value !== \"function\") throw new Error;\n  return this.tween(key, textTween(value));\n}\n","function removeFunction(id) {\n  return function() {\n    var parent = this.parentNode;\n    for (var i in this.__transition) if (+i !== id) return;\n    if (parent) parent.removeChild(this);\n  };\n}\n\nexport default function() {\n  return this.on(\"end.remove\", removeFunction(this._id));\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction easeConstant(id, value) {\n  if (typeof value !== \"function\") throw new Error;\n  return function() {\n    set(this, id).ease = value;\n  };\n}\n\nexport default function(value) {\n  var id = this._id;\n\n  return arguments.length\n      ? this.each(easeConstant(id, value))\n      : get(this.node(), id).ease;\n}\n","import {set} from \"./schedule.js\";\n\nfunction easeVarying(id, value) {\n  return function() {\n    var v = value.apply(this, arguments);\n    if (typeof v !== \"function\") throw new Error;\n    set(this, id).ease = v;\n  };\n}\n\nexport default function(value) {\n  if (typeof value !== \"function\") throw new Error;\n  return this.each(easeVarying(this._id, value));\n}\n","import {set} from \"./schedule.js\";\n\nexport default function() {\n  var on0, on1, that = this, id = that._id, size = that.size();\n  return new Promise(function(resolve, reject) {\n    var cancel = {value: reject},\n        end = {value: function() { if (--size === 0) resolve(); }};\n\n    that.each(function() {\n      var schedule = set(this, id),\n          on = schedule.on;\n\n      // If this node shared a dispatch with the previous node,\n      // just assign the updated shared dispatch and we’re done!\n      // Otherwise, copy-on-write.\n      if (on !== on0) {\n        on1 = (on0 = on).copy();\n        on1._.cancel.push(cancel);\n        on1._.interrupt.push(cancel);\n        on1._.end.push(end);\n      }\n\n      schedule.on = on1;\n    });\n\n    // The selection was empty, resolve end immediately\n    if (size === 0) resolve();\n  });\n}\n","import {Transition, newId} from \"../transition/index.js\";\nimport schedule from \"../transition/schedule.js\";\nimport {easeCubicInOut} from \"d3-ease\";\nimport {now} from \"d3-timer\";\n\nvar defaultTiming = {\n  time: null, // Set on use.\n  delay: 0,\n  duration: 250,\n  ease: easeCubicInOut\n};\n\nfunction inherit(node, id) {\n  var timing;\n  while (!(timing = node.__transition) || !(timing = timing[id])) {\n    if (!(node = node.parentNode)) {\n      throw new Error(`transition ${id} not found`);\n    }\n  }\n  return timing;\n}\n\nexport default function(name) {\n  var id,\n      timing;\n\n  if (name instanceof Transition) {\n    id = name._id, name = name._name;\n  } else {\n    id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n  }\n\n  for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n    for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n      if (node = group[i]) {\n        schedule(node, name, id, i, group, timing || inherit(node, id));\n      }\n    }\n  }\n\n  return new Transition(groups, this._parents, name, id);\n}\n","export function cubicIn(t) {\n  return t * t * t;\n}\n\nexport function cubicOut(t) {\n  return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n  return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n","import {selection} from \"d3-selection\";\nimport selection_interrupt from \"./interrupt.js\";\nimport selection_transition from \"./transition.js\";\n\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;\n","import interrupt from \"../interrupt.js\";\n\nexport default function(name) {\n  return this.each(function() {\n    interrupt(this, name);\n  });\n}\n","import {STARTING, ENDING, ENDED} from \"./transition/schedule.js\";\n\nexport default function(node, name) {\n  var schedules = node.__transition,\n      schedule,\n      active,\n      empty = true,\n      i;\n\n  if (!schedules) return;\n\n  name = name == null ? null : name + \"\";\n\n  for (i in schedules) {\n    if ((schedule = schedules[i]).name !== name) { empty = false; continue; }\n    active = schedule.state > STARTING && schedule.state < ENDING;\n    schedule.state = ENDED;\n    schedule.timer.stop();\n    schedule.on.call(active ? \"interrupt\" : \"cancel\", node, node.__data__, schedule.index, schedule.group);\n    delete schedules[i];\n  }\n\n  if (empty) delete node.__transition;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {dragDisable, dragEnable} from \"d3-drag\";\nimport {interpolate} from \"d3-interpolate\";\nimport {pointer, select} from \"d3-selection\";\nimport {interrupt} from \"d3-transition\";\nimport constant from \"./constant.js\";\nimport BrushEvent from \"./event.js\";\nimport noevent, {nopropagation} from \"./noevent.js\";\n\nvar MODE_DRAG = {name: \"drag\"},\n    MODE_SPACE = {name: \"space\"},\n    MODE_HANDLE = {name: \"handle\"},\n    MODE_CENTER = {name: \"center\"};\n\nconst {abs, max, min} = Math;\n\nfunction number1(e) {\n  return [+e[0], +e[1]];\n}\n\nfunction number2(e) {\n  return [number1(e[0]), number1(e[1])];\n}\n\nvar X = {\n  name: \"x\",\n  handles: [\"w\", \"e\"].map(type),\n  input: function(x, e) { return x == null ? null : [[+x[0], e[0][1]], [+x[1], e[1][1]]]; },\n  output: function(xy) { return xy && [xy[0][0], xy[1][0]]; }\n};\n\nvar Y = {\n  name: \"y\",\n  handles: [\"n\", \"s\"].map(type),\n  input: function(y, e) { return y == null ? null : [[e[0][0], +y[0]], [e[1][0], +y[1]]]; },\n  output: function(xy) { return xy && [xy[0][1], xy[1][1]]; }\n};\n\nvar XY = {\n  name: \"xy\",\n  handles: [\"n\", \"w\", \"e\", \"s\", \"nw\", \"ne\", \"sw\", \"se\"].map(type),\n  input: function(xy) { return xy == null ? null : number2(xy); },\n  output: function(xy) { return xy; }\n};\n\nvar cursors = {\n  overlay: \"crosshair\",\n  selection: \"move\",\n  n: \"ns-resize\",\n  e: \"ew-resize\",\n  s: \"ns-resize\",\n  w: \"ew-resize\",\n  nw: \"nwse-resize\",\n  ne: \"nesw-resize\",\n  se: \"nwse-resize\",\n  sw: \"nesw-resize\"\n};\n\nvar flipX = {\n  e: \"w\",\n  w: \"e\",\n  nw: \"ne\",\n  ne: \"nw\",\n  se: \"sw\",\n  sw: \"se\"\n};\n\nvar flipY = {\n  n: \"s\",\n  s: \"n\",\n  nw: \"sw\",\n  ne: \"se\",\n  se: \"ne\",\n  sw: \"nw\"\n};\n\nvar signsX = {\n  overlay: +1,\n  selection: +1,\n  n: null,\n  e: +1,\n  s: null,\n  w: -1,\n  nw: -1,\n  ne: +1,\n  se: +1,\n  sw: -1\n};\n\nvar signsY = {\n  overlay: +1,\n  selection: +1,\n  n: -1,\n  e: null,\n  s: +1,\n  w: null,\n  nw: -1,\n  ne: -1,\n  se: +1,\n  sw: +1\n};\n\nfunction type(t) {\n  return {type: t};\n}\n\n// Ignore right-click, since that should open the context menu.\nfunction defaultFilter(event) {\n  return !event.ctrlKey && !event.button;\n}\n\nfunction defaultExtent() {\n  var svg = this.ownerSVGElement || this;\n  if (svg.hasAttribute(\"viewBox\")) {\n    svg = svg.viewBox.baseVal;\n    return [[svg.x, svg.y], [svg.x + svg.width, svg.y + svg.height]];\n  }\n  return [[0, 0], [svg.width.baseVal.value, svg.height.baseVal.value]];\n}\n\nfunction defaultTouchable() {\n  return navigator.maxTouchPoints || (\"ontouchstart\" in this);\n}\n\n// Like d3.local, but with the name “__brush” rather than auto-generated.\nfunction local(node) {\n  while (!node.__brush) if (!(node = node.parentNode)) return;\n  return node.__brush;\n}\n\nfunction empty(extent) {\n  return extent[0][0] === extent[1][0]\n      || extent[0][1] === extent[1][1];\n}\n\nexport function brushSelection(node) {\n  var state = node.__brush;\n  return state ? state.dim.output(state.selection) : null;\n}\n\nexport function brushX() {\n  return brush(X);\n}\n\nexport function brushY() {\n  return brush(Y);\n}\n\nexport default function() {\n  return brush(XY);\n}\n\nfunction brush(dim) {\n  var extent = defaultExtent,\n      filter = defaultFilter,\n      touchable = defaultTouchable,\n      keys = true,\n      listeners = dispatch(\"start\", \"brush\", \"end\"),\n      handleSize = 6,\n      touchending;\n\n  function brush(group) {\n    var overlay = group\n        .property(\"__brush\", initialize)\n      .selectAll(\".overlay\")\n      .data([type(\"overlay\")]);\n\n    overlay.enter().append(\"rect\")\n        .attr(\"class\", \"overlay\")\n        .attr(\"pointer-events\", \"all\")\n        .attr(\"cursor\", cursors.overlay)\n      .merge(overlay)\n        .each(function() {\n          var extent = local(this).extent;\n          select(this)\n              .attr(\"x\", extent[0][0])\n              .attr(\"y\", extent[0][1])\n              .attr(\"width\", extent[1][0] - extent[0][0])\n              .attr(\"height\", extent[1][1] - extent[0][1]);\n        });\n\n    group.selectAll(\".selection\")\n      .data([type(\"selection\")])\n      .enter().append(\"rect\")\n        .attr(\"class\", \"selection\")\n        .attr(\"cursor\", cursors.selection)\n        .attr(\"fill\", \"#777\")\n        .attr(\"fill-opacity\", 0.3)\n        .attr(\"stroke\", \"#fff\")\n        .attr(\"shape-rendering\", \"crispEdges\");\n\n    var handle = group.selectAll(\".handle\")\n      .data(dim.handles, function(d) { return d.type; });\n\n    handle.exit().remove();\n\n    handle.enter().append(\"rect\")\n        .attr(\"class\", function(d) { return \"handle handle--\" + d.type; })\n        .attr(\"cursor\", function(d) { return cursors[d.type]; });\n\n    group\n        .each(redraw)\n        .attr(\"fill\", \"none\")\n        .attr(\"pointer-events\", \"all\")\n        .on(\"mousedown.brush\", started)\n      .filter(touchable)\n        .on(\"touchstart.brush\", started)\n        .on(\"touchmove.brush\", touchmoved)\n        .on(\"touchend.brush touchcancel.brush\", touchended)\n        .style(\"touch-action\", \"none\")\n        .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n  }\n\n  brush.move = function(group, selection, event) {\n    if (group.tween) {\n      group\n          .on(\"start.brush\", function(event) { emitter(this, arguments).beforestart().start(event); })\n          .on(\"interrupt.brush end.brush\", function(event) { emitter(this, arguments).end(event); })\n          .tween(\"brush\", function() {\n            var that = this,\n                state = that.__brush,\n                emit = emitter(that, arguments),\n                selection0 = state.selection,\n                selection1 = dim.input(typeof selection === \"function\" ? selection.apply(this, arguments) : selection, state.extent),\n                i = interpolate(selection0, selection1);\n\n            function tween(t) {\n              state.selection = t === 1 && selection1 === null ? null : i(t);\n              redraw.call(that);\n              emit.brush();\n            }\n\n            return selection0 !== null && selection1 !== null ? tween : tween(1);\n          });\n    } else {\n      group\n          .each(function() {\n            var that = this,\n                args = arguments,\n                state = that.__brush,\n                selection1 = dim.input(typeof selection === \"function\" ? selection.apply(that, args) : selection, state.extent),\n                emit = emitter(that, args).beforestart();\n\n            interrupt(that);\n            state.selection = selection1 === null ? null : selection1;\n            redraw.call(that);\n            emit.start(event).brush(event).end(event);\n          });\n    }\n  };\n\n  brush.clear = function(group, event) {\n    brush.move(group, null, event);\n  };\n\n  function redraw() {\n    var group = select(this),\n        selection = local(this).selection;\n\n    if (selection) {\n      group.selectAll(\".selection\")\n          .style(\"display\", null)\n          .attr(\"x\", selection[0][0])\n          .attr(\"y\", selection[0][1])\n          .attr(\"width\", selection[1][0] - selection[0][0])\n          .attr(\"height\", selection[1][1] - selection[0][1]);\n\n      group.selectAll(\".handle\")\n          .style(\"display\", null)\n          .attr(\"x\", function(d) { return d.type[d.type.length - 1] === \"e\" ? selection[1][0] - handleSize / 2 : selection[0][0] - handleSize / 2; })\n          .attr(\"y\", function(d) { return d.type[0] === \"s\" ? selection[1][1] - handleSize / 2 : selection[0][1] - handleSize / 2; })\n          .attr(\"width\", function(d) { return d.type === \"n\" || d.type === \"s\" ? selection[1][0] - selection[0][0] + handleSize : handleSize; })\n          .attr(\"height\", function(d) { return d.type === \"e\" || d.type === \"w\" ? selection[1][1] - selection[0][1] + handleSize : handleSize; });\n    }\n\n    else {\n      group.selectAll(\".selection,.handle\")\n          .style(\"display\", \"none\")\n          .attr(\"x\", null)\n          .attr(\"y\", null)\n          .attr(\"width\", null)\n          .attr(\"height\", null);\n    }\n  }\n\n  function emitter(that, args, clean) {\n    var emit = that.__brush.emitter;\n    return emit && (!clean || !emit.clean) ? emit : new Emitter(that, args, clean);\n  }\n\n  function Emitter(that, args, clean) {\n    this.that = that;\n    this.args = args;\n    this.state = that.__brush;\n    this.active = 0;\n    this.clean = clean;\n  }\n\n  Emitter.prototype = {\n    beforestart: function() {\n      if (++this.active === 1) this.state.emitter = this, this.starting = true;\n      return this;\n    },\n    start: function(event, mode) {\n      if (this.starting) this.starting = false, this.emit(\"start\", event, mode);\n      else this.emit(\"brush\", event);\n      return this;\n    },\n    brush: function(event, mode) {\n      this.emit(\"brush\", event, mode);\n      return this;\n    },\n    end: function(event, mode) {\n      if (--this.active === 0) delete this.state.emitter, this.emit(\"end\", event, mode);\n      return this;\n    },\n    emit: function(type, event, mode) {\n      var d = select(this.that).datum();\n      listeners.call(\n        type,\n        this.that,\n        new BrushEvent(type, {\n          sourceEvent: event,\n          target: brush,\n          selection: dim.output(this.state.selection),\n          mode,\n          dispatch: listeners\n        }),\n        d\n      );\n    }\n  };\n\n  function started(event) {\n    if (touchending && !event.touches) return;\n    if (!filter.apply(this, arguments)) return;\n\n    var that = this,\n        type = event.target.__data__.type,\n        mode = (keys && event.metaKey ? type = \"overlay\" : type) === \"selection\" ? MODE_DRAG : (keys && event.altKey ? MODE_CENTER : MODE_HANDLE),\n        signX = dim === Y ? null : signsX[type],\n        signY = dim === X ? null : signsY[type],\n        state = local(that),\n        extent = state.extent,\n        selection = state.selection,\n        W = extent[0][0], w0, w1,\n        N = extent[0][1], n0, n1,\n        E = extent[1][0], e0, e1,\n        S = extent[1][1], s0, s1,\n        dx = 0,\n        dy = 0,\n        moving,\n        shifting = signX && signY && keys && event.shiftKey,\n        lockX,\n        lockY,\n        points = Array.from(event.touches || [event], t => {\n          const i = t.identifier;\n          t = pointer(t, that);\n          t.point0 = t.slice();\n          t.identifier = i;\n          return t;\n        });\n\n    interrupt(that);\n    var emit = emitter(that, arguments, true).beforestart();\n\n    if (type === \"overlay\") {\n      if (selection) moving = true;\n      const pts = [points[0], points[1] || points[0]];\n      state.selection = selection = [[\n          w0 = dim === Y ? W : min(pts[0][0], pts[1][0]),\n          n0 = dim === X ? N : min(pts[0][1], pts[1][1])\n        ], [\n          e0 = dim === Y ? E : max(pts[0][0], pts[1][0]),\n          s0 = dim === X ? S : max(pts[0][1], pts[1][1])\n        ]];\n      if (points.length > 1) move(event);\n    } else {\n      w0 = selection[0][0];\n      n0 = selection[0][1];\n      e0 = selection[1][0];\n      s0 = selection[1][1];\n    }\n\n    w1 = w0;\n    n1 = n0;\n    e1 = e0;\n    s1 = s0;\n\n    var group = select(that)\n        .attr(\"pointer-events\", \"none\");\n\n    var overlay = group.selectAll(\".overlay\")\n        .attr(\"cursor\", cursors[type]);\n\n    if (event.touches) {\n      emit.moved = moved;\n      emit.ended = ended;\n    } else {\n      var view = select(event.view)\n          .on(\"mousemove.brush\", moved, true)\n          .on(\"mouseup.brush\", ended, true);\n      if (keys) view\n          .on(\"keydown.brush\", keydowned, true)\n          .on(\"keyup.brush\", keyupped, true)\n\n      dragDisable(event.view);\n    }\n\n    redraw.call(that);\n    emit.start(event, mode.name);\n\n    function moved(event) {\n      for (const p of event.changedTouches || [event]) {\n        for (const d of points)\n          if (d.identifier === p.identifier) d.cur = pointer(p, that);\n      }\n      if (shifting && !lockX && !lockY && points.length === 1) {\n        const point = points[0];\n        if (abs(point.cur[0] - point[0]) > abs(point.cur[1] - point[1]))\n          lockY = true;\n        else\n          lockX = true;\n      }\n      for (const point of points)\n        if (point.cur) point[0] = point.cur[0], point[1] = point.cur[1];\n      moving = true;\n      noevent(event);\n      move(event);\n    }\n\n    function move(event) {\n      const point = points[0], point0 = point.point0;\n      var t;\n\n      dx = point[0] - point0[0];\n      dy = point[1] - point0[1];\n\n      switch (mode) {\n        case MODE_SPACE:\n        case MODE_DRAG: {\n          if (signX) dx = max(W - w0, min(E - e0, dx)), w1 = w0 + dx, e1 = e0 + dx;\n          if (signY) dy = max(N - n0, min(S - s0, dy)), n1 = n0 + dy, s1 = s0 + dy;\n          break;\n        }\n        case MODE_HANDLE: {\n          if (points[1]) {\n            if (signX) w1 = max(W, min(E, points[0][0])), e1 = max(W, min(E, points[1][0])), signX = 1;\n            if (signY) n1 = max(N, min(S, points[0][1])), s1 = max(N, min(S, points[1][1])), signY = 1;\n          } else {\n            if (signX < 0) dx = max(W - w0, min(E - w0, dx)), w1 = w0 + dx, e1 = e0;\n            else if (signX > 0) dx = max(W - e0, min(E - e0, dx)), w1 = w0, e1 = e0 + dx;\n            if (signY < 0) dy = max(N - n0, min(S - n0, dy)), n1 = n0 + dy, s1 = s0;\n            else if (signY > 0) dy = max(N - s0, min(S - s0, dy)), n1 = n0, s1 = s0 + dy;\n          }\n          break;\n        }\n        case MODE_CENTER: {\n          if (signX) w1 = max(W, min(E, w0 - dx * signX)), e1 = max(W, min(E, e0 + dx * signX));\n          if (signY) n1 = max(N, min(S, n0 - dy * signY)), s1 = max(N, min(S, s0 + dy * signY));\n          break;\n        }\n      }\n\n      if (e1 < w1) {\n        signX *= -1;\n        t = w0, w0 = e0, e0 = t;\n        t = w1, w1 = e1, e1 = t;\n        if (type in flipX) overlay.attr(\"cursor\", cursors[type = flipX[type]]);\n      }\n\n      if (s1 < n1) {\n        signY *= -1;\n        t = n0, n0 = s0, s0 = t;\n        t = n1, n1 = s1, s1 = t;\n        if (type in flipY) overlay.attr(\"cursor\", cursors[type = flipY[type]]);\n      }\n\n      if (state.selection) selection = state.selection; // May be set by brush.move!\n      if (lockX) w1 = selection[0][0], e1 = selection[1][0];\n      if (lockY) n1 = selection[0][1], s1 = selection[1][1];\n\n      if (selection[0][0] !== w1\n          || selection[0][1] !== n1\n          || selection[1][0] !== e1\n          || selection[1][1] !== s1) {\n        state.selection = [[w1, n1], [e1, s1]];\n        redraw.call(that);\n        emit.brush(event, mode.name);\n      }\n    }\n\n    function ended(event) {\n      nopropagation(event);\n      if (event.touches) {\n        if (event.touches.length) return;\n        if (touchending) clearTimeout(touchending);\n        touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed!\n      } else {\n        dragEnable(event.view, moving);\n        view.on(\"keydown.brush keyup.brush mousemove.brush mouseup.brush\", null);\n      }\n      group.attr(\"pointer-events\", \"all\");\n      overlay.attr(\"cursor\", cursors.overlay);\n      if (state.selection) selection = state.selection; // May be set by brush.move (on start)!\n      if (empty(selection)) state.selection = null, redraw.call(that);\n      emit.end(event, mode.name);\n    }\n\n    function keydowned(event) {\n      switch (event.keyCode) {\n        case 16: { // SHIFT\n          shifting = signX && signY;\n          break;\n        }\n        case 18: { // ALT\n          if (mode === MODE_HANDLE) {\n            if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;\n            if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;\n            mode = MODE_CENTER;\n            move(event);\n          }\n          break;\n        }\n        case 32: { // SPACE; takes priority over ALT\n          if (mode === MODE_HANDLE || mode === MODE_CENTER) {\n            if (signX < 0) e0 = e1 - dx; else if (signX > 0) w0 = w1 - dx;\n            if (signY < 0) s0 = s1 - dy; else if (signY > 0) n0 = n1 - dy;\n            mode = MODE_SPACE;\n            overlay.attr(\"cursor\", cursors.selection);\n            move(event);\n          }\n          break;\n        }\n        default: return;\n      }\n      noevent(event);\n    }\n\n    function keyupped(event) {\n      switch (event.keyCode) {\n        case 16: { // SHIFT\n          if (shifting) {\n            lockX = lockY = shifting = false;\n            move(event);\n          }\n          break;\n        }\n        case 18: { // ALT\n          if (mode === MODE_CENTER) {\n            if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1;\n            if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1;\n            mode = MODE_HANDLE;\n            move(event);\n          }\n          break;\n        }\n        case 32: { // SPACE\n          if (mode === MODE_SPACE) {\n            if (event.altKey) {\n              if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;\n              if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;\n              mode = MODE_CENTER;\n            } else {\n              if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1;\n              if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1;\n              mode = MODE_HANDLE;\n            }\n            overlay.attr(\"cursor\", cursors[type]);\n            move(event);\n          }\n          break;\n        }\n        default: return;\n      }\n      noevent(event);\n    }\n  }\n\n  function touchmoved(event) {\n    emitter(this, arguments).moved(event);\n  }\n\n  function touchended(event) {\n    emitter(this, arguments).ended(event);\n  }\n\n  function initialize() {\n    var state = this.__brush || {selection: null};\n    state.extent = number2(extent.apply(this, arguments));\n    state.dim = dim;\n    return state;\n  }\n\n  brush.extent = function(_) {\n    return arguments.length ? (extent = typeof _ === \"function\" ? _ : constant(number2(_)), brush) : extent;\n  };\n\n  brush.filter = function(_) {\n    return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), brush) : filter;\n  };\n\n  brush.touchable = function(_) {\n    return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), brush) : touchable;\n  };\n\n  brush.handleSize = function(_) {\n    return arguments.length ? (handleSize = +_, brush) : handleSize;\n  };\n\n  brush.keyModifiers = function(_) {\n    return arguments.length ? (keys = !!_, brush) : keys;\n  };\n\n  brush.on = function() {\n    var value = listeners.on.apply(listeners, arguments);\n    return value === listeners ? brush : value;\n  };\n\n  return brush;\n}\n","var EOL = {},\n    EOF = {},\n    QUOTE = 34,\n    NEWLINE = 10,\n    RETURN = 13;\n\nfunction objectConverter(columns) {\n  return new Function(\"d\", \"return {\" + columns.map(function(name, i) {\n    return JSON.stringify(name) + \": d[\" + i + \"] || \\\"\\\"\";\n  }).join(\",\") + \"}\");\n}\n\nfunction customConverter(columns, f) {\n  var object = objectConverter(columns);\n  return function(row, i) {\n    return f(object(row), i, columns);\n  };\n}\n\n// Compute unique columns in order of discovery.\nfunction inferColumns(rows) {\n  var columnSet = Object.create(null),\n      columns = [];\n\n  rows.forEach(function(row) {\n    for (var column in row) {\n      if (!(column in columnSet)) {\n        columns.push(columnSet[column] = column);\n      }\n    }\n  });\n\n  return columns;\n}\n\nfunction pad(value, width) {\n  var s = value + \"\", length = s.length;\n  return length < width ? new Array(width - length + 1).join(0) + s : s;\n}\n\nfunction formatYear(year) {\n  return year < 0 ? \"-\" + pad(-year, 6)\n    : year > 9999 ? \"+\" + pad(year, 6)\n    : pad(year, 4);\n}\n\nfunction formatDate(date) {\n  var hours = date.getUTCHours(),\n      minutes = date.getUTCMinutes(),\n      seconds = date.getUTCSeconds(),\n      milliseconds = date.getUTCMilliseconds();\n  return isNaN(date) ? \"Invalid Date\"\n      : formatYear(date.getUTCFullYear(), 4) + \"-\" + pad(date.getUTCMonth() + 1, 2) + \"-\" + pad(date.getUTCDate(), 2)\n      + (milliseconds ? \"T\" + pad(hours, 2) + \":\" + pad(minutes, 2) + \":\" + pad(seconds, 2) + \".\" + pad(milliseconds, 3) + \"Z\"\n      : seconds ? \"T\" + pad(hours, 2) + \":\" + pad(minutes, 2) + \":\" + pad(seconds, 2) + \"Z\"\n      : minutes || hours ? \"T\" + pad(hours, 2) + \":\" + pad(minutes, 2) + \"Z\"\n      : \"\");\n}\n\nexport default function(delimiter) {\n  var reFormat = new RegExp(\"[\\\"\" + delimiter + \"\\n\\r]\"),\n      DELIMITER = delimiter.charCodeAt(0);\n\n  function parse(text, f) {\n    var convert, columns, rows = parseRows(text, function(row, i) {\n      if (convert) return convert(row, i - 1);\n      columns = row, convert = f ? customConverter(row, f) : objectConverter(row);\n    });\n    rows.columns = columns || [];\n    return rows;\n  }\n\n  function parseRows(text, f) {\n    var rows = [], // output rows\n        N = text.length,\n        I = 0, // current character index\n        n = 0, // current line number\n        t, // current token\n        eof = N <= 0, // current token followed by EOF?\n        eol = false; // current token followed by EOL?\n\n    // Strip the trailing newline.\n    if (text.charCodeAt(N - 1) === NEWLINE) --N;\n    if (text.charCodeAt(N - 1) === RETURN) --N;\n\n    function token() {\n      if (eof) return EOF;\n      if (eol) return eol = false, EOL;\n\n      // Unescape quotes.\n      var i, j = I, c;\n      if (text.charCodeAt(j) === QUOTE) {\n        while (I++ < N && text.charCodeAt(I) !== QUOTE || text.charCodeAt(++I) === QUOTE);\n        if ((i = I) >= N) eof = true;\n        else if ((c = text.charCodeAt(I++)) === NEWLINE) eol = true;\n        else if (c === RETURN) { eol = true; if (text.charCodeAt(I) === NEWLINE) ++I; }\n        return text.slice(j + 1, i - 1).replace(/\"\"/g, \"\\\"\");\n      }\n\n      // Find next delimiter or newline.\n      while (I < N) {\n        if ((c = text.charCodeAt(i = I++)) === NEWLINE) eol = true;\n        else if (c === RETURN) { eol = true; if (text.charCodeAt(I) === NEWLINE) ++I; }\n        else if (c !== DELIMITER) continue;\n        return text.slice(j, i);\n      }\n\n      // Return last token before EOF.\n      return eof = true, text.slice(j, N);\n    }\n\n    while ((t = token()) !== EOF) {\n      var row = [];\n      while (t !== EOL && t !== EOF) row.push(t), t = token();\n      if (f && (row = f(row, n++)) == null) continue;\n      rows.push(row);\n    }\n\n    return rows;\n  }\n\n  function preformatBody(rows, columns) {\n    return rows.map(function(row) {\n      return columns.map(function(column) {\n        return formatValue(row[column]);\n      }).join(delimiter);\n    });\n  }\n\n  function format(rows, columns) {\n    if (columns == null) columns = inferColumns(rows);\n    return [columns.map(formatValue).join(delimiter)].concat(preformatBody(rows, columns)).join(\"\\n\");\n  }\n\n  function formatBody(rows, columns) {\n    if (columns == null) columns = inferColumns(rows);\n    return preformatBody(rows, columns).join(\"\\n\");\n  }\n\n  function formatRows(rows) {\n    return rows.map(formatRow).join(\"\\n\");\n  }\n\n  function formatRow(row) {\n    return row.map(formatValue).join(delimiter);\n  }\n\n  function formatValue(value) {\n    return value == null ? \"\"\n        : value instanceof Date ? formatDate(value)\n        : reFormat.test(value += \"\") ? \"\\\"\" + value.replace(/\"/g, \"\\\"\\\"\") + \"\\\"\"\n        : value;\n  }\n\n  return {\n    parse: parse,\n    parseRows: parseRows,\n    format: format,\n    formatBody: formatBody,\n    formatRows: formatRows,\n    formatRow: formatRow,\n    formatValue: formatValue\n  };\n}\n","import dsv from \"./dsv.js\";\n\nvar csv = dsv(\",\");\n\nexport var csvParse = csv.parse;\nexport var csvParseRows = csv.parseRows;\nexport var csvFormat = csv.format;\nexport var csvFormatBody = csv.formatBody;\nexport var csvFormatRows = csv.formatRows;\nexport var csvFormatRow = csv.formatRow;\nexport var csvFormatValue = csv.formatValue;\n","import dsv from \"./dsv.js\";\n\nvar tsv = dsv(\"\\t\");\n\nexport var tsvParse = tsv.parse;\nexport var tsvParseRows = tsv.parseRows;\nexport var tsvFormat = tsv.format;\nexport var tsvFormatBody = tsv.formatBody;\nexport var tsvFormatRows = tsv.formatRows;\nexport var tsvFormatRow = tsv.formatRow;\nexport var tsvFormatValue = tsv.formatValue;\n","function responseText(response) {\n  if (!response.ok) throw new Error(response.status + \" \" + response.statusText);\n  return response.text();\n}\n\nexport default function(input, init) {\n  return fetch(input, init).then(responseText);\n}\n","import {csvParse, dsvFormat, tsvParse} from \"d3-dsv\";\nimport text from \"./text.js\";\n\nfunction dsvParse(parse) {\n  return function(input, init, row) {\n    if (arguments.length === 2 && typeof init === \"function\") row = init, init = undefined;\n    return text(input, init).then(function(response) {\n      return parse(response, row);\n    });\n  };\n}\n\nexport default function dsv(delimiter, input, init, row) {\n  if (arguments.length === 3 && typeof init === \"function\") row = init, init = undefined;\n  var format = dsvFormat(delimiter);\n  return text(input, init).then(function(response) {\n    return format.parse(response, row);\n  });\n}\n\nexport var csv = dsvParse(csvParse);\nexport var tsv = dsvParse(tsvParse);\n","const e10 = Math.sqrt(50),\n    e5 = Math.sqrt(10),\n    e2 = Math.sqrt(2);\n\nfunction tickSpec(start, stop, count) {\n  const step = (stop - start) / Math.max(0, count),\n      power = Math.floor(Math.log10(step)),\n      error = step / Math.pow(10, power),\n      factor = error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1;\n  let i1, i2, inc;\n  if (power < 0) {\n    inc = Math.pow(10, -power) / factor;\n    i1 = Math.round(start * inc);\n    i2 = Math.round(stop * inc);\n    if (i1 / inc < start) ++i1;\n    if (i2 / inc > stop) --i2;\n    inc = -inc;\n  } else {\n    inc = Math.pow(10, power) * factor;\n    i1 = Math.round(start / inc);\n    i2 = Math.round(stop / inc);\n    if (i1 * inc < start) ++i1;\n    if (i2 * inc > stop) --i2;\n  }\n  if (i2 < i1 && 0.5 <= count && count < 2) return tickSpec(start, stop, count * 2);\n  return [i1, i2, inc];\n}\n\nexport default function ticks(start, stop, count) {\n  stop = +stop, start = +start, count = +count;\n  if (!(count > 0)) return [];\n  if (start === stop) return [start];\n  const reverse = stop < start, [i1, i2, inc] = reverse ? tickSpec(stop, start, count) : tickSpec(start, stop, count);\n  if (!(i2 >= i1)) return [];\n  const n = i2 - i1 + 1, ticks = new Array(n);\n  if (reverse) {\n    if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) / -inc;\n    else for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) * inc;\n  } else {\n    if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) / -inc;\n    else for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) * inc;\n  }\n  return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n  stop = +stop, start = +start, count = +count;\n  return tickSpec(start, stop, count)[2];\n}\n\nexport function tickStep(start, stop, count) {\n  stop = +stop, start = +start, count = +count;\n  const reverse = stop < start, inc = reverse ? tickIncrement(stop, start, count) : tickIncrement(start, stop, count);\n  return (reverse ? -1 : 1) * (inc < 0 ? 1 / -inc : inc);\n}\n","export default function ascending(a, b) {\n  return a == null || b == null ? NaN : a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function descending(a, b) {\n  return a == null || b == null ? NaN\n    : b < a ? -1\n    : b > a ? 1\n    : b >= a ? 0\n    : NaN;\n}\n","import ascending from \"./ascending.js\";\nimport descending from \"./descending.js\";\n\nexport default function bisector(f) {\n  let compare1, compare2, delta;\n\n  // If an accessor is specified, promote it to a comparator. In this case we\n  // can test whether the search value is (self-) comparable. We can’t do this\n  // for a comparator (except for specific, known comparators) because we can’t\n  // tell if the comparator is symmetric, and an asymmetric comparator can’t be\n  // used to test whether a single value is comparable.\n  if (f.length !== 2) {\n    compare1 = ascending;\n    compare2 = (d, x) => ascending(f(d), x);\n    delta = (d, x) => f(d) - x;\n  } else {\n    compare1 = f === ascending || f === descending ? f : zero;\n    compare2 = f;\n    delta = f;\n  }\n\n  function left(a, x, lo = 0, hi = a.length) {\n    if (lo < hi) {\n      if (compare1(x, x) !== 0) return hi;\n      do {\n        const mid = (lo + hi) >>> 1;\n        if (compare2(a[mid], x) < 0) lo = mid + 1;\n        else hi = mid;\n      } while (lo < hi);\n    }\n    return lo;\n  }\n\n  function right(a, x, lo = 0, hi = a.length) {\n    if (lo < hi) {\n      if (compare1(x, x) !== 0) return hi;\n      do {\n        const mid = (lo + hi) >>> 1;\n        if (compare2(a[mid], x) <= 0) lo = mid + 1;\n        else hi = mid;\n      } while (lo < hi);\n    }\n    return lo;\n  }\n\n  function center(a, x, lo = 0, 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 zero() {\n  return 0;\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 number(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","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","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","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","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","// [[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","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 {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 {linearish} from \"./linear.js\";\nimport {copy, identity, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformPow(exponent) {\n  return function(x) {\n    return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);\n  };\n}\n\nfunction transformSqrt(x) {\n  return x < 0 ? -Math.sqrt(-x) : Math.sqrt(x);\n}\n\nfunction transformSquare(x) {\n  return x < 0 ? -x * x : x * x;\n}\n\nexport function powish(transform) {\n  var scale = transform(identity, identity),\n      exponent = 1;\n\n  function rescale() {\n    return exponent === 1 ? transform(identity, identity)\n        : exponent === 0.5 ? transform(transformSqrt, transformSquare)\n        : transform(transformPow(exponent), transformPow(1 / exponent));\n  }\n\n  scale.exponent = function(_) {\n    return arguments.length ? (exponent = +_, rescale()) : exponent;\n  };\n\n  return linearish(scale);\n}\n\nexport default function pow() {\n  var scale = powish(transformer());\n\n  scale.copy = function() {\n    return copy(scale, pow()).exponent(scale.exponent());\n  };\n\n  initRange.apply(scale, arguments);\n\n  return scale;\n}\n\nexport function sqrt() {\n  return pow.apply(null, arguments).exponent(0.5);\n}\n","import sourceEvent from \"./sourceEvent.js\";\n\nexport default function(event, node) {\n  event = sourceEvent(event);\n  if (node === undefined) node = event.currentTarget;\n  if (node) {\n    var svg = node.ownerSVGElement || node;\n    if (svg.createSVGPoint) {\n      var point = svg.createSVGPoint();\n      point.x = event.clientX, point.y = event.clientY;\n      point = point.matrixTransform(node.getScreenCTM().inverse());\n      return [point.x, point.y];\n    }\n    if (node.getBoundingClientRect) {\n      var rect = node.getBoundingClientRect();\n      return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n    }\n  }\n  return [event.pageX, event.pageY];\n}\n","export default function(event) {\n  let sourceEvent;\n  while (sourceEvent = event.sourceEvent) event = sourceEvent;\n  return event;\n}\n","export function Transform(k, x, y) {\n  this.k = k;\n  this.x = x;\n  this.y = y;\n}\n\nTransform.prototype = {\n  constructor: Transform,\n  scale: function(k) {\n    return k === 1 ? this : new Transform(this.k * k, this.x, this.y);\n  },\n  translate: function(x, y) {\n    return x === 0 & y === 0 ? this : new Transform(this.k, this.x + this.k * x, this.y + this.k * y);\n  },\n  apply: function(point) {\n    return [point[0] * this.k + this.x, point[1] * this.k + this.y];\n  },\n  applyX: function(x) {\n    return x * this.k + this.x;\n  },\n  applyY: function(y) {\n    return y * this.k + this.y;\n  },\n  invert: function(location) {\n    return [(location[0] - this.x) / this.k, (location[1] - this.y) / this.k];\n  },\n  invertX: function(x) {\n    return (x - this.x) / this.k;\n  },\n  invertY: function(y) {\n    return (y - this.y) / this.k;\n  },\n  rescaleX: function(x) {\n    return x.copy().domain(x.range().map(this.invertX, this).map(x.invert, x));\n  },\n  rescaleY: function(y) {\n    return y.copy().domain(y.range().map(this.invertY, this).map(y.invert, y));\n  },\n  toString: function() {\n    return \"translate(\" + this.x + \",\" + this.y + \") scale(\" + this.k + \")\";\n  }\n};\n\nexport var identity = new Transform(1, 0, 0);\n\ntransform.prototype = Transform.prototype;\n\nexport default function transform(node) {\n  while (!node.__zoom) if (!(node = node.parentNode)) return identity;\n  return node.__zoom;\n}\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f);else for(t in e)e[t]&&(n&&(n+=\" \"),n+=t);return n}export function clsx(){for(var e,t,f=0,n=\"\";f<arguments.length;)(e=arguments[f++])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","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","\n      import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../node_modules/sass-loader/dist/cjs.js!./styles.module.scss\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../node_modules/sass-loader/dist/cjs.js!./styles.module.scss\";\n       export default content && content.locals ? content.locals : undefined;\n","import clsx from \"clsx\";\nimport styles from \"./styles.module.scss\";\n\ninterface EndNotesProps {\n  heading?: string;\n  tag?: \"h2\" | \"h3\";\n  isDarkBG?: boolean;\n  mode?: \"collapsed\" | \"no-heading\" | \"heading\";\n}\n\nexport function EndNotes({\n  heading,\n  tag: Tag = \"h2\",\n  isDarkBG,\n  children,\n  mode,\n}: React.PropsWithChildren<EndNotesProps>) {\n  return (\n    <div className={clsx(styles.container, isDarkBG && styles[\"dark-bg\"])}>\n      {mode == \"collapsed\" && (\n        <details className={styles.details}>\n          <summary className={styles.summary}>\n            <Tag className={styles.heading}>{heading || \"Notes\"}</Tag>\n            <svg className={styles[\"svg-plus\"]} viewBox=\"0 0 20 20\" fill=\"none\">\n              <rect\n                className={styles.horiz}\n                x=\"9\"\n                y=\"5\"\n                width=\"1.5\"\n                height=\"10\"\n                fill=\"currentColor\"\n              />\n              <rect\n                x=\"15\"\n                y=\"9\"\n                width=\"1.5\"\n                height=\"10\"\n                transform=\"rotate(90 15 9)\"\n                fill=\"currentColor\"\n              />\n            </svg>\n          </summary>\n          {children}\n        </details>\n      )}\n\n      {mode !== \"collapsed\" && (\n        <div>\n          {mode == \"heading\" && (\n            <Tag className={styles.heading}>{heading || \"Notes\"}</Tag>\n          )}\n          {children}\n        </div>\n      )}\n    </div>\n  );\n}\n","\n      import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../node_modules/sass-loader/dist/cjs.js!./styles.module.scss\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../node_modules/sass-loader/dist/cjs.js!./styles.module.scss\";\n       export default content && content.locals ? content.locals : undefined;\n","import styles from \"./styles.module.scss\";\n\ninterface PageTopperProps {\n  headline: string;\n  dek?: string;\n}\n\nexport function PageTopper({ headline, dek }: PageTopperProps) {\n  return (\n    <div className={styles.container}>\n      <h1 className={styles.headline}>{headline}</h1>\n      {dek && <p className={styles.dek}>{dek}</p>}\n    </div>\n  );\n}\n","\n      import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../node_modules/sass-loader/dist/cjs.js!./styles.module.scss\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../node_modules/sass-loader/dist/cjs.js!./styles.module.scss\";\n       export default content && content.locals ? content.locals : undefined;\n","import clsx from \"clsx\";\nimport styles from \"./styles.module.scss\";\n\ninterface ControlsBarProps {\n  isLoading?: boolean;\n}\n\nexport function ControlsBar({\n  isLoading,\n  children,\n}: React.PropsWithChildren<ControlsBarProps>) {\n  return (\n    <div\n      className={clsx(styles.container, {\n        [styles[\"container-loading\"]]: isLoading,\n      })}\n    >\n      <div className={styles.inner}>\n        <div className={styles.top}>\n          <p className={styles.title}>Data filters</p>\n          {isLoading ? (\n            <div className={styles.loading}>\n              <div className={styles.spinner} role=\"status\">\n                <div className={styles.hide}>Loading...</div>\n              </div>\n            </div>\n          ) : null}\n        </div>\n        <fieldset className={styles.controls}>{children}</fieldset>\n      </div>\n    </div>\n  );\n}\n","import { useEffect, useState } from \"react\";\n\nconst isValid = <T extends string>(\n  options: readonly T[],\n  param: string\n): param is T => {\n  return options.some((o) => o === param);\n};\n\ntype Key =\n  | \"eco\"\n  | \"eco2\"\n  | \"year\"\n  | \"sector\"\n  | \"sub-sector\"\n  | \"toggle\"\n  | \"toggle2\"\n  | \"product\"\n  | \"dir\"\n  | \"dir2\";\n\nexport const filterAfterChangeEventKey = \"global-flows-filter-after-change\";\n\nconst updateValue = (key: Key, value: string) => {\n  const params = new URLSearchParams(window.location.search);\n  params.set(key, value || \"\");\n  window.history.replaceState({}, \"\", `${window.location.pathname}?${params}`);\n  document.dispatchEvent(new Event(filterAfterChangeEventKey));\n};\n\nexport function useFilter<T extends string>(\n  key: Key,\n  options: readonly T[],\n  defaultOptionArg?: T\n) {\n  const params = new URLSearchParams(window.location.search);\n  const param = params.get(key) || \"\";\n\n  const defaultOption =\n    (defaultOptionArg && options.includes(defaultOptionArg)\n      ? defaultOptionArg\n      : key === \"eco\" || key === \"eco2\"\n      ? options.find((o) => o === \"wld\")\n      : key === \"sector\"\n      ? options.find((o) => o === \"0ag\") || options.find((o) => o === \"0mg\")\n      : null) || options[0];\n\n  const [value, setValue] = useState(() => {\n    if (!options.length || !isValid(options, param)) {\n      return defaultOption;\n    }\n\n    return param;\n  });\n\n  // Make sure we still have the most recent value in state when filters change,\n  // i.e. if there are two instances of this hook with the same key on a page.\n  useEffect(() => {\n    const onFilterChange = () => {\n      const currentParams = new URLSearchParams(window.location.search);\n      const currentParam = currentParams.get(key) || \"\";\n\n      if (currentParam !== value && isValid(options, currentParam)) {\n        setValue(currentParam);\n      }\n    };\n\n    document.addEventListener(filterAfterChangeEventKey, onFilterChange);\n    return () => {\n      document.removeEventListener(filterAfterChangeEventKey, onFilterChange);\n    };\n  });\n\n  useEffect(() => {\n    if (options.length && !isValid(options, param)) {\n      updateValue(key, defaultOption);\n    }\n  }, [options, param, defaultOption, key]);\n\n  useEffect(() => {\n    if (param !== value && isValid(options, param)) {\n      setValue(param);\n    }\n  }, [param, value, options]);\n\n  return {\n    value: value,\n    onChange: (newValue: string) => {\n      const newParam = isValid(options, newValue) ? newValue : defaultOption;\n      updateValue(key, newParam);\n    },\n  };\n}\n","import { useState, useEffect } from \"react\";\nimport { filterAfterChangeEventKey } from \"./useFilter\";\n\nexport function useUrls() {\n  const [params, setParams] = useState(window.location.search);\n\n  useEffect(() => {\n    const onFilterChange = () => {\n      setParams(window.location.search);\n    };\n    document.addEventListener(filterAfterChangeEventKey, onFilterChange);\n    return () => {\n      document.removeEventListener(filterAfterChangeEventKey, onFilterChange);\n    };\n  });\n\n  return {\n    home: {\n      url: process.env.HOME_URL?.concat(params),\n      thumbnailLight: `${process.env.ASSET_PATH || \"\"}/img/menu/map-light.svg`,\n      thumbnailDark: `${process.env.ASSET_PATH || \"\"}/img/menu/map-dark.svg`,\n      title: \"Trade partner map\",\n      description:\n        \"Track the leading trading economies as they change over time.\",\n      headline: \"Who is the top trading partner of each economy?\",\n      dek: \"\",\n    },\n    \"trade-network\": {\n      url: process.env.TRADE_NETWORK_URL?.concat(params),\n      thumbnailLight: `${\n        process.env.ASSET_PATH || \"\"\n      }/img/menu/network-light.svg`,\n      thumbnailDark: `${\n        process.env.ASSET_PATH || \"\"\n      }/img/menu/network-dark.svg`,\n      title: \"Global trade network\",\n      description: \"View global trade flows across sectors and years\",\n      headline: \"What are the most important trade corridors?\",\n      dek: \"Global flows travel through corridors that connect countries, shaping the global economy—from oil flows from the Middle East, to power from East Asia, to agriculture flows from the Americas to the rest of the world. Explore the data to identify the major players in the global trade network in different subsectors\",\n    },\n    \"trade-composition\": {\n      url: process.env.TRADE_COMPOSITION_URL?.concat(params),\n      thumbnailLight: `${\n        process.env.ASSET_PATH || \"\"\n      }/img/menu/composition-light.svg`,\n      thumbnailDark: `${\n        process.env.ASSET_PATH || \"\"\n      }/img/menu/composition-dark.svg`,\n      title: \"Trade composition\",\n      description:\n        \"See a breakdown of imports and exports across sectors for an economy\",\n      headline:\n        \"What are the main traded sectors and who are the main trade partners of an economy?\",\n      dek: \"The trade profile of economies constantly evolves. Explore the data to understand how the composition of exports and imports has been changing in different sectors and among trade partners over time.\",\n    },\n    \"trading-partners\": {\n      url: process.env.TRADING_PARTNERS_URL?.concat(params),\n      thumbnailLight: `${\n        process.env.ASSET_PATH || \"\"\n      }/img/menu/evolution-light.svg`,\n      thumbnailDark: `${\n        process.env.ASSET_PATH || \"\"\n      }/img/menu/evolution-dark.svg`,\n      title: \"Evolution in trade partners\",\n      description:\n        \"See how an economy’s trade have evolved with its top trading partners\",\n      headline: \"How has trade between economies evolved over time?\",\n      dek: \"Over the past few years, leading economies have reconfigured their main trading partners. Explore for which economies and for which sectors trading partners are changing in this shifting trade landscape.\",\n    },\n    interdependencies: {\n      url: process.env.INTERDEPENDENCIES_URL?.concat(params),\n      thumbnailLight: `${\n        process.env.ASSET_PATH || \"\"\n      }/img/menu/interdependencies-light.svg`,\n      thumbnailDark: `${\n        process.env.ASSET_PATH || \"\"\n      }/img/menu/interdependencies-dark.svg`,\n      title: \"Trade interdependencies\",\n      description: \"View trade interdependencies between two economies\",\n      headline: \"How interdependent are two economies?\",\n      dek: \"No region is self-sufficient in today’s interconnected world. Every region relies on trade with others, both as markets and suppliers in numerous categories. Understand the degree of interdependence of pairs of economies by comparing their import and export relationships across sectors.\",\n    },\n    \"product-concentration\": {\n      url: process.env.PRODUCT_CONCENTRATION_URL?.concat(params),\n      thumbnailLight: `${\n        process.env.ASSET_PATH || \"\"\n      }/img/menu/concentration-light.svg`,\n      thumbnailDark: `${\n        process.env.ASSET_PATH || \"\"\n      }/img/menu/concentration-dark.svg`,\n      title: \"Product concentration\",\n      description:\n        \"Understand which product imports are supplied by a small number of economies\",\n      headline: \"Which products are supplied by a small number of economies?\",\n      dek: \"Global interconnections have created broad economic benefits, but recent supply chain disruptions have highlighted the importance of resilience. Concentrated global trade can create complication if products are harder to replace on short notice. However, not all concentration is the same. Explore where concentrated trading relationships exist.\",\n    },\n  };\n}\n","\n      import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../node_modules/sass-loader/dist/cjs.js!./styles.module.scss\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../node_modules/sass-loader/dist/cjs.js!./styles.module.scss\";\n       export default content && content.locals ? content.locals : undefined;\n","export default function _extends() {\n  _extends = Object.assign ? Object.assign.bind() : function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  };\n  return _extends.apply(this, arguments);\n}","function $e42e1063c40fb3ef$export$b9ecd428b558ff10(originalEventHandler, ourEventHandler, { checkForDefaultPrevented: checkForDefaultPrevented = true  } = {}) {\n    return function handleEvent(event) {\n        originalEventHandler === null || originalEventHandler === void 0 || originalEventHandler(event);\n        if (checkForDefaultPrevented === false || !event.defaultPrevented) return ourEventHandler === null || ourEventHandler === void 0 ? void 0 : ourEventHandler(event);\n    };\n}\n\n\n\n\nexport {$e42e1063c40fb3ef$export$b9ecd428b558ff10 as composeEventHandlers};\n//# sourceMappingURL=index.mjs.map\n","import {useCallback as $3vqmr$useCallback} from \"react\";\n\n\n/**\n * Set a given ref to a given value\n * This utility takes care of different types of refs: callback refs and RefObject(s)\n */ function $6ed0406888f73fc4$var$setRef(ref, value) {\n    if (typeof ref === 'function') ref(value);\n    else if (ref !== null && ref !== undefined) ref.current = value;\n}\n/**\n * A utility to compose multiple refs together\n * Accepts callback refs and RefObject(s)\n */ function $6ed0406888f73fc4$export$43e446d32b3d21af(...refs) {\n    return (node)=>refs.forEach((ref)=>$6ed0406888f73fc4$var$setRef(ref, node)\n        )\n    ;\n}\n/**\n * A custom hook that composes multiple refs\n * Accepts callback refs and RefObject(s)\n */ function $6ed0406888f73fc4$export$c7b2cbe3552a0d05(...refs) {\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    return $3vqmr$useCallback($6ed0406888f73fc4$export$43e446d32b3d21af(...refs), refs);\n}\n\n\n\n\nexport {$6ed0406888f73fc4$export$43e446d32b3d21af as composeRefs, $6ed0406888f73fc4$export$c7b2cbe3552a0d05 as useComposedRefs};\n//# sourceMappingURL=index.mjs.map\n","import {createContext as $3bkAK$createContext, useMemo as $3bkAK$useMemo, createElement as $3bkAK$createElement, useContext as $3bkAK$useContext} from \"react\";\n\n\nfunction $c512c27ab02ef895$export$fd42f52fd3ae1109(rootComponentName, defaultContext) {\n    const Context = /*#__PURE__*/ $3bkAK$createContext(defaultContext);\n    function Provider(props) {\n        const { children: children , ...context } = props; // Only re-memoize when prop values change\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n        const value = $3bkAK$useMemo(()=>context\n        , Object.values(context));\n        return /*#__PURE__*/ $3bkAK$createElement(Context.Provider, {\n            value: value\n        }, children);\n    }\n    function useContext(consumerName) {\n        const context = $3bkAK$useContext(Context);\n        if (context) return context;\n        if (defaultContext !== undefined) return defaultContext; // if a defaultContext wasn't specified, it's a required context.\n        throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    Provider.displayName = rootComponentName + 'Provider';\n    return [\n        Provider,\n        useContext\n    ];\n}\n/* -------------------------------------------------------------------------------------------------\n * createContextScope\n * -----------------------------------------------------------------------------------------------*/ function $c512c27ab02ef895$export$50c7b4e9d9f19c1(scopeName, createContextScopeDeps = []) {\n    let defaultContexts = [];\n    /* -----------------------------------------------------------------------------------------------\n   * createContext\n   * ---------------------------------------------------------------------------------------------*/ function $c512c27ab02ef895$export$fd42f52fd3ae1109(rootComponentName, defaultContext) {\n        const BaseContext = /*#__PURE__*/ $3bkAK$createContext(defaultContext);\n        const index = defaultContexts.length;\n        defaultContexts = [\n            ...defaultContexts,\n            defaultContext\n        ];\n        function Provider(props) {\n            const { scope: scope , children: children , ...context } = props;\n            const Context = (scope === null || scope === void 0 ? void 0 : scope[scopeName][index]) || BaseContext; // Only re-memoize when prop values change\n            // eslint-disable-next-line react-hooks/exhaustive-deps\n            const value = $3bkAK$useMemo(()=>context\n            , Object.values(context));\n            return /*#__PURE__*/ $3bkAK$createElement(Context.Provider, {\n                value: value\n            }, children);\n        }\n        function useContext(consumerName, scope) {\n            const Context = (scope === null || scope === void 0 ? void 0 : scope[scopeName][index]) || BaseContext;\n            const context = $3bkAK$useContext(Context);\n            if (context) return context;\n            if (defaultContext !== undefined) return defaultContext; // if a defaultContext wasn't specified, it's a required context.\n            throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n        }\n        Provider.displayName = rootComponentName + 'Provider';\n        return [\n            Provider,\n            useContext\n        ];\n    }\n    /* -----------------------------------------------------------------------------------------------\n   * createScope\n   * ---------------------------------------------------------------------------------------------*/ const createScope = ()=>{\n        const scopeContexts = defaultContexts.map((defaultContext)=>{\n            return /*#__PURE__*/ $3bkAK$createContext(defaultContext);\n        });\n        return function useScope(scope) {\n            const contexts = (scope === null || scope === void 0 ? void 0 : scope[scopeName]) || scopeContexts;\n            return $3bkAK$useMemo(()=>({\n                    [`__scope${scopeName}`]: {\n                        ...scope,\n                        [scopeName]: contexts\n                    }\n                })\n            , [\n                scope,\n                contexts\n            ]);\n        };\n    };\n    createScope.scopeName = scopeName;\n    return [\n        $c512c27ab02ef895$export$fd42f52fd3ae1109,\n        $c512c27ab02ef895$var$composeContextScopes(createScope, ...createContextScopeDeps)\n    ];\n}\n/* -------------------------------------------------------------------------------------------------\n * composeContextScopes\n * -----------------------------------------------------------------------------------------------*/ function $c512c27ab02ef895$var$composeContextScopes(...scopes) {\n    const baseScope = scopes[0];\n    if (scopes.length === 1) return baseScope;\n    const createScope1 = ()=>{\n        const scopeHooks = scopes.map((createScope)=>({\n                useScope: createScope(),\n                scopeName: createScope.scopeName\n            })\n        );\n        return function useComposedScopes(overrideScopes) {\n            const nextScopes1 = scopeHooks.reduce((nextScopes, { useScope: useScope , scopeName: scopeName  })=>{\n                // We are calling a hook inside a callback which React warns against to avoid inconsistent\n                // renders, however, scoping doesn't have render side effects so we ignore the rule.\n                // eslint-disable-next-line react-hooks/rules-of-hooks\n                const scopeProps = useScope(overrideScopes);\n                const currentScope = scopeProps[`__scope${scopeName}`];\n                return {\n                    ...nextScopes,\n                    ...currentScope\n                };\n            }, {});\n            return $3bkAK$useMemo(()=>({\n                    [`__scope${baseScope.scopeName}`]: nextScopes1\n                })\n            , [\n                nextScopes1\n            ]);\n        };\n    };\n    createScope1.scopeName = baseScope.scopeName;\n    return createScope1;\n}\n\n\n\n\nexport {$c512c27ab02ef895$export$fd42f52fd3ae1109 as createContext, $c512c27ab02ef895$export$50c7b4e9d9f19c1 as createContextScope};\n//# sourceMappingURL=index.mjs.map\n","import {useLayoutEffect as $dxlwH$useLayoutEffect} from \"react\";\n\n\n/**\n * On the server, React emits a warning when calling `useLayoutEffect`.\n * This is because neither `useLayoutEffect` nor `useEffect` run on the server.\n * We use this safe version which suppresses the warning by replacing it with a noop on the server.\n *\n * See: https://reactjs.org/docs/hooks-reference.html#uselayouteffect\n */ const $9f79659886946c16$export$e5c5a5f917a5871c = Boolean(globalThis === null || globalThis === void 0 ? void 0 : globalThis.document) ? $dxlwH$useLayoutEffect : ()=>{};\n\n\n\n\nexport {$9f79659886946c16$export$e5c5a5f917a5871c as useLayoutEffect};\n//# sourceMappingURL=index.mjs.map\n","import * as $2AODx$react from \"react\";\nimport {useLayoutEffect as $2AODx$useLayoutEffect} from \"@radix-ui/react-use-layout-effect\";\n\n\n\nconst $1746a345f3d73bb7$var$useReactId = $2AODx$react['useId'.toString()] || (()=>undefined\n);\nlet $1746a345f3d73bb7$var$count = 0;\nfunction $1746a345f3d73bb7$export$f680877a34711e37(deterministicId) {\n    const [id, setId] = $2AODx$react.useState($1746a345f3d73bb7$var$useReactId()); // React versions older than 18 will have client-side ids only.\n    $2AODx$useLayoutEffect(()=>{\n        if (!deterministicId) setId((reactId)=>reactId !== null && reactId !== void 0 ? reactId : String($1746a345f3d73bb7$var$count++)\n        );\n    }, [\n        deterministicId\n    ]);\n    return deterministicId || (id ? `radix-${id}` : '');\n}\n\n\n\n\nexport {$1746a345f3d73bb7$export$f680877a34711e37 as useId};\n//# sourceMappingURL=index.mjs.map\n","import {useRef as $lwiWj$useRef, useEffect as $lwiWj$useEffect, useMemo as $lwiWj$useMemo} from \"react\";\n\n\n/**\n * A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a\n * prop or avoid re-executing effects when passed as a dependency\n */ function $b1b2314f5f9a1d84$export$25bec8c6f54ee79a(callback) {\n    const callbackRef = $lwiWj$useRef(callback);\n    $lwiWj$useEffect(()=>{\n        callbackRef.current = callback;\n    }); // https://github.com/facebook/react/issues/19240\n    return $lwiWj$useMemo(()=>(...args)=>{\n            var _callbackRef$current;\n            return (_callbackRef$current = callbackRef.current) === null || _callbackRef$current === void 0 ? void 0 : _callbackRef$current.call(callbackRef, ...args);\n        }\n    , []);\n}\n\n\n\n\nexport {$b1b2314f5f9a1d84$export$25bec8c6f54ee79a as useCallbackRef};\n//# sourceMappingURL=index.mjs.map\n","import {useCallback as $bnPw9$useCallback, useState as $bnPw9$useState, useRef as $bnPw9$useRef, useEffect as $bnPw9$useEffect} from \"react\";\nimport {useCallbackRef as $bnPw9$useCallbackRef} from \"@radix-ui/react-use-callback-ref\";\n\n\n\nfunction $71cd76cc60e0454e$export$6f32135080cb4c3({ prop: prop , defaultProp: defaultProp , onChange: onChange = ()=>{}  }) {\n    const [uncontrolledProp, setUncontrolledProp] = $71cd76cc60e0454e$var$useUncontrolledState({\n        defaultProp: defaultProp,\n        onChange: onChange\n    });\n    const isControlled = prop !== undefined;\n    const value1 = isControlled ? prop : uncontrolledProp;\n    const handleChange = $bnPw9$useCallbackRef(onChange);\n    const setValue = $bnPw9$useCallback((nextValue)=>{\n        if (isControlled) {\n            const setter = nextValue;\n            const value = typeof nextValue === 'function' ? setter(prop) : nextValue;\n            if (value !== prop) handleChange(value);\n        } else setUncontrolledProp(nextValue);\n    }, [\n        isControlled,\n        prop,\n        setUncontrolledProp,\n        handleChange\n    ]);\n    return [\n        value1,\n        setValue\n    ];\n}\nfunction $71cd76cc60e0454e$var$useUncontrolledState({ defaultProp: defaultProp , onChange: onChange  }) {\n    const uncontrolledState = $bnPw9$useState(defaultProp);\n    const [value] = uncontrolledState;\n    const prevValueRef = $bnPw9$useRef(value);\n    const handleChange = $bnPw9$useCallbackRef(onChange);\n    $bnPw9$useEffect(()=>{\n        if (prevValueRef.current !== value) {\n            handleChange(value);\n            prevValueRef.current = value;\n        }\n    }, [\n        value,\n        prevValueRef,\n        handleChange\n    ]);\n    return uncontrolledState;\n}\n\n\n\n\nexport {$71cd76cc60e0454e$export$6f32135080cb4c3 as useControllableState};\n//# sourceMappingURL=index.mjs.map\n","import $9IrjX$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {forwardRef as $9IrjX$forwardRef, Children as $9IrjX$Children, isValidElement as $9IrjX$isValidElement, createElement as $9IrjX$createElement, cloneElement as $9IrjX$cloneElement, Fragment as $9IrjX$Fragment} from \"react\";\nimport {composeRefs as $9IrjX$composeRefs} from \"@radix-ui/react-compose-refs\";\n\n\n\n\n/* -------------------------------------------------------------------------------------------------\n * Slot\n * -----------------------------------------------------------------------------------------------*/ const $5e63c961fc1ce211$export$8c6ed5c666ac1360 = /*#__PURE__*/ $9IrjX$forwardRef((props, forwardedRef)=>{\n    const { children: children , ...slotProps } = props;\n    const childrenArray = $9IrjX$Children.toArray(children);\n    const slottable = childrenArray.find($5e63c961fc1ce211$var$isSlottable);\n    if (slottable) {\n        // the new element to render is the one passed as a child of `Slottable`\n        const newElement = slottable.props.children;\n        const newChildren = childrenArray.map((child)=>{\n            if (child === slottable) {\n                // because the new element will be the one rendered, we are only interested\n                // in grabbing its children (`newElement.props.children`)\n                if ($9IrjX$Children.count(newElement) > 1) return $9IrjX$Children.only(null);\n                return /*#__PURE__*/ $9IrjX$isValidElement(newElement) ? newElement.props.children : null;\n            } else return child;\n        });\n        return /*#__PURE__*/ $9IrjX$createElement($5e63c961fc1ce211$var$SlotClone, $9IrjX$babelruntimehelpersesmextends({}, slotProps, {\n            ref: forwardedRef\n        }), /*#__PURE__*/ $9IrjX$isValidElement(newElement) ? /*#__PURE__*/ $9IrjX$cloneElement(newElement, undefined, newChildren) : null);\n    }\n    return /*#__PURE__*/ $9IrjX$createElement($5e63c961fc1ce211$var$SlotClone, $9IrjX$babelruntimehelpersesmextends({}, slotProps, {\n        ref: forwardedRef\n    }), children);\n});\n$5e63c961fc1ce211$export$8c6ed5c666ac1360.displayName = 'Slot';\n/* -------------------------------------------------------------------------------------------------\n * SlotClone\n * -----------------------------------------------------------------------------------------------*/ const $5e63c961fc1ce211$var$SlotClone = /*#__PURE__*/ $9IrjX$forwardRef((props, forwardedRef)=>{\n    const { children: children , ...slotProps } = props;\n    if (/*#__PURE__*/ $9IrjX$isValidElement(children)) return /*#__PURE__*/ $9IrjX$cloneElement(children, {\n        ...$5e63c961fc1ce211$var$mergeProps(slotProps, children.props),\n        ref: forwardedRef ? $9IrjX$composeRefs(forwardedRef, children.ref) : children.ref\n    });\n    return $9IrjX$Children.count(children) > 1 ? $9IrjX$Children.only(null) : null;\n});\n$5e63c961fc1ce211$var$SlotClone.displayName = 'SlotClone';\n/* -------------------------------------------------------------------------------------------------\n * Slottable\n * -----------------------------------------------------------------------------------------------*/ const $5e63c961fc1ce211$export$d9f1ccf0bdb05d45 = ({ children: children  })=>{\n    return /*#__PURE__*/ $9IrjX$createElement($9IrjX$Fragment, null, children);\n};\n/* ---------------------------------------------------------------------------------------------- */ function $5e63c961fc1ce211$var$isSlottable(child) {\n    return /*#__PURE__*/ $9IrjX$isValidElement(child) && child.type === $5e63c961fc1ce211$export$d9f1ccf0bdb05d45;\n}\nfunction $5e63c961fc1ce211$var$mergeProps(slotProps, childProps) {\n    // all child props should override\n    const overrideProps = {\n        ...childProps\n    };\n    for(const propName in childProps){\n        const slotPropValue = slotProps[propName];\n        const childPropValue = childProps[propName];\n        const isHandler = /^on[A-Z]/.test(propName);\n        if (isHandler) {\n            // if the handler exists on both, we compose them\n            if (slotPropValue && childPropValue) overrideProps[propName] = (...args)=>{\n                childPropValue(...args);\n                slotPropValue(...args);\n            };\n            else if (slotPropValue) overrideProps[propName] = slotPropValue;\n        } else if (propName === 'style') overrideProps[propName] = {\n            ...slotPropValue,\n            ...childPropValue\n        };\n        else if (propName === 'className') overrideProps[propName] = [\n            slotPropValue,\n            childPropValue\n        ].filter(Boolean).join(' ');\n    }\n    return {\n        ...slotProps,\n        ...overrideProps\n    };\n}\nconst $5e63c961fc1ce211$export$be92b6f5f03c0fe9 = $5e63c961fc1ce211$export$8c6ed5c666ac1360;\n\n\n\n\nexport {$5e63c961fc1ce211$export$8c6ed5c666ac1360 as Slot, $5e63c961fc1ce211$export$d9f1ccf0bdb05d45 as Slottable, $5e63c961fc1ce211$export$be92b6f5f03c0fe9 as Root};\n//# sourceMappingURL=index.mjs.map\n","import $4q5Fq$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {forwardRef as $4q5Fq$forwardRef, useEffect as $4q5Fq$useEffect, createElement as $4q5Fq$createElement} from \"react\";\nimport {flushSync as $4q5Fq$flushSync} from \"react-dom\";\nimport {Slot as $4q5Fq$Slot} from \"@radix-ui/react-slot\";\n\n\n\n\n\nconst $8927f6f2acc4f386$var$NODES = [\n    'a',\n    'button',\n    'div',\n    'form',\n    'h2',\n    'h3',\n    'img',\n    'input',\n    'label',\n    'li',\n    'nav',\n    'ol',\n    'p',\n    'span',\n    'svg',\n    'ul'\n]; // Temporary while we await merge of this fix:\n// https://github.com/DefinitelyTyped/DefinitelyTyped/pull/55396\n// prettier-ignore\n/* -------------------------------------------------------------------------------------------------\n * Primitive\n * -----------------------------------------------------------------------------------------------*/ const $8927f6f2acc4f386$export$250ffa63cdc0d034 = $8927f6f2acc4f386$var$NODES.reduce((primitive, node)=>{\n    const Node = /*#__PURE__*/ $4q5Fq$forwardRef((props, forwardedRef)=>{\n        const { asChild: asChild , ...primitiveProps } = props;\n        const Comp = asChild ? $4q5Fq$Slot : node;\n        $4q5Fq$useEffect(()=>{\n            window[Symbol.for('radix-ui')] = true;\n        }, []);\n        return /*#__PURE__*/ $4q5Fq$createElement(Comp, $4q5Fq$babelruntimehelpersesmextends({}, primitiveProps, {\n            ref: forwardedRef\n        }));\n    });\n    Node.displayName = `Primitive.${node}`;\n    return {\n        ...primitive,\n        [node]: Node\n    };\n}, {});\n/* -------------------------------------------------------------------------------------------------\n * Utils\n * -----------------------------------------------------------------------------------------------*/ /**\n * Flush custom event dispatch\n * https://github.com/radix-ui/primitives/pull/1378\n *\n * React batches *all* event handlers since version 18, this introduces certain considerations when using custom event types.\n *\n * Internally, React prioritises events in the following order:\n *  - discrete\n *  - continuous\n *  - default\n *\n * https://github.com/facebook/react/blob/a8a4742f1c54493df00da648a3f9d26e3db9c8b5/packages/react-dom/src/events/ReactDOMEventListener.js#L294-L350\n *\n * `discrete` is an  important distinction as updates within these events are applied immediately.\n * React however, is not able to infer the priority of custom event types due to how they are detected internally.\n * Because of this, it's possible for updates from custom events to be unexpectedly batched when\n * dispatched by another `discrete` event.\n *\n * In order to ensure that updates from custom events are applied predictably, we need to manually flush the batch.\n * This utility should be used when dispatching a custom event from within another `discrete` event, this utility\n * is not nessesary when dispatching known event types, or if dispatching a custom type inside a non-discrete event.\n * For example:\n *\n * dispatching a known click 👎\n * target.dispatchEvent(new Event(‘click’))\n *\n * dispatching a custom type within a non-discrete event 👎\n * onScroll={(event) => event.target.dispatchEvent(new CustomEvent(‘customType’))}\n *\n * dispatching a custom type within a `discrete` event 👍\n * onPointerDown={(event) => dispatchDiscreteCustomEvent(event.target, new CustomEvent(‘customType’))}\n *\n * Note: though React classifies `focus`, `focusin` and `focusout` events as `discrete`, it's  not recommended to use\n * this utility with them. This is because it's possible for those handlers to be called implicitly during render\n * e.g. when focus is within a component as it is unmounted, or when managing focus on mount.\n */ function $8927f6f2acc4f386$export$6d1a0317bde7de7f(target, event) {\n    if (target) $4q5Fq$flushSync(()=>target.dispatchEvent(event)\n    );\n}\n/* -----------------------------------------------------------------------------------------------*/ const $8927f6f2acc4f386$export$be92b6f5f03c0fe9 = $8927f6f2acc4f386$export$250ffa63cdc0d034;\n\n\n\n\nexport {$8927f6f2acc4f386$export$250ffa63cdc0d034 as Primitive, $8927f6f2acc4f386$export$be92b6f5f03c0fe9 as Root, $8927f6f2acc4f386$export$6d1a0317bde7de7f as dispatchDiscreteCustomEvent};\n//# sourceMappingURL=index.mjs.map\n","import $kqwpH$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {createContext as $kqwpH$createContext, forwardRef as $kqwpH$forwardRef, useContext as $kqwpH$useContext, useState as $kqwpH$useState, useEffect as $kqwpH$useEffect, createElement as $kqwpH$createElement, useRef as $kqwpH$useRef} from \"react\";\nimport {composeEventHandlers as $kqwpH$composeEventHandlers} from \"@radix-ui/primitive\";\nimport {Primitive as $kqwpH$Primitive, dispatchDiscreteCustomEvent as $kqwpH$dispatchDiscreteCustomEvent} from \"@radix-ui/react-primitive\";\nimport {useComposedRefs as $kqwpH$useComposedRefs} from \"@radix-ui/react-compose-refs\";\nimport {useCallbackRef as $kqwpH$useCallbackRef} from \"@radix-ui/react-use-callback-ref\";\nimport {useEscapeKeydown as $kqwpH$useEscapeKeydown} from \"@radix-ui/react-use-escape-keydown\";\n\n\n\n\n\n\n\n\n/* -------------------------------------------------------------------------------------------------\n * DismissableLayer\n * -----------------------------------------------------------------------------------------------*/ const $5cb92bef7577960e$var$DISMISSABLE_LAYER_NAME = 'DismissableLayer';\nconst $5cb92bef7577960e$var$CONTEXT_UPDATE = 'dismissableLayer.update';\nconst $5cb92bef7577960e$var$POINTER_DOWN_OUTSIDE = 'dismissableLayer.pointerDownOutside';\nconst $5cb92bef7577960e$var$FOCUS_OUTSIDE = 'dismissableLayer.focusOutside';\nlet $5cb92bef7577960e$var$originalBodyPointerEvents;\nconst $5cb92bef7577960e$var$DismissableLayerContext = /*#__PURE__*/ $kqwpH$createContext({\n    layers: new Set(),\n    layersWithOutsidePointerEventsDisabled: new Set(),\n    branches: new Set()\n});\nconst $5cb92bef7577960e$export$177fb62ff3ec1f22 = /*#__PURE__*/ $kqwpH$forwardRef((props, forwardedRef)=>{\n    var _node$ownerDocument;\n    const { disableOutsidePointerEvents: disableOutsidePointerEvents = false , onEscapeKeyDown: onEscapeKeyDown , onPointerDownOutside: onPointerDownOutside , onFocusOutside: onFocusOutside , onInteractOutside: onInteractOutside , onDismiss: onDismiss , ...layerProps } = props;\n    const context = $kqwpH$useContext($5cb92bef7577960e$var$DismissableLayerContext);\n    const [node1, setNode] = $kqwpH$useState(null);\n    const ownerDocument = (_node$ownerDocument = node1 === null || node1 === void 0 ? void 0 : node1.ownerDocument) !== null && _node$ownerDocument !== void 0 ? _node$ownerDocument : globalThis === null || globalThis === void 0 ? void 0 : globalThis.document;\n    const [, force] = $kqwpH$useState({});\n    const composedRefs = $kqwpH$useComposedRefs(forwardedRef, (node)=>setNode(node)\n    );\n    const layers = Array.from(context.layers);\n    const [highestLayerWithOutsidePointerEventsDisabled] = [\n        ...context.layersWithOutsidePointerEventsDisabled\n    ].slice(-1); // prettier-ignore\n    const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled); // prettier-ignore\n    const index = node1 ? layers.indexOf(node1) : -1;\n    const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;\n    const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;\n    const pointerDownOutside = $5cb92bef7577960e$var$usePointerDownOutside((event)=>{\n        const target = event.target;\n        const isPointerDownOnBranch = [\n            ...context.branches\n        ].some((branch)=>branch.contains(target)\n        );\n        if (!isPointerEventsEnabled || isPointerDownOnBranch) return;\n        onPointerDownOutside === null || onPointerDownOutside === void 0 || onPointerDownOutside(event);\n        onInteractOutside === null || onInteractOutside === void 0 || onInteractOutside(event);\n        if (!event.defaultPrevented) onDismiss === null || onDismiss === void 0 || onDismiss();\n    }, ownerDocument);\n    const focusOutside = $5cb92bef7577960e$var$useFocusOutside((event)=>{\n        const target = event.target;\n        const isFocusInBranch = [\n            ...context.branches\n        ].some((branch)=>branch.contains(target)\n        );\n        if (isFocusInBranch) return;\n        onFocusOutside === null || onFocusOutside === void 0 || onFocusOutside(event);\n        onInteractOutside === null || onInteractOutside === void 0 || onInteractOutside(event);\n        if (!event.defaultPrevented) onDismiss === null || onDismiss === void 0 || onDismiss();\n    }, ownerDocument);\n    $kqwpH$useEscapeKeydown((event)=>{\n        const isHighestLayer = index === context.layers.size - 1;\n        if (!isHighestLayer) return;\n        onEscapeKeyDown === null || onEscapeKeyDown === void 0 || onEscapeKeyDown(event);\n        if (!event.defaultPrevented && onDismiss) {\n            event.preventDefault();\n            onDismiss();\n        }\n    }, ownerDocument);\n    $kqwpH$useEffect(()=>{\n        if (!node1) return;\n        if (disableOutsidePointerEvents) {\n            if (context.layersWithOutsidePointerEventsDisabled.size === 0) {\n                $5cb92bef7577960e$var$originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;\n                ownerDocument.body.style.pointerEvents = 'none';\n            }\n            context.layersWithOutsidePointerEventsDisabled.add(node1);\n        }\n        context.layers.add(node1);\n        $5cb92bef7577960e$var$dispatchUpdate();\n        return ()=>{\n            if (disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) ownerDocument.body.style.pointerEvents = $5cb92bef7577960e$var$originalBodyPointerEvents;\n        };\n    }, [\n        node1,\n        ownerDocument,\n        disableOutsidePointerEvents,\n        context\n    ]);\n    /**\n   * We purposefully prevent combining this effect with the `disableOutsidePointerEvents` effect\n   * because a change to `disableOutsidePointerEvents` would remove this layer from the stack\n   * and add it to the end again so the layering order wouldn't be _creation order_.\n   * We only want them to be removed from context stacks when unmounted.\n   */ $kqwpH$useEffect(()=>{\n        return ()=>{\n            if (!node1) return;\n            context.layers.delete(node1);\n            context.layersWithOutsidePointerEventsDisabled.delete(node1);\n            $5cb92bef7577960e$var$dispatchUpdate();\n        };\n    }, [\n        node1,\n        context\n    ]);\n    $kqwpH$useEffect(()=>{\n        const handleUpdate = ()=>force({})\n        ;\n        document.addEventListener($5cb92bef7577960e$var$CONTEXT_UPDATE, handleUpdate);\n        return ()=>document.removeEventListener($5cb92bef7577960e$var$CONTEXT_UPDATE, handleUpdate)\n        ;\n    }, []);\n    return /*#__PURE__*/ $kqwpH$createElement($kqwpH$Primitive.div, $kqwpH$babelruntimehelpersesmextends({}, layerProps, {\n        ref: composedRefs,\n        style: {\n            pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? 'auto' : 'none' : undefined,\n            ...props.style\n        },\n        onFocusCapture: $kqwpH$composeEventHandlers(props.onFocusCapture, focusOutside.onFocusCapture),\n        onBlurCapture: $kqwpH$composeEventHandlers(props.onBlurCapture, focusOutside.onBlurCapture),\n        onPointerDownCapture: $kqwpH$composeEventHandlers(props.onPointerDownCapture, pointerDownOutside.onPointerDownCapture)\n    }));\n});\n/*#__PURE__*/ Object.assign($5cb92bef7577960e$export$177fb62ff3ec1f22, {\n    displayName: $5cb92bef7577960e$var$DISMISSABLE_LAYER_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * DismissableLayerBranch\n * -----------------------------------------------------------------------------------------------*/ const $5cb92bef7577960e$var$BRANCH_NAME = 'DismissableLayerBranch';\nconst $5cb92bef7577960e$export$4d5eb2109db14228 = /*#__PURE__*/ $kqwpH$forwardRef((props, forwardedRef)=>{\n    const context = $kqwpH$useContext($5cb92bef7577960e$var$DismissableLayerContext);\n    const ref = $kqwpH$useRef(null);\n    const composedRefs = $kqwpH$useComposedRefs(forwardedRef, ref);\n    $kqwpH$useEffect(()=>{\n        const node = ref.current;\n        if (node) {\n            context.branches.add(node);\n            return ()=>{\n                context.branches.delete(node);\n            };\n        }\n    }, [\n        context.branches\n    ]);\n    return /*#__PURE__*/ $kqwpH$createElement($kqwpH$Primitive.div, $kqwpH$babelruntimehelpersesmextends({}, props, {\n        ref: composedRefs\n    }));\n});\n/*#__PURE__*/ Object.assign($5cb92bef7577960e$export$4d5eb2109db14228, {\n    displayName: $5cb92bef7577960e$var$BRANCH_NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ /**\n * Listens for `pointerdown` outside a react subtree. We use `pointerdown` rather than `pointerup`\n * to mimic layer dismissing behaviour present in OS.\n * Returns props to pass to the node we want to check for outside events.\n */ function $5cb92bef7577960e$var$usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis === null || globalThis === void 0 ? void 0 : globalThis.document) {\n    const handlePointerDownOutside = $kqwpH$useCallbackRef(onPointerDownOutside);\n    const isPointerInsideReactTreeRef = $kqwpH$useRef(false);\n    const handleClickRef = $kqwpH$useRef(()=>{});\n    $kqwpH$useEffect(()=>{\n        const handlePointerDown = (event)=>{\n            if (event.target && !isPointerInsideReactTreeRef.current) {\n                const eventDetail = {\n                    originalEvent: event\n                };\n                function handleAndDispatchPointerDownOutsideEvent() {\n                    $5cb92bef7577960e$var$handleAndDispatchCustomEvent($5cb92bef7577960e$var$POINTER_DOWN_OUTSIDE, handlePointerDownOutside, eventDetail, {\n                        discrete: true\n                    });\n                }\n                /**\n         * On touch devices, we need to wait for a click event because browsers implement\n         * a ~350ms delay between the time the user stops touching the display and when the\n         * browser executres events. We need to ensure we don't reactivate pointer-events within\n         * this timeframe otherwise the browser may execute events that should have been prevented.\n         *\n         * Additionally, this also lets us deal automatically with cancellations when a click event\n         * isn't raised because the page was considered scrolled/drag-scrolled, long-pressed, etc.\n         *\n         * This is why we also continuously remove the previous listener, because we cannot be\n         * certain that it was raised, and therefore cleaned-up.\n         */ if (event.pointerType === 'touch') {\n                    ownerDocument.removeEventListener('click', handleClickRef.current);\n                    handleClickRef.current = handleAndDispatchPointerDownOutsideEvent;\n                    ownerDocument.addEventListener('click', handleClickRef.current, {\n                        once: true\n                    });\n                } else handleAndDispatchPointerDownOutsideEvent();\n            }\n            isPointerInsideReactTreeRef.current = false;\n        };\n        /**\n     * if this hook executes in a component that mounts via a `pointerdown` event, the event\n     * would bubble up to the document and trigger a `pointerDownOutside` event. We avoid\n     * this by delaying the event listener registration on the document.\n     * This is not React specific, but rather how the DOM works, ie:\n     * ```\n     * button.addEventListener('pointerdown', () => {\n     *   console.log('I will log');\n     *   document.addEventListener('pointerdown', () => {\n     *     console.log('I will also log');\n     *   })\n     * });\n     */ const timerId = window.setTimeout(()=>{\n            ownerDocument.addEventListener('pointerdown', handlePointerDown);\n        }, 0);\n        return ()=>{\n            window.clearTimeout(timerId);\n            ownerDocument.removeEventListener('pointerdown', handlePointerDown);\n            ownerDocument.removeEventListener('click', handleClickRef.current);\n        };\n    }, [\n        ownerDocument,\n        handlePointerDownOutside\n    ]);\n    return {\n        // ensures we check React component tree (not just DOM tree)\n        onPointerDownCapture: ()=>isPointerInsideReactTreeRef.current = true\n    };\n}\n/**\n * Listens for when focus happens outside a react subtree.\n * Returns props to pass to the root (node) of the subtree we want to check.\n */ function $5cb92bef7577960e$var$useFocusOutside(onFocusOutside, ownerDocument = globalThis === null || globalThis === void 0 ? void 0 : globalThis.document) {\n    const handleFocusOutside = $kqwpH$useCallbackRef(onFocusOutside);\n    const isFocusInsideReactTreeRef = $kqwpH$useRef(false);\n    $kqwpH$useEffect(()=>{\n        const handleFocus = (event)=>{\n            if (event.target && !isFocusInsideReactTreeRef.current) {\n                const eventDetail = {\n                    originalEvent: event\n                };\n                $5cb92bef7577960e$var$handleAndDispatchCustomEvent($5cb92bef7577960e$var$FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {\n                    discrete: false\n                });\n            }\n        };\n        ownerDocument.addEventListener('focusin', handleFocus);\n        return ()=>ownerDocument.removeEventListener('focusin', handleFocus)\n        ;\n    }, [\n        ownerDocument,\n        handleFocusOutside\n    ]);\n    return {\n        onFocusCapture: ()=>isFocusInsideReactTreeRef.current = true\n        ,\n        onBlurCapture: ()=>isFocusInsideReactTreeRef.current = false\n    };\n}\nfunction $5cb92bef7577960e$var$dispatchUpdate() {\n    const event = new CustomEvent($5cb92bef7577960e$var$CONTEXT_UPDATE);\n    document.dispatchEvent(event);\n}\nfunction $5cb92bef7577960e$var$handleAndDispatchCustomEvent(name, handler, detail, { discrete: discrete  }) {\n    const target = detail.originalEvent.target;\n    const event = new CustomEvent(name, {\n        bubbles: false,\n        cancelable: true,\n        detail: detail\n    });\n    if (handler) target.addEventListener(name, handler, {\n        once: true\n    });\n    if (discrete) $kqwpH$dispatchDiscreteCustomEvent(target, event);\n    else target.dispatchEvent(event);\n}\nconst $5cb92bef7577960e$export$be92b6f5f03c0fe9 = $5cb92bef7577960e$export$177fb62ff3ec1f22;\nconst $5cb92bef7577960e$export$aecb2ddcb55c95be = $5cb92bef7577960e$export$4d5eb2109db14228;\n\n\n\n\nexport {$5cb92bef7577960e$export$177fb62ff3ec1f22 as DismissableLayer, $5cb92bef7577960e$export$4d5eb2109db14228 as DismissableLayerBranch, $5cb92bef7577960e$export$be92b6f5f03c0fe9 as Root, $5cb92bef7577960e$export$aecb2ddcb55c95be as Branch};\n//# sourceMappingURL=index.mjs.map\n","import {useEffect as $hPSQ5$useEffect} from \"react\";\nimport {useCallbackRef as $hPSQ5$useCallbackRef} from \"@radix-ui/react-use-callback-ref\";\n\n\n\n/**\n * Listens for when the escape key is down\n */ function $addc16e1bbe58fd0$export$3a72a57244d6e765(onEscapeKeyDownProp, ownerDocument = globalThis === null || globalThis === void 0 ? void 0 : globalThis.document) {\n    const onEscapeKeyDown = $hPSQ5$useCallbackRef(onEscapeKeyDownProp);\n    $hPSQ5$useEffect(()=>{\n        const handleKeyDown = (event)=>{\n            if (event.key === 'Escape') onEscapeKeyDown(event);\n        };\n        ownerDocument.addEventListener('keydown', handleKeyDown);\n        return ()=>ownerDocument.removeEventListener('keydown', handleKeyDown)\n        ;\n    }, [\n        onEscapeKeyDown,\n        ownerDocument\n    ]);\n}\n\n\n\n\nexport {$addc16e1bbe58fd0$export$3a72a57244d6e765 as useEscapeKeydown};\n//# sourceMappingURL=index.mjs.map\n","import $45QHv$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {forwardRef as $45QHv$forwardRef, useState as $45QHv$useState, useRef as $45QHv$useRef, useEffect as $45QHv$useEffect, useCallback as $45QHv$useCallback, createElement as $45QHv$createElement} from \"react\";\nimport {useComposedRefs as $45QHv$useComposedRefs} from \"@radix-ui/react-compose-refs\";\nimport {Primitive as $45QHv$Primitive} from \"@radix-ui/react-primitive\";\nimport {useCallbackRef as $45QHv$useCallbackRef} from \"@radix-ui/react-use-callback-ref\";\n\n\n\n\n\n\nconst $d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT = 'focusScope.autoFocusOnMount';\nconst $d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT = 'focusScope.autoFocusOnUnmount';\nconst $d3863c46a17e8a28$var$EVENT_OPTIONS = {\n    bubbles: false,\n    cancelable: true\n};\n/* -------------------------------------------------------------------------------------------------\n * FocusScope\n * -----------------------------------------------------------------------------------------------*/ const $d3863c46a17e8a28$var$FOCUS_SCOPE_NAME = 'FocusScope';\nconst $d3863c46a17e8a28$export$20e40289641fbbb6 = /*#__PURE__*/ $45QHv$forwardRef((props, forwardedRef)=>{\n    const { loop: loop = false , trapped: trapped = false , onMountAutoFocus: onMountAutoFocusProp , onUnmountAutoFocus: onUnmountAutoFocusProp , ...scopeProps } = props;\n    const [container1, setContainer] = $45QHv$useState(null);\n    const onMountAutoFocus = $45QHv$useCallbackRef(onMountAutoFocusProp);\n    const onUnmountAutoFocus = $45QHv$useCallbackRef(onUnmountAutoFocusProp);\n    const lastFocusedElementRef = $45QHv$useRef(null);\n    const composedRefs = $45QHv$useComposedRefs(forwardedRef, (node)=>setContainer(node)\n    );\n    const focusScope = $45QHv$useRef({\n        paused: false,\n        pause () {\n            this.paused = true;\n        },\n        resume () {\n            this.paused = false;\n        }\n    }).current; // Takes care of trapping focus if focus is moved outside programmatically for example\n    $45QHv$useEffect(()=>{\n        if (trapped) {\n            function handleFocusIn(event) {\n                if (focusScope.paused || !container1) return;\n                const target = event.target;\n                if (container1.contains(target)) lastFocusedElementRef.current = target;\n                else $d3863c46a17e8a28$var$focus(lastFocusedElementRef.current, {\n                    select: true\n                });\n            }\n            function handleFocusOut(event) {\n                if (focusScope.paused || !container1) return;\n                const relatedTarget = event.relatedTarget; // A `focusout` event with a `null` `relatedTarget` will happen in at least two cases:\n                //\n                // 1. When the user switches app/tabs/windows/the browser itself loses focus.\n                // 2. In Google Chrome, when the focused element is removed from the DOM.\n                //\n                // We let the browser do its thing here because:\n                //\n                // 1. The browser already keeps a memory of what's focused for when the page gets refocused.\n                // 2. In Google Chrome, if we try to focus the deleted focused element (as per below), it\n                //    throws the CPU to 100%, so we avoid doing anything for this reason here too.\n                if (relatedTarget === null) return; // If the focus has moved to an actual legitimate element (`relatedTarget !== null`)\n                // that is outside the container, we move focus to the last valid focused element inside.\n                if (!container1.contains(relatedTarget)) $d3863c46a17e8a28$var$focus(lastFocusedElementRef.current, {\n                    select: true\n                });\n            } // When the focused element gets removed from the DOM, browsers move focus\n            // back to the document.body. In this case, we move focus to the container\n            // to keep focus trapped correctly.\n            function handleMutations(mutations) {\n                const focusedElement = document.activeElement;\n                for (const mutation of mutations){\n                    if (mutation.removedNodes.length > 0) {\n                        if (!(container1 !== null && container1 !== void 0 && container1.contains(focusedElement))) $d3863c46a17e8a28$var$focus(container1);\n                    }\n                }\n            }\n            document.addEventListener('focusin', handleFocusIn);\n            document.addEventListener('focusout', handleFocusOut);\n            const mutationObserver = new MutationObserver(handleMutations);\n            if (container1) mutationObserver.observe(container1, {\n                childList: true,\n                subtree: true\n            });\n            return ()=>{\n                document.removeEventListener('focusin', handleFocusIn);\n                document.removeEventListener('focusout', handleFocusOut);\n                mutationObserver.disconnect();\n            };\n        }\n    }, [\n        trapped,\n        container1,\n        focusScope.paused\n    ]);\n    $45QHv$useEffect(()=>{\n        if (container1) {\n            $d3863c46a17e8a28$var$focusScopesStack.add(focusScope);\n            const previouslyFocusedElement = document.activeElement;\n            const hasFocusedCandidate = container1.contains(previouslyFocusedElement);\n            if (!hasFocusedCandidate) {\n                const mountEvent = new CustomEvent($d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT, $d3863c46a17e8a28$var$EVENT_OPTIONS);\n                container1.addEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n                container1.dispatchEvent(mountEvent);\n                if (!mountEvent.defaultPrevented) {\n                    $d3863c46a17e8a28$var$focusFirst($d3863c46a17e8a28$var$removeLinks($d3863c46a17e8a28$var$getTabbableCandidates(container1)), {\n                        select: true\n                    });\n                    if (document.activeElement === previouslyFocusedElement) $d3863c46a17e8a28$var$focus(container1);\n                }\n            }\n            return ()=>{\n                container1.removeEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT, onMountAutoFocus); // We hit a react bug (fixed in v17) with focusing in unmount.\n                // We need to delay the focus a little to get around it for now.\n                // See: https://github.com/facebook/react/issues/17894\n                setTimeout(()=>{\n                    const unmountEvent = new CustomEvent($d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT, $d3863c46a17e8a28$var$EVENT_OPTIONS);\n                    container1.addEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n                    container1.dispatchEvent(unmountEvent);\n                    if (!unmountEvent.defaultPrevented) $d3863c46a17e8a28$var$focus(previouslyFocusedElement !== null && previouslyFocusedElement !== void 0 ? previouslyFocusedElement : document.body, {\n                        select: true\n                    });\n                     // we need to remove the listener after we `dispatchEvent`\n                    container1.removeEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n                    $d3863c46a17e8a28$var$focusScopesStack.remove(focusScope);\n                }, 0);\n            };\n        }\n    }, [\n        container1,\n        onMountAutoFocus,\n        onUnmountAutoFocus,\n        focusScope\n    ]); // Takes care of looping focus (when tabbing whilst at the edges)\n    const handleKeyDown = $45QHv$useCallback((event)=>{\n        if (!loop && !trapped) return;\n        if (focusScope.paused) return;\n        const isTabKey = event.key === 'Tab' && !event.altKey && !event.ctrlKey && !event.metaKey;\n        const focusedElement = document.activeElement;\n        if (isTabKey && focusedElement) {\n            const container = event.currentTarget;\n            const [first, last] = $d3863c46a17e8a28$var$getTabbableEdges(container);\n            const hasTabbableElementsInside = first && last; // we can only wrap focus if we have tabbable edges\n            if (!hasTabbableElementsInside) {\n                if (focusedElement === container) event.preventDefault();\n            } else {\n                if (!event.shiftKey && focusedElement === last) {\n                    event.preventDefault();\n                    if (loop) $d3863c46a17e8a28$var$focus(first, {\n                        select: true\n                    });\n                } else if (event.shiftKey && focusedElement === first) {\n                    event.preventDefault();\n                    if (loop) $d3863c46a17e8a28$var$focus(last, {\n                        select: true\n                    });\n                }\n            }\n        }\n    }, [\n        loop,\n        trapped,\n        focusScope.paused\n    ]);\n    return /*#__PURE__*/ $45QHv$createElement($45QHv$Primitive.div, $45QHv$babelruntimehelpersesmextends({\n        tabIndex: -1\n    }, scopeProps, {\n        ref: composedRefs,\n        onKeyDown: handleKeyDown\n    }));\n});\n/*#__PURE__*/ Object.assign($d3863c46a17e8a28$export$20e40289641fbbb6, {\n    displayName: $d3863c46a17e8a28$var$FOCUS_SCOPE_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * Utils\n * -----------------------------------------------------------------------------------------------*/ /**\n * Attempts focusing the first element in a list of candidates.\n * Stops when focus has actually moved.\n */ function $d3863c46a17e8a28$var$focusFirst(candidates, { select: select = false  } = {}) {\n    const previouslyFocusedElement = document.activeElement;\n    for (const candidate of candidates){\n        $d3863c46a17e8a28$var$focus(candidate, {\n            select: select\n        });\n        if (document.activeElement !== previouslyFocusedElement) return;\n    }\n}\n/**\n * Returns the first and last tabbable elements inside a container.\n */ function $d3863c46a17e8a28$var$getTabbableEdges(container) {\n    const candidates = $d3863c46a17e8a28$var$getTabbableCandidates(container);\n    const first = $d3863c46a17e8a28$var$findVisible(candidates, container);\n    const last = $d3863c46a17e8a28$var$findVisible(candidates.reverse(), container);\n    return [\n        first,\n        last\n    ];\n}\n/**\n * Returns a list of potential tabbable candidates.\n *\n * NOTE: This is only a close approximation. For example it doesn't take into account cases like when\n * elements are not visible. This cannot be worked out easily by just reading a property, but rather\n * necessitate runtime knowledge (computed styles, etc). We deal with these cases separately.\n *\n * See: https://developer.mozilla.org/en-US/docs/Web/API/TreeWalker\n * Credit: https://github.com/discord/focus-layers/blob/master/src/util/wrapFocus.tsx#L1\n */ function $d3863c46a17e8a28$var$getTabbableCandidates(container) {\n    const nodes = [];\n    const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n        acceptNode: (node)=>{\n            const isHiddenInput = node.tagName === 'INPUT' && node.type === 'hidden';\n            if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP; // `.tabIndex` is not the same as the `tabindex` attribute. It works on the\n            // runtime's understanding of tabbability, so this automatically accounts\n            // for any kind of element that could be tabbed to.\n            return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n        }\n    });\n    while(walker.nextNode())nodes.push(walker.currentNode); // we do not take into account the order of nodes with positive `tabIndex` as it\n    // hinders accessibility to have tab order different from visual order.\n    return nodes;\n}\n/**\n * Returns the first visible element in a list.\n * NOTE: Only checks visibility up to the `container`.\n */ function $d3863c46a17e8a28$var$findVisible(elements, container) {\n    for (const element of elements){\n        // we stop checking if it's hidden at the `container` level (excluding)\n        if (!$d3863c46a17e8a28$var$isHidden(element, {\n            upTo: container\n        })) return element;\n    }\n}\nfunction $d3863c46a17e8a28$var$isHidden(node, { upTo: upTo  }) {\n    if (getComputedStyle(node).visibility === 'hidden') return true;\n    while(node){\n        // we stop at `upTo` (excluding it)\n        if (upTo !== undefined && node === upTo) return false;\n        if (getComputedStyle(node).display === 'none') return true;\n        node = node.parentElement;\n    }\n    return false;\n}\nfunction $d3863c46a17e8a28$var$isSelectableInput(element) {\n    return element instanceof HTMLInputElement && 'select' in element;\n}\nfunction $d3863c46a17e8a28$var$focus(element, { select: select = false  } = {}) {\n    // only focus if that element is focusable\n    if (element && element.focus) {\n        const previouslyFocusedElement = document.activeElement; // NOTE: we prevent scrolling on focus, to minimize jarring transitions for users\n        element.focus({\n            preventScroll: true\n        }); // only select if its not the same element, it supports selection and we need to select\n        if (element !== previouslyFocusedElement && $d3863c46a17e8a28$var$isSelectableInput(element) && select) element.select();\n    }\n}\n/* -------------------------------------------------------------------------------------------------\n * FocusScope stack\n * -----------------------------------------------------------------------------------------------*/ const $d3863c46a17e8a28$var$focusScopesStack = $d3863c46a17e8a28$var$createFocusScopesStack();\nfunction $d3863c46a17e8a28$var$createFocusScopesStack() {\n    /** A stack of focus scopes, with the active one at the top */ let stack = [];\n    return {\n        add (focusScope) {\n            // pause the currently active focus scope (at the top of the stack)\n            const activeFocusScope = stack[0];\n            if (focusScope !== activeFocusScope) activeFocusScope === null || activeFocusScope === void 0 || activeFocusScope.pause();\n             // remove in case it already exists (because we'll re-add it at the top of the stack)\n            stack = $d3863c46a17e8a28$var$arrayRemove(stack, focusScope);\n            stack.unshift(focusScope);\n        },\n        remove (focusScope) {\n            var _stack$;\n            stack = $d3863c46a17e8a28$var$arrayRemove(stack, focusScope);\n            (_stack$ = stack[0]) === null || _stack$ === void 0 || _stack$.resume();\n        }\n    };\n}\nfunction $d3863c46a17e8a28$var$arrayRemove(array, item) {\n    const updatedArray = [\n        ...array\n    ];\n    const index = updatedArray.indexOf(item);\n    if (index !== -1) updatedArray.splice(index, 1);\n    return updatedArray;\n}\nfunction $d3863c46a17e8a28$var$removeLinks(items) {\n    return items.filter((item)=>item.tagName !== 'A'\n    );\n}\nconst $d3863c46a17e8a28$export$be92b6f5f03c0fe9 = $d3863c46a17e8a28$export$20e40289641fbbb6;\n\n\n\n\nexport {$d3863c46a17e8a28$export$20e40289641fbbb6 as FocusScope, $d3863c46a17e8a28$export$be92b6f5f03c0fe9 as Root};\n//# sourceMappingURL=index.mjs.map\n","import $7SXl2$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {forwardRef as $7SXl2$forwardRef, createElement as $7SXl2$createElement} from \"react\";\nimport $7SXl2$reactdom from \"react-dom\";\nimport {Primitive as $7SXl2$Primitive} from \"@radix-ui/react-primitive\";\n\n\n\n\n\n/* -------------------------------------------------------------------------------------------------\n * Portal\n * -----------------------------------------------------------------------------------------------*/ const $f1701beae083dbae$var$PORTAL_NAME = 'Portal';\nconst $f1701beae083dbae$export$602eac185826482c = /*#__PURE__*/ $7SXl2$forwardRef((props, forwardedRef)=>{\n    var _globalThis$document;\n    const { container: container = globalThis === null || globalThis === void 0 ? void 0 : (_globalThis$document = globalThis.document) === null || _globalThis$document === void 0 ? void 0 : _globalThis$document.body , ...portalProps } = props;\n    return container ? /*#__PURE__*/ $7SXl2$reactdom.createPortal(/*#__PURE__*/ $7SXl2$createElement($7SXl2$Primitive.div, $7SXl2$babelruntimehelpersesmextends({}, portalProps, {\n        ref: forwardedRef\n    })), container) : null;\n});\n/*#__PURE__*/ Object.assign($f1701beae083dbae$export$602eac185826482c, {\n    displayName: $f1701beae083dbae$var$PORTAL_NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ const $f1701beae083dbae$export$be92b6f5f03c0fe9 = $f1701beae083dbae$export$602eac185826482c;\n\n\n\n\nexport {$f1701beae083dbae$export$602eac185826482c as Portal, $f1701beae083dbae$export$be92b6f5f03c0fe9 as Root};\n//# sourceMappingURL=index.mjs.map\n","import {Children as $iqq3r$Children, cloneElement as $iqq3r$cloneElement, useState as $iqq3r$useState, useRef as $iqq3r$useRef, useEffect as $iqq3r$useEffect, useCallback as $iqq3r$useCallback, useReducer as $iqq3r$useReducer} from \"react\";\nimport {flushSync as $iqq3r$flushSync} from \"react-dom\";\nimport {useComposedRefs as $iqq3r$useComposedRefs} from \"@radix-ui/react-compose-refs\";\nimport {useLayoutEffect as $iqq3r$useLayoutEffect} from \"@radix-ui/react-use-layout-effect\";\n\n\n\n\n\n\nfunction $fe963b355347cc68$export$3e6543de14f8614f(initialState, machine) {\n    return $iqq3r$useReducer((state, event)=>{\n        const nextState = machine[state][event];\n        return nextState !== null && nextState !== void 0 ? nextState : state;\n    }, initialState);\n}\n\n\nconst $921a889cee6df7e8$export$99c2b779aa4e8b8b = (props)=>{\n    const { present: present , children: children  } = props;\n    const presence = $921a889cee6df7e8$var$usePresence(present);\n    const child = typeof children === 'function' ? children({\n        present: presence.isPresent\n    }) : $iqq3r$Children.only(children);\n    const ref = $iqq3r$useComposedRefs(presence.ref, child.ref);\n    const forceMount = typeof children === 'function';\n    return forceMount || presence.isPresent ? /*#__PURE__*/ $iqq3r$cloneElement(child, {\n        ref: ref\n    }) : null;\n};\n$921a889cee6df7e8$export$99c2b779aa4e8b8b.displayName = 'Presence';\n/* -------------------------------------------------------------------------------------------------\n * usePresence\n * -----------------------------------------------------------------------------------------------*/ function $921a889cee6df7e8$var$usePresence(present) {\n    const [node1, setNode] = $iqq3r$useState();\n    const stylesRef = $iqq3r$useRef({});\n    const prevPresentRef = $iqq3r$useRef(present);\n    const prevAnimationNameRef = $iqq3r$useRef('none');\n    const initialState = present ? 'mounted' : 'unmounted';\n    const [state, send] = $fe963b355347cc68$export$3e6543de14f8614f(initialState, {\n        mounted: {\n            UNMOUNT: 'unmounted',\n            ANIMATION_OUT: 'unmountSuspended'\n        },\n        unmountSuspended: {\n            MOUNT: 'mounted',\n            ANIMATION_END: 'unmounted'\n        },\n        unmounted: {\n            MOUNT: 'mounted'\n        }\n    });\n    $iqq3r$useEffect(()=>{\n        const currentAnimationName = $921a889cee6df7e8$var$getAnimationName(stylesRef.current);\n        prevAnimationNameRef.current = state === 'mounted' ? currentAnimationName : 'none';\n    }, [\n        state\n    ]);\n    $iqq3r$useLayoutEffect(()=>{\n        const styles = stylesRef.current;\n        const wasPresent = prevPresentRef.current;\n        const hasPresentChanged = wasPresent !== present;\n        if (hasPresentChanged) {\n            const prevAnimationName = prevAnimationNameRef.current;\n            const currentAnimationName = $921a889cee6df7e8$var$getAnimationName(styles);\n            if (present) send('MOUNT');\n            else if (currentAnimationName === 'none' || (styles === null || styles === void 0 ? void 0 : styles.display) === 'none') // If there is no exit animation or the element is hidden, animations won't run\n            // so we unmount instantly\n            send('UNMOUNT');\n            else {\n                /**\n         * When `present` changes to `false`, we check changes to animation-name to\n         * determine whether an animation has started. We chose this approach (reading\n         * computed styles) because there is no `animationrun` event and `animationstart`\n         * fires after `animation-delay` has expired which would be too late.\n         */ const isAnimating = prevAnimationName !== currentAnimationName;\n                if (wasPresent && isAnimating) send('ANIMATION_OUT');\n                else send('UNMOUNT');\n            }\n            prevPresentRef.current = present;\n        }\n    }, [\n        present,\n        send\n    ]);\n    $iqq3r$useLayoutEffect(()=>{\n        if (node1) {\n            /**\n       * Triggering an ANIMATION_OUT during an ANIMATION_IN will fire an `animationcancel`\n       * event for ANIMATION_IN after we have entered `unmountSuspended` state. So, we\n       * make sure we only trigger ANIMATION_END for the currently active animation.\n       */ const handleAnimationEnd = (event)=>{\n                const currentAnimationName = $921a889cee6df7e8$var$getAnimationName(stylesRef.current);\n                const isCurrentAnimation = currentAnimationName.includes(event.animationName);\n                if (event.target === node1 && isCurrentAnimation) // With React 18 concurrency this update is applied\n                // a frame after the animation ends, creating a flash of visible content.\n                // By manually flushing we ensure they sync within a frame, removing the flash.\n                $iqq3r$flushSync(()=>send('ANIMATION_END')\n                );\n            };\n            const handleAnimationStart = (event)=>{\n                if (event.target === node1) // if animation occurred, store its name as the previous animation.\n                prevAnimationNameRef.current = $921a889cee6df7e8$var$getAnimationName(stylesRef.current);\n            };\n            node1.addEventListener('animationstart', handleAnimationStart);\n            node1.addEventListener('animationcancel', handleAnimationEnd);\n            node1.addEventListener('animationend', handleAnimationEnd);\n            return ()=>{\n                node1.removeEventListener('animationstart', handleAnimationStart);\n                node1.removeEventListener('animationcancel', handleAnimationEnd);\n                node1.removeEventListener('animationend', handleAnimationEnd);\n            };\n        } else // Transition to the unmounted state if the node is removed prematurely.\n        // We avoid doing so during cleanup as the node may change but still exist.\n        send('ANIMATION_END');\n    }, [\n        node1,\n        send\n    ]);\n    return {\n        isPresent: [\n            'mounted',\n            'unmountSuspended'\n        ].includes(state),\n        ref: $iqq3r$useCallback((node)=>{\n            if (node) stylesRef.current = getComputedStyle(node);\n            setNode(node);\n        }, [])\n    };\n}\n/* -----------------------------------------------------------------------------------------------*/ function $921a889cee6df7e8$var$getAnimationName(styles) {\n    return (styles === null || styles === void 0 ? void 0 : styles.animationName) || 'none';\n}\n\n\n\n\nexport {$921a889cee6df7e8$export$99c2b779aa4e8b8b as Presence};\n//# sourceMappingURL=index.mjs.map\n","import {useEffect as $1wErz$useEffect} from \"react\";\n\n\n/** Number of components which have requested interest to have focus guards */ let $3db38b7d1fb3fe6a$var$count = 0;\nfunction $3db38b7d1fb3fe6a$export$ac5b58043b79449b(props) {\n    $3db38b7d1fb3fe6a$export$b7ece24a22aeda8c();\n    return props.children;\n}\n/**\n * Injects a pair of focus guards at the edges of the whole DOM tree\n * to ensure `focusin` & `focusout` events can be caught consistently.\n */ function $3db38b7d1fb3fe6a$export$b7ece24a22aeda8c() {\n    $1wErz$useEffect(()=>{\n        var _edgeGuards$, _edgeGuards$2;\n        const edgeGuards = document.querySelectorAll('[data-radix-focus-guard]');\n        document.body.insertAdjacentElement('afterbegin', (_edgeGuards$ = edgeGuards[0]) !== null && _edgeGuards$ !== void 0 ? _edgeGuards$ : $3db38b7d1fb3fe6a$var$createFocusGuard());\n        document.body.insertAdjacentElement('beforeend', (_edgeGuards$2 = edgeGuards[1]) !== null && _edgeGuards$2 !== void 0 ? _edgeGuards$2 : $3db38b7d1fb3fe6a$var$createFocusGuard());\n        $3db38b7d1fb3fe6a$var$count++;\n        return ()=>{\n            if ($3db38b7d1fb3fe6a$var$count === 1) document.querySelectorAll('[data-radix-focus-guard]').forEach((node)=>node.remove()\n            );\n            $3db38b7d1fb3fe6a$var$count--;\n        };\n    }, []);\n}\nfunction $3db38b7d1fb3fe6a$var$createFocusGuard() {\n    const element = document.createElement('span');\n    element.setAttribute('data-radix-focus-guard', '');\n    element.tabIndex = 0;\n    element.style.cssText = 'outline: none; opacity: 0; position: fixed; pointer-events: none';\n    return element;\n}\nconst $3db38b7d1fb3fe6a$export$be92b6f5f03c0fe9 = $3db38b7d1fb3fe6a$export$ac5b58043b79449b;\n\n\n\n\nexport {$3db38b7d1fb3fe6a$export$ac5b58043b79449b as FocusGuards, $3db38b7d1fb3fe6a$export$be92b6f5f03c0fe9 as Root, $3db38b7d1fb3fe6a$export$b7ece24a22aeda8c as useFocusGuards};\n//# sourceMappingURL=index.mjs.map\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n    if (typeof b !== \"function\" && b !== null)\r\n        throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n    var _, done = false;\r\n    for (var i = decorators.length - 1; i >= 0; i--) {\r\n        var context = {};\r\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n        if (kind === \"accessor\") {\r\n            if (result === void 0) continue;\r\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n            if (_ = accept(result.get)) descriptor.get = _;\r\n            if (_ = accept(result.set)) descriptor.set = _;\r\n            if (_ = accept(result.init)) initializers.push(_);\r\n        }\r\n        else if (_ = accept(result)) {\r\n            if (kind === \"field\") initializers.push(_);\r\n            else descriptor[key] = _;\r\n        }\r\n    }\r\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n    done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n    var useValue = arguments.length > 2;\r\n    for (var i = 0; i < initializers.length; i++) {\r\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n    }\r\n    return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n    return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\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;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    var desc = Object.getOwnPropertyDescriptor(m, k);\r\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n        desc = { enumerable: true, get: function() { return m[k]; } };\r\n    }\r\n    Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n    for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n    if (m) return m.call(o);\r\n    if (o && typeof o.length === \"number\") return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n        if (ar || !(i in from)) {\r\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n            ar[i] = from[i];\r\n        }\r\n    }\r\n    return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\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; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\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);\r\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); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n    o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n    __setModuleDefault(result, mod);\r\n    return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\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\");\r\n    return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n    if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\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\");\r\n    return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n    if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n    return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","export var zeroRightClassName = 'right-scroll-bar-position';\nexport var fullWidthClassName = 'width-before-scroll-bar';\nexport var noScrollbarsClassName = 'with-scroll-bars-hidden';\n/**\n * Name of a CSS variable containing the amount of \"hidden\" scrollbar\n * ! might be undefined ! use will fallback!\n */\nexport var removedBarSizeVariable = '--removed-body-scroll-bar-size';\n","import { __assign } from \"tslib\";\nfunction ItoI(a) {\n    return a;\n}\nfunction innerCreateMedium(defaults, middleware) {\n    if (middleware === void 0) { middleware = ItoI; }\n    var buffer = [];\n    var assigned = false;\n    var medium = {\n        read: function () {\n            if (assigned) {\n                throw new Error('Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.');\n            }\n            if (buffer.length) {\n                return buffer[buffer.length - 1];\n            }\n            return defaults;\n        },\n        useMedium: function (data) {\n            var item = middleware(data, assigned);\n            buffer.push(item);\n            return function () {\n                buffer = buffer.filter(function (x) { return x !== item; });\n            };\n        },\n        assignSyncMedium: function (cb) {\n            assigned = true;\n            while (buffer.length) {\n                var cbs = buffer;\n                buffer = [];\n                cbs.forEach(cb);\n            }\n            buffer = {\n                push: function (x) { return cb(x); },\n                filter: function () { return buffer; },\n            };\n        },\n        assignMedium: function (cb) {\n            assigned = true;\n            var pendingQueue = [];\n            if (buffer.length) {\n                var cbs = buffer;\n                buffer = [];\n                cbs.forEach(cb);\n                pendingQueue = buffer;\n            }\n            var executeQueue = function () {\n                var cbs = pendingQueue;\n                pendingQueue = [];\n                cbs.forEach(cb);\n            };\n            var cycle = function () { return Promise.resolve().then(executeQueue); };\n            cycle();\n            buffer = {\n                push: function (x) {\n                    pendingQueue.push(x);\n                    cycle();\n                },\n                filter: function (filter) {\n                    pendingQueue = pendingQueue.filter(filter);\n                    return buffer;\n                },\n            };\n        },\n    };\n    return medium;\n}\nexport function createMedium(defaults, middleware) {\n    if (middleware === void 0) { middleware = ItoI; }\n    return innerCreateMedium(defaults, middleware);\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function createSidecarMedium(options) {\n    if (options === void 0) { options = {}; }\n    var medium = innerCreateMedium(null);\n    medium.options = __assign({ async: true, ssr: false }, options);\n    return medium;\n}\n","import { createSidecarMedium } from 'use-sidecar';\nexport var effectCar = createSidecarMedium();\n","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { fullWidthClassName, zeroRightClassName } from 'react-remove-scroll-bar/constants';\nimport { useMergeRefs } from 'use-callback-ref';\nimport { effectCar } from './medium';\nvar nothing = function () {\n    return;\n};\n/**\n * Removes scrollbar from the page and contain the scroll within the Lock\n */\nvar RemoveScroll = React.forwardRef(function (props, parentRef) {\n    var ref = React.useRef(null);\n    var _a = React.useState({\n        onScrollCapture: nothing,\n        onWheelCapture: nothing,\n        onTouchMoveCapture: nothing,\n    }), callbacks = _a[0], setCallbacks = _a[1];\n    var forwardProps = props.forwardProps, children = props.children, className = props.className, removeScrollBar = props.removeScrollBar, enabled = props.enabled, shards = props.shards, sideCar = props.sideCar, noIsolation = props.noIsolation, inert = props.inert, allowPinchZoom = props.allowPinchZoom, _b = props.as, Container = _b === void 0 ? 'div' : _b, rest = __rest(props, [\"forwardProps\", \"children\", \"className\", \"removeScrollBar\", \"enabled\", \"shards\", \"sideCar\", \"noIsolation\", \"inert\", \"allowPinchZoom\", \"as\"]);\n    var SideCar = sideCar;\n    var containerRef = useMergeRefs([ref, parentRef]);\n    var containerProps = __assign(__assign({}, rest), callbacks);\n    return (React.createElement(React.Fragment, null,\n        enabled && (React.createElement(SideCar, { sideCar: effectCar, removeScrollBar: removeScrollBar, shards: shards, noIsolation: noIsolation, inert: inert, setCallbacks: setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref })),\n        forwardProps ? (React.cloneElement(React.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef }))) : (React.createElement(Container, __assign({}, containerProps, { className: className, ref: containerRef }), children))));\n});\nRemoveScroll.defaultProps = {\n    enabled: true,\n    removeScrollBar: true,\n    inert: false,\n};\nRemoveScroll.classNames = {\n    fullWidth: fullWidthClassName,\n    zeroRight: zeroRightClassName,\n};\nexport { RemoveScroll };\n","import { assignRef } from './assignRef';\nimport { useCallbackRef } from './useRef';\n/**\n * Merges two or more refs together providing a single interface to set their value\n * @param {RefObject|Ref} refs\n * @returns {MutableRefObject} - a new ref, which translates all changes to {refs}\n *\n * @see {@link mergeRefs} a version without buit-in memoization\n * @see https://github.com/theKashey/use-callback-ref#usemergerefs\n * @example\n * const Component = React.forwardRef((props, ref) => {\n *   const ownRef = useRef();\n *   const domRef = useMergeRefs([ref, ownRef]); // 👈 merge together\n *   return <div ref={domRef}>...</div>\n * }\n */\nexport function useMergeRefs(refs, defaultValue) {\n    return useCallbackRef(defaultValue || null, function (newValue) { return refs.forEach(function (ref) { return assignRef(ref, newValue); }); });\n}\n","import { useState } from 'react';\n/**\n * creates a MutableRef with ref change callback\n * @param initialValue - initial ref value\n * @param {Function} callback - a callback to run when value changes\n *\n * @example\n * const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue);\n * ref.current = 1;\n * // prints 0 -> 1\n *\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n * @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref\n * @returns {MutableRefObject}\n */\nexport function useCallbackRef(initialValue, callback) {\n    var ref = useState(function () { return ({\n        // value\n        value: initialValue,\n        // last callback\n        callback: callback,\n        // \"memoized\" public interface\n        facade: {\n            get current() {\n                return ref.value;\n            },\n            set current(value) {\n                var last = ref.value;\n                if (last !== value) {\n                    ref.value = value;\n                    ref.callback(value, last);\n                }\n            },\n        },\n    }); })[0];\n    // update callback\n    ref.callback = callback;\n    return ref.facade;\n}\n","/**\n * Assigns a value for a given ref, no matter of the ref format\n * @param {RefObject} ref - a callback function or ref object\n * @param value - a new value\n *\n * @see https://github.com/theKashey/use-callback-ref#assignref\n * @example\n * const refObject = useRef();\n * const refFn = (ref) => {....}\n *\n * assignRef(refObject, \"refValue\");\n * assignRef(refFn, \"refValue\");\n */\nexport function assignRef(ref, value) {\n    if (typeof ref === 'function') {\n        ref(value);\n    }\n    else if (ref) {\n        ref.current = value;\n    }\n    return ref;\n}\n","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nvar SideCar = function (_a) {\n    var sideCar = _a.sideCar, rest = __rest(_a, [\"sideCar\"]);\n    if (!sideCar) {\n        throw new Error('Sidecar: please provide `sideCar` property to import the right car');\n    }\n    var Target = sideCar.read();\n    if (!Target) {\n        throw new Error('Sidecar medium not found');\n    }\n    return React.createElement(Target, __assign({}, rest));\n};\nSideCar.isSideCarExport = true;\nexport function exportSidecar(medium, exported) {\n    medium.useMedium(exported);\n    return SideCar;\n}\n","import { getNonce } from 'get-nonce';\nfunction makeStyleTag() {\n    if (!document)\n        return null;\n    var tag = document.createElement('style');\n    tag.type = 'text/css';\n    var nonce = getNonce();\n    if (nonce) {\n        tag.setAttribute('nonce', nonce);\n    }\n    return tag;\n}\nfunction injectStyles(tag, css) {\n    // @ts-ignore\n    if (tag.styleSheet) {\n        // @ts-ignore\n        tag.styleSheet.cssText = css;\n    }\n    else {\n        tag.appendChild(document.createTextNode(css));\n    }\n}\nfunction insertStyleTag(tag) {\n    var head = document.head || document.getElementsByTagName('head')[0];\n    head.appendChild(tag);\n}\nexport var stylesheetSingleton = function () {\n    var counter = 0;\n    var stylesheet = null;\n    return {\n        add: function (style) {\n            if (counter == 0) {\n                if ((stylesheet = makeStyleTag())) {\n                    injectStyles(stylesheet, style);\n                    insertStyleTag(stylesheet);\n                }\n            }\n            counter++;\n        },\n        remove: function () {\n            counter--;\n            if (!counter && stylesheet) {\n                stylesheet.parentNode && stylesheet.parentNode.removeChild(stylesheet);\n                stylesheet = null;\n            }\n        },\n    };\n};\n","var currentNonce;\nexport var setNonce = function (nonce) {\n    currentNonce = nonce;\n};\nexport var getNonce = function () {\n    if (currentNonce) {\n        return currentNonce;\n    }\n    if (typeof __webpack_nonce__ !== 'undefined') {\n        return __webpack_nonce__;\n    }\n    return undefined;\n};\n","import { styleHookSingleton } from './hook';\n/**\n * create a Component to add styles on demand\n * - styles are added when first instance is mounted\n * - styles are removed when the last instance is unmounted\n * - changing styles in runtime does nothing unless dynamic is set. But with multiple components that can lead to the undefined behavior\n */\nexport var styleSingleton = function () {\n    var useStyle = styleHookSingleton();\n    var Sheet = function (_a) {\n        var styles = _a.styles, dynamic = _a.dynamic;\n        useStyle(styles, dynamic);\n        return null;\n    };\n    return Sheet;\n};\n","import * as React from 'react';\nimport { stylesheetSingleton } from './singleton';\n/**\n * creates a hook to control style singleton\n * @see {@link styleSingleton} for a safer component version\n * @example\n * ```tsx\n * const useStyle = styleHookSingleton();\n * ///\n * useStyle('body { overflow: hidden}');\n */\nexport var styleHookSingleton = function () {\n    var sheet = stylesheetSingleton();\n    return function (styles, isDynamic) {\n        React.useEffect(function () {\n            sheet.add(styles);\n            return function () {\n                sheet.remove();\n            };\n        }, [styles && isDynamic]);\n    };\n};\n","export var zeroGap = {\n    left: 0,\n    top: 0,\n    right: 0,\n    gap: 0,\n};\nvar parse = function (x) { return parseInt(x || '', 10) || 0; };\nvar getOffset = function (gapMode) {\n    var cs = window.getComputedStyle(document.body);\n    var left = cs[gapMode === 'padding' ? 'paddingLeft' : 'marginLeft'];\n    var top = cs[gapMode === 'padding' ? 'paddingTop' : 'marginTop'];\n    var right = cs[gapMode === 'padding' ? 'paddingRight' : 'marginRight'];\n    return [parse(left), parse(top), parse(right)];\n};\nexport var getGapWidth = function (gapMode) {\n    if (gapMode === void 0) { gapMode = 'margin'; }\n    if (typeof window === 'undefined') {\n        return zeroGap;\n    }\n    var offsets = getOffset(gapMode);\n    var documentWidth = document.documentElement.clientWidth;\n    var windowWidth = window.innerWidth;\n    return {\n        left: offsets[0],\n        top: offsets[1],\n        right: offsets[2],\n        gap: Math.max(0, windowWidth - documentWidth + offsets[2] - offsets[0]),\n    };\n};\n","import * as React from 'react';\nimport { styleSingleton } from 'react-style-singleton';\nimport { fullWidthClassName, zeroRightClassName, noScrollbarsClassName, removedBarSizeVariable } from './constants';\nimport { getGapWidth } from './utils';\nvar Style = styleSingleton();\n// important tip - once we measure scrollBar width and remove them\n// we could not repeat this operation\n// thus we are using style-singleton - only the first \"yet correct\" style will be applied.\nvar getStyles = function (_a, allowRelative, gapMode, important) {\n    var left = _a.left, top = _a.top, right = _a.right, gap = _a.gap;\n    if (gapMode === void 0) { gapMode = 'margin'; }\n    return \"\\n  .\".concat(noScrollbarsClassName, \" {\\n   overflow: hidden \").concat(important, \";\\n   padding-right: \").concat(gap, \"px \").concat(important, \";\\n  }\\n  body {\\n    overflow: hidden \").concat(important, \";\\n    overscroll-behavior: contain;\\n    \").concat([\n        allowRelative && \"position: relative \".concat(important, \";\"),\n        gapMode === 'margin' &&\n            \"\\n    padding-left: \".concat(left, \"px;\\n    padding-top: \").concat(top, \"px;\\n    padding-right: \").concat(right, \"px;\\n    margin-left:0;\\n    margin-top:0;\\n    margin-right: \").concat(gap, \"px \").concat(important, \";\\n    \"),\n        gapMode === 'padding' && \"padding-right: \".concat(gap, \"px \").concat(important, \";\"),\n    ]\n        .filter(Boolean)\n        .join(''), \"\\n  }\\n  \\n  .\").concat(zeroRightClassName, \" {\\n    right: \").concat(gap, \"px \").concat(important, \";\\n  }\\n  \\n  .\").concat(fullWidthClassName, \" {\\n    margin-right: \").concat(gap, \"px \").concat(important, \";\\n  }\\n  \\n  .\").concat(zeroRightClassName, \" .\").concat(zeroRightClassName, \" {\\n    right: 0 \").concat(important, \";\\n  }\\n  \\n  .\").concat(fullWidthClassName, \" .\").concat(fullWidthClassName, \" {\\n    margin-right: 0 \").concat(important, \";\\n  }\\n  \\n  body {\\n    \").concat(removedBarSizeVariable, \": \").concat(gap, \"px;\\n  }\\n\");\n};\n/**\n * Removes page scrollbar and blocks page scroll when mounted\n */\nexport var RemoveScrollBar = function (props) {\n    var noRelative = props.noRelative, noImportant = props.noImportant, _a = props.gapMode, gapMode = _a === void 0 ? 'margin' : _a;\n    /*\n     gap will be measured on every component mount\n     however it will be used only by the \"first\" invocation\n     due to singleton nature of <Style\n     */\n    var gap = React.useMemo(function () { return getGapWidth(gapMode); }, [gapMode]);\n    return React.createElement(Style, { styles: getStyles(gap, !noRelative, gapMode, !noImportant ? '!important' : '') });\n};\n","var passiveSupported = false;\nif (typeof window !== 'undefined') {\n    try {\n        var options = Object.defineProperty({}, 'passive', {\n            get: function () {\n                passiveSupported = true;\n                return true;\n            },\n        });\n        // @ts-ignore\n        window.addEventListener('test', options, options);\n        // @ts-ignore\n        window.removeEventListener('test', options, options);\n    }\n    catch (err) {\n        passiveSupported = false;\n    }\n}\nexport var nonPassive = passiveSupported ? { passive: false } : false;\n","var alwaysContainsScroll = function (node) {\n    // textarea will always _contain_ scroll inside self. It only can be hidden\n    return node.tagName === 'TEXTAREA';\n};\nvar elementCanBeScrolled = function (node, overflow) {\n    var styles = window.getComputedStyle(node);\n    return (\n    // not-not-scrollable\n    styles[overflow] !== 'hidden' &&\n        // contains scroll inside self\n        !(styles.overflowY === styles.overflowX && !alwaysContainsScroll(node) && styles[overflow] === 'visible'));\n};\nvar elementCouldBeVScrolled = function (node) { return elementCanBeScrolled(node, 'overflowY'); };\nvar elementCouldBeHScrolled = function (node) { return elementCanBeScrolled(node, 'overflowX'); };\nexport var locationCouldBeScrolled = function (axis, node) {\n    var current = node;\n    do {\n        // Skip over shadow root\n        if (typeof ShadowRoot !== 'undefined' && current instanceof ShadowRoot) {\n            current = current.host;\n        }\n        var isScrollable = elementCouldBeScrolled(axis, current);\n        if (isScrollable) {\n            var _a = getScrollVariables(axis, current), s = _a[1], d = _a[2];\n            if (s > d) {\n                return true;\n            }\n        }\n        current = current.parentNode;\n    } while (current && current !== document.body);\n    return false;\n};\nvar getVScrollVariables = function (_a) {\n    var scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight, clientHeight = _a.clientHeight;\n    return [\n        scrollTop,\n        scrollHeight,\n        clientHeight,\n    ];\n};\nvar getHScrollVariables = function (_a) {\n    var scrollLeft = _a.scrollLeft, scrollWidth = _a.scrollWidth, clientWidth = _a.clientWidth;\n    return [\n        scrollLeft,\n        scrollWidth,\n        clientWidth,\n    ];\n};\nvar elementCouldBeScrolled = function (axis, node) {\n    return axis === 'v' ? elementCouldBeVScrolled(node) : elementCouldBeHScrolled(node);\n};\nvar getScrollVariables = function (axis, node) {\n    return axis === 'v' ? getVScrollVariables(node) : getHScrollVariables(node);\n};\nvar getDirectionFactor = function (axis, direction) {\n    /**\n     * If the element's direction is rtl (right-to-left), then scrollLeft is 0 when the scrollbar is at its rightmost position,\n     * and then increasingly negative as you scroll towards the end of the content.\n     * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollLeft\n     */\n    return axis === 'h' && direction === 'rtl' ? -1 : 1;\n};\nexport var handleScroll = function (axis, endTarget, event, sourceDelta, noOverscroll) {\n    var directionFactor = getDirectionFactor(axis, window.getComputedStyle(endTarget).direction);\n    var delta = directionFactor * sourceDelta;\n    // find scrollable target\n    var target = event.target;\n    var targetInLock = endTarget.contains(target);\n    var shouldCancelScroll = false;\n    var isDeltaPositive = delta > 0;\n    var availableScroll = 0;\n    var availableScrollTop = 0;\n    do {\n        var _a = getScrollVariables(axis, target), position = _a[0], scroll_1 = _a[1], capacity = _a[2];\n        var elementScroll = scroll_1 - capacity - directionFactor * position;\n        if (position || elementScroll) {\n            if (elementCouldBeScrolled(axis, target)) {\n                availableScroll += elementScroll;\n                availableScrollTop += position;\n            }\n        }\n        target = target.parentNode;\n    } while (\n    // portaled content\n    (!targetInLock && target !== document.body) ||\n        // self content\n        (targetInLock && (endTarget.contains(target) || endTarget === target)));\n    if (isDeltaPositive && ((noOverscroll && availableScroll === 0) || (!noOverscroll && delta > availableScroll))) {\n        shouldCancelScroll = true;\n    }\n    else if (!isDeltaPositive &&\n        ((noOverscroll && availableScrollTop === 0) || (!noOverscroll && -delta > availableScrollTop))) {\n        shouldCancelScroll = true;\n    }\n    return shouldCancelScroll;\n};\n","import { __spreadArray } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScrollBar } from 'react-remove-scroll-bar';\nimport { styleSingleton } from 'react-style-singleton';\nimport { nonPassive } from './aggresiveCapture';\nimport { handleScroll, locationCouldBeScrolled } from './handleScroll';\nexport var getTouchXY = function (event) {\n    return 'changedTouches' in event ? [event.changedTouches[0].clientX, event.changedTouches[0].clientY] : [0, 0];\n};\nexport var getDeltaXY = function (event) { return [event.deltaX, event.deltaY]; };\nvar extractRef = function (ref) {\n    return ref && 'current' in ref ? ref.current : ref;\n};\nvar deltaCompare = function (x, y) { return x[0] === y[0] && x[1] === y[1]; };\nvar generateStyle = function (id) { return \"\\n  .block-interactivity-\".concat(id, \" {pointer-events: none;}\\n  .allow-interactivity-\").concat(id, \" {pointer-events: all;}\\n\"); };\nvar idCounter = 0;\nvar lockStack = [];\nexport function RemoveScrollSideCar(props) {\n    var shouldPreventQueue = React.useRef([]);\n    var touchStartRef = React.useRef([0, 0]);\n    var activeAxis = React.useRef();\n    var id = React.useState(idCounter++)[0];\n    var Style = React.useState(function () { return styleSingleton(); })[0];\n    var lastProps = React.useRef(props);\n    React.useEffect(function () {\n        lastProps.current = props;\n    }, [props]);\n    React.useEffect(function () {\n        if (props.inert) {\n            document.body.classList.add(\"block-interactivity-\".concat(id));\n            var allow_1 = __spreadArray([props.lockRef.current], (props.shards || []).map(extractRef), true).filter(Boolean);\n            allow_1.forEach(function (el) { return el.classList.add(\"allow-interactivity-\".concat(id)); });\n            return function () {\n                document.body.classList.remove(\"block-interactivity-\".concat(id));\n                allow_1.forEach(function (el) { return el.classList.remove(\"allow-interactivity-\".concat(id)); });\n            };\n        }\n        return;\n    }, [props.inert, props.lockRef.current, props.shards]);\n    var shouldCancelEvent = React.useCallback(function (event, parent) {\n        if ('touches' in event && event.touches.length === 2) {\n            return !lastProps.current.allowPinchZoom;\n        }\n        var touch = getTouchXY(event);\n        var touchStart = touchStartRef.current;\n        var deltaX = 'deltaX' in event ? event.deltaX : touchStart[0] - touch[0];\n        var deltaY = 'deltaY' in event ? event.deltaY : touchStart[1] - touch[1];\n        var currentAxis;\n        var target = event.target;\n        var moveDirection = Math.abs(deltaX) > Math.abs(deltaY) ? 'h' : 'v';\n        // allow horizontal touch move on Range inputs. They will not cause any scroll\n        if ('touches' in event && moveDirection === 'h' && target.type === 'range') {\n            return false;\n        }\n        var canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n        if (!canBeScrolledInMainDirection) {\n            return true;\n        }\n        if (canBeScrolledInMainDirection) {\n            currentAxis = moveDirection;\n        }\n        else {\n            currentAxis = moveDirection === 'v' ? 'h' : 'v';\n            canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n            // other axis might be not scrollable\n        }\n        if (!canBeScrolledInMainDirection) {\n            return false;\n        }\n        if (!activeAxis.current && 'changedTouches' in event && (deltaX || deltaY)) {\n            activeAxis.current = currentAxis;\n        }\n        if (!currentAxis) {\n            return true;\n        }\n        var cancelingAxis = activeAxis.current || currentAxis;\n        return handleScroll(cancelingAxis, parent, event, cancelingAxis === 'h' ? deltaX : deltaY, true);\n    }, []);\n    var shouldPrevent = React.useCallback(function (_event) {\n        var event = _event;\n        if (!lockStack.length || lockStack[lockStack.length - 1] !== Style) {\n            // not the last active\n            return;\n        }\n        var delta = 'deltaY' in event ? getDeltaXY(event) : getTouchXY(event);\n        var sourceEvent = shouldPreventQueue.current.filter(function (e) { return e.name === event.type && e.target === event.target && deltaCompare(e.delta, delta); })[0];\n        // self event, and should be canceled\n        if (sourceEvent && sourceEvent.should) {\n            if (event.cancelable) {\n                event.preventDefault();\n            }\n            return;\n        }\n        // outside or shard event\n        if (!sourceEvent) {\n            var shardNodes = (lastProps.current.shards || [])\n                .map(extractRef)\n                .filter(Boolean)\n                .filter(function (node) { return node.contains(event.target); });\n            var shouldStop = shardNodes.length > 0 ? shouldCancelEvent(event, shardNodes[0]) : !lastProps.current.noIsolation;\n            if (shouldStop) {\n                if (event.cancelable) {\n                    event.preventDefault();\n                }\n            }\n        }\n    }, []);\n    var shouldCancel = React.useCallback(function (name, delta, target, should) {\n        var event = { name: name, delta: delta, target: target, should: should };\n        shouldPreventQueue.current.push(event);\n        setTimeout(function () {\n            shouldPreventQueue.current = shouldPreventQueue.current.filter(function (e) { return e !== event; });\n        }, 1);\n    }, []);\n    var scrollTouchStart = React.useCallback(function (event) {\n        touchStartRef.current = getTouchXY(event);\n        activeAxis.current = undefined;\n    }, []);\n    var scrollWheel = React.useCallback(function (event) {\n        shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n    }, []);\n    var scrollTouchMove = React.useCallback(function (event) {\n        shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n    }, []);\n    React.useEffect(function () {\n        lockStack.push(Style);\n        props.setCallbacks({\n            onScrollCapture: scrollWheel,\n            onWheelCapture: scrollWheel,\n            onTouchMoveCapture: scrollTouchMove,\n        });\n        document.addEventListener('wheel', shouldPrevent, nonPassive);\n        document.addEventListener('touchmove', shouldPrevent, nonPassive);\n        document.addEventListener('touchstart', scrollTouchStart, nonPassive);\n        return function () {\n            lockStack = lockStack.filter(function (inst) { return inst !== Style; });\n            document.removeEventListener('wheel', shouldPrevent, nonPassive);\n            document.removeEventListener('touchmove', shouldPrevent, nonPassive);\n            document.removeEventListener('touchstart', scrollTouchStart, nonPassive);\n        };\n    }, []);\n    var removeScrollBar = props.removeScrollBar, inert = props.inert;\n    return (React.createElement(React.Fragment, null,\n        inert ? React.createElement(Style, { styles: generateStyle(id) }) : null,\n        removeScrollBar ? React.createElement(RemoveScrollBar, { gapMode: \"margin\" }) : null));\n}\n","import { exportSidecar } from 'use-sidecar';\nimport { RemoveScrollSideCar } from './SideEffect';\nimport { effectCar } from './medium';\nexport default exportSidecar(effectCar, RemoveScrollSideCar);\n","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScroll } from './UI';\nimport SideCar from './sidecar';\nvar ReactRemoveScroll = React.forwardRef(function (props, ref) { return (React.createElement(RemoveScroll, __assign({}, props, { ref: ref, sideCar: SideCar }))); });\nReactRemoveScroll.classNames = RemoveScroll.classNames;\nexport default ReactRemoveScroll;\n","var getDefaultParent = function (originalTarget) {\n    if (typeof document === 'undefined') {\n        return null;\n    }\n    var sampleTarget = Array.isArray(originalTarget) ? originalTarget[0] : originalTarget;\n    return sampleTarget.ownerDocument.body;\n};\nvar counterMap = new WeakMap();\nvar uncontrolledNodes = new WeakMap();\nvar markerMap = {};\nvar lockCount = 0;\nvar unwrapHost = function (node) {\n    return node && (node.host || unwrapHost(node.parentNode));\n};\nvar correctTargets = function (parent, targets) {\n    return targets\n        .map(function (target) {\n        if (parent.contains(target)) {\n            return target;\n        }\n        var correctedTarget = unwrapHost(target);\n        if (correctedTarget && parent.contains(correctedTarget)) {\n            return correctedTarget;\n        }\n        console.error('aria-hidden', target, 'in not contained inside', parent, '. Doing nothing');\n        return null;\n    })\n        .filter(function (x) { return Boolean(x); });\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @param {String} [controlAttribute] - html Attribute to control\n * @return {Undo} undo command\n */\nvar applyAttributeToOthers = function (originalTarget, parentNode, markerName, controlAttribute) {\n    var targets = correctTargets(parentNode, Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n    if (!markerMap[markerName]) {\n        markerMap[markerName] = new WeakMap();\n    }\n    var markerCounter = markerMap[markerName];\n    var hiddenNodes = [];\n    var elementsToKeep = new Set();\n    var elementsToStop = new Set(targets);\n    var keep = function (el) {\n        if (!el || elementsToKeep.has(el)) {\n            return;\n        }\n        elementsToKeep.add(el);\n        keep(el.parentNode);\n    };\n    targets.forEach(keep);\n    var deep = function (parent) {\n        if (!parent || elementsToStop.has(parent)) {\n            return;\n        }\n        Array.prototype.forEach.call(parent.children, function (node) {\n            if (elementsToKeep.has(node)) {\n                deep(node);\n            }\n            else {\n                var attr = node.getAttribute(controlAttribute);\n                var alreadyHidden = attr !== null && attr !== 'false';\n                var counterValue = (counterMap.get(node) || 0) + 1;\n                var markerValue = (markerCounter.get(node) || 0) + 1;\n                counterMap.set(node, counterValue);\n                markerCounter.set(node, markerValue);\n                hiddenNodes.push(node);\n                if (counterValue === 1 && alreadyHidden) {\n                    uncontrolledNodes.set(node, true);\n                }\n                if (markerValue === 1) {\n                    node.setAttribute(markerName, 'true');\n                }\n                if (!alreadyHidden) {\n                    node.setAttribute(controlAttribute, 'true');\n                }\n            }\n        });\n    };\n    deep(parentNode);\n    elementsToKeep.clear();\n    lockCount++;\n    return function () {\n        hiddenNodes.forEach(function (node) {\n            var counterValue = counterMap.get(node) - 1;\n            var markerValue = markerCounter.get(node) - 1;\n            counterMap.set(node, counterValue);\n            markerCounter.set(node, markerValue);\n            if (!counterValue) {\n                if (!uncontrolledNodes.has(node)) {\n                    node.removeAttribute(controlAttribute);\n                }\n                uncontrolledNodes.delete(node);\n            }\n            if (!markerValue) {\n                node.removeAttribute(markerName);\n            }\n        });\n        lockCount--;\n        if (!lockCount) {\n            // clear\n            counterMap = new WeakMap();\n            counterMap = new WeakMap();\n            uncontrolledNodes = new WeakMap();\n            markerMap = {};\n        }\n    };\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var hideOthers = function (originalTarget, parentNode, markerName) {\n    if (markerName === void 0) { markerName = 'data-aria-hidden'; }\n    var targets = Array.from(Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n    var activeParentNode = parentNode || getDefaultParent(originalTarget);\n    if (!activeParentNode) {\n        return function () { return null; };\n    }\n    // we should not hide ariaLive elements - https://github.com/theKashey/aria-hidden/issues/10\n    targets.push.apply(targets, Array.from(activeParentNode.querySelectorAll('[aria-live]')));\n    return applyAttributeToOthers(targets, activeParentNode, markerName, 'aria-hidden');\n};\n/**\n * Marks everything except given node(or nodes) as inert\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var inertOthers = function (originalTarget, parentNode, markerName) {\n    if (markerName === void 0) { markerName = 'data-inert-ed'; }\n    var activeParentNode = parentNode || getDefaultParent(originalTarget);\n    if (!activeParentNode) {\n        return function () { return null; };\n    }\n    return applyAttributeToOthers(originalTarget, activeParentNode, markerName, 'inert');\n};\n/**\n * @returns if current browser supports inert\n */\nexport var supportsInert = function () {\n    return typeof HTMLElement !== 'undefined' && HTMLElement.prototype.hasOwnProperty('inert');\n};\n/**\n * Automatic function to \"suppress\" DOM elements - _hide_ or _inert_ in the best possible way\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var suppressOthers = function (originalTarget, parentNode, markerName) {\n    if (markerName === void 0) { markerName = 'data-suppressed'; }\n    return (supportsInert() ? inertOthers : hideOthers)(originalTarget, parentNode, markerName);\n};\n","import $67UHm$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {useRef as $67UHm$useRef, createElement as $67UHm$createElement, useCallback as $67UHm$useCallback, forwardRef as $67UHm$forwardRef, Children as $67UHm$Children, useEffect as $67UHm$useEffect, Fragment as $67UHm$Fragment} from \"react\";\nimport {composeEventHandlers as $67UHm$composeEventHandlers} from \"@radix-ui/primitive\";\nimport {useComposedRefs as $67UHm$useComposedRefs} from \"@radix-ui/react-compose-refs\";\nimport {createContextScope as $67UHm$createContextScope, createContext as $67UHm$createContext} from \"@radix-ui/react-context\";\nimport {useId as $67UHm$useId} from \"@radix-ui/react-id\";\nimport {useControllableState as $67UHm$useControllableState} from \"@radix-ui/react-use-controllable-state\";\nimport {DismissableLayer as $67UHm$DismissableLayer} from \"@radix-ui/react-dismissable-layer\";\nimport {FocusScope as $67UHm$FocusScope} from \"@radix-ui/react-focus-scope\";\nimport {Portal as $67UHm$Portal} from \"@radix-ui/react-portal\";\nimport {Presence as $67UHm$Presence} from \"@radix-ui/react-presence\";\nimport {Primitive as $67UHm$Primitive} from \"@radix-ui/react-primitive\";\nimport {useFocusGuards as $67UHm$useFocusGuards} from \"@radix-ui/react-focus-guards\";\nimport {RemoveScroll as $67UHm$RemoveScroll} from \"react-remove-scroll\";\nimport {hideOthers as $67UHm$hideOthers} from \"aria-hidden\";\nimport {Slot as $67UHm$Slot} from \"@radix-ui/react-slot\";\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* -------------------------------------------------------------------------------------------------\n * Dialog\n * -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$DIALOG_NAME = 'Dialog';\nconst [$5d3850c4d0b4e6c7$var$createDialogContext, $5d3850c4d0b4e6c7$export$cc702773b8ea3e41] = $67UHm$createContextScope($5d3850c4d0b4e6c7$var$DIALOG_NAME);\nconst [$5d3850c4d0b4e6c7$var$DialogProvider, $5d3850c4d0b4e6c7$var$useDialogContext] = $5d3850c4d0b4e6c7$var$createDialogContext($5d3850c4d0b4e6c7$var$DIALOG_NAME);\nconst $5d3850c4d0b4e6c7$export$3ddf2d174ce01153 = (props)=>{\n    const { __scopeDialog: __scopeDialog , children: children , open: openProp , defaultOpen: defaultOpen , onOpenChange: onOpenChange , modal: modal = true  } = props;\n    const triggerRef = $67UHm$useRef(null);\n    const contentRef = $67UHm$useRef(null);\n    const [open = false, setOpen] = $67UHm$useControllableState({\n        prop: openProp,\n        defaultProp: defaultOpen,\n        onChange: onOpenChange\n    });\n    return /*#__PURE__*/ $67UHm$createElement($5d3850c4d0b4e6c7$var$DialogProvider, {\n        scope: __scopeDialog,\n        triggerRef: triggerRef,\n        contentRef: contentRef,\n        contentId: $67UHm$useId(),\n        titleId: $67UHm$useId(),\n        descriptionId: $67UHm$useId(),\n        open: open,\n        onOpenChange: setOpen,\n        onOpenToggle: $67UHm$useCallback(()=>setOpen((prevOpen)=>!prevOpen\n            )\n        , [\n            setOpen\n        ]),\n        modal: modal\n    }, children);\n};\n/*#__PURE__*/ Object.assign($5d3850c4d0b4e6c7$export$3ddf2d174ce01153, {\n    displayName: $5d3850c4d0b4e6c7$var$DIALOG_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * DialogTrigger\n * -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$TRIGGER_NAME = 'DialogTrigger';\nconst $5d3850c4d0b4e6c7$export$2e1e1122cf0cba88 = /*#__PURE__*/ $67UHm$forwardRef((props, forwardedRef)=>{\n    const { __scopeDialog: __scopeDialog , ...triggerProps } = props;\n    const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$TRIGGER_NAME, __scopeDialog);\n    const composedTriggerRef = $67UHm$useComposedRefs(forwardedRef, context.triggerRef);\n    return /*#__PURE__*/ $67UHm$createElement($67UHm$Primitive.button, $67UHm$babelruntimehelpersesmextends({\n        type: \"button\",\n        \"aria-haspopup\": \"dialog\",\n        \"aria-expanded\": context.open,\n        \"aria-controls\": context.contentId,\n        \"data-state\": $5d3850c4d0b4e6c7$var$getState(context.open)\n    }, triggerProps, {\n        ref: composedTriggerRef,\n        onClick: $67UHm$composeEventHandlers(props.onClick, context.onOpenToggle)\n    }));\n});\n/*#__PURE__*/ Object.assign($5d3850c4d0b4e6c7$export$2e1e1122cf0cba88, {\n    displayName: $5d3850c4d0b4e6c7$var$TRIGGER_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * DialogPortal\n * -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$PORTAL_NAME = 'DialogPortal';\nconst [$5d3850c4d0b4e6c7$var$PortalProvider, $5d3850c4d0b4e6c7$var$usePortalContext] = $5d3850c4d0b4e6c7$var$createDialogContext($5d3850c4d0b4e6c7$var$PORTAL_NAME, {\n    forceMount: undefined\n});\nconst $5d3850c4d0b4e6c7$export$dad7c95542bacce0 = (props)=>{\n    const { __scopeDialog: __scopeDialog , forceMount: forceMount , children: children , container: container  } = props;\n    const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$PORTAL_NAME, __scopeDialog);\n    return /*#__PURE__*/ $67UHm$createElement($5d3850c4d0b4e6c7$var$PortalProvider, {\n        scope: __scopeDialog,\n        forceMount: forceMount\n    }, $67UHm$Children.map(children, (child)=>/*#__PURE__*/ $67UHm$createElement($67UHm$Presence, {\n            present: forceMount || context.open\n        }, /*#__PURE__*/ $67UHm$createElement($67UHm$Portal, {\n            asChild: true,\n            container: container\n        }, child))\n    ));\n};\n/*#__PURE__*/ Object.assign($5d3850c4d0b4e6c7$export$dad7c95542bacce0, {\n    displayName: $5d3850c4d0b4e6c7$var$PORTAL_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * DialogOverlay\n * -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$OVERLAY_NAME = 'DialogOverlay';\nconst $5d3850c4d0b4e6c7$export$bd1d06c79be19e17 = /*#__PURE__*/ $67UHm$forwardRef((props, forwardedRef)=>{\n    const portalContext = $5d3850c4d0b4e6c7$var$usePortalContext($5d3850c4d0b4e6c7$var$OVERLAY_NAME, props.__scopeDialog);\n    const { forceMount: forceMount = portalContext.forceMount , ...overlayProps } = props;\n    const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$OVERLAY_NAME, props.__scopeDialog);\n    return context.modal ? /*#__PURE__*/ $67UHm$createElement($67UHm$Presence, {\n        present: forceMount || context.open\n    }, /*#__PURE__*/ $67UHm$createElement($5d3850c4d0b4e6c7$var$DialogOverlayImpl, $67UHm$babelruntimehelpersesmextends({}, overlayProps, {\n        ref: forwardedRef\n    }))) : null;\n});\n/*#__PURE__*/ Object.assign($5d3850c4d0b4e6c7$export$bd1d06c79be19e17, {\n    displayName: $5d3850c4d0b4e6c7$var$OVERLAY_NAME\n});\nconst $5d3850c4d0b4e6c7$var$DialogOverlayImpl = /*#__PURE__*/ $67UHm$forwardRef((props, forwardedRef)=>{\n    const { __scopeDialog: __scopeDialog , ...overlayProps } = props;\n    const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$OVERLAY_NAME, __scopeDialog);\n    return(/*#__PURE__*/ // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n    // ie. when `Overlay` and `Content` are siblings\n    $67UHm$createElement($67UHm$RemoveScroll, {\n        as: $67UHm$Slot,\n        allowPinchZoom: true,\n        shards: [\n            context.contentRef\n        ]\n    }, /*#__PURE__*/ $67UHm$createElement($67UHm$Primitive.div, $67UHm$babelruntimehelpersesmextends({\n        \"data-state\": $5d3850c4d0b4e6c7$var$getState(context.open)\n    }, overlayProps, {\n        ref: forwardedRef // We re-enable pointer-events prevented by `Dialog.Content` to allow scrolling the overlay.\n        ,\n        style: {\n            pointerEvents: 'auto',\n            ...overlayProps.style\n        }\n    }))));\n});\n/* -------------------------------------------------------------------------------------------------\n * DialogContent\n * -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$CONTENT_NAME = 'DialogContent';\nconst $5d3850c4d0b4e6c7$export$b6d9565de1e068cf = /*#__PURE__*/ $67UHm$forwardRef((props, forwardedRef)=>{\n    const portalContext = $5d3850c4d0b4e6c7$var$usePortalContext($5d3850c4d0b4e6c7$var$CONTENT_NAME, props.__scopeDialog);\n    const { forceMount: forceMount = portalContext.forceMount , ...contentProps } = props;\n    const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$CONTENT_NAME, props.__scopeDialog);\n    return /*#__PURE__*/ $67UHm$createElement($67UHm$Presence, {\n        present: forceMount || context.open\n    }, context.modal ? /*#__PURE__*/ $67UHm$createElement($5d3850c4d0b4e6c7$var$DialogContentModal, $67UHm$babelruntimehelpersesmextends({}, contentProps, {\n        ref: forwardedRef\n    })) : /*#__PURE__*/ $67UHm$createElement($5d3850c4d0b4e6c7$var$DialogContentNonModal, $67UHm$babelruntimehelpersesmextends({}, contentProps, {\n        ref: forwardedRef\n    })));\n});\n/*#__PURE__*/ Object.assign($5d3850c4d0b4e6c7$export$b6d9565de1e068cf, {\n    displayName: $5d3850c4d0b4e6c7$var$CONTENT_NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$DialogContentModal = /*#__PURE__*/ $67UHm$forwardRef((props, forwardedRef)=>{\n    const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$CONTENT_NAME, props.__scopeDialog);\n    const contentRef = $67UHm$useRef(null);\n    const composedRefs = $67UHm$useComposedRefs(forwardedRef, context.contentRef, contentRef); // aria-hide everything except the content (better supported equivalent to setting aria-modal)\n    $67UHm$useEffect(()=>{\n        const content = contentRef.current;\n        if (content) return $67UHm$hideOthers(content);\n    }, []);\n    return /*#__PURE__*/ $67UHm$createElement($5d3850c4d0b4e6c7$var$DialogContentImpl, $67UHm$babelruntimehelpersesmextends({}, props, {\n        ref: composedRefs // we make sure focus isn't trapped once `DialogContent` has been closed\n        ,\n        trapFocus: context.open,\n        disableOutsidePointerEvents: true,\n        onCloseAutoFocus: $67UHm$composeEventHandlers(props.onCloseAutoFocus, (event)=>{\n            var _context$triggerRef$c;\n            event.preventDefault();\n            (_context$triggerRef$c = context.triggerRef.current) === null || _context$triggerRef$c === void 0 || _context$triggerRef$c.focus();\n        }),\n        onPointerDownOutside: $67UHm$composeEventHandlers(props.onPointerDownOutside, (event)=>{\n            const originalEvent = event.detail.originalEvent;\n            const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n            const isRightClick = originalEvent.button === 2 || ctrlLeftClick; // If the event is a right-click, we shouldn't close because\n            // it is effectively as if we right-clicked the `Overlay`.\n            if (isRightClick) event.preventDefault();\n        }) // When focus is trapped, a `focusout` event may still happen.\n        ,\n        onFocusOutside: $67UHm$composeEventHandlers(props.onFocusOutside, (event)=>event.preventDefault()\n        )\n    }));\n});\n/* -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$DialogContentNonModal = /*#__PURE__*/ $67UHm$forwardRef((props, forwardedRef)=>{\n    const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$CONTENT_NAME, props.__scopeDialog);\n    const hasInteractedOutsideRef = $67UHm$useRef(false);\n    const hasPointerDownOutsideRef = $67UHm$useRef(false);\n    return /*#__PURE__*/ $67UHm$createElement($5d3850c4d0b4e6c7$var$DialogContentImpl, $67UHm$babelruntimehelpersesmextends({}, props, {\n        ref: forwardedRef,\n        trapFocus: false,\n        disableOutsidePointerEvents: false,\n        onCloseAutoFocus: (event)=>{\n            var _props$onCloseAutoFoc;\n            (_props$onCloseAutoFoc = props.onCloseAutoFocus) === null || _props$onCloseAutoFoc === void 0 || _props$onCloseAutoFoc.call(props, event);\n            if (!event.defaultPrevented) {\n                var _context$triggerRef$c2;\n                if (!hasInteractedOutsideRef.current) (_context$triggerRef$c2 = context.triggerRef.current) === null || _context$triggerRef$c2 === void 0 || _context$triggerRef$c2.focus(); // Always prevent auto focus because we either focus manually or want user agent focus\n                event.preventDefault();\n            }\n            hasInteractedOutsideRef.current = false;\n            hasPointerDownOutsideRef.current = false;\n        },\n        onInteractOutside: (event)=>{\n            var _props$onInteractOuts, _context$triggerRef$c3;\n            (_props$onInteractOuts = props.onInteractOutside) === null || _props$onInteractOuts === void 0 || _props$onInteractOuts.call(props, event);\n            if (!event.defaultPrevented) {\n                hasInteractedOutsideRef.current = true;\n                if (event.detail.originalEvent.type === 'pointerdown') hasPointerDownOutsideRef.current = true;\n            } // Prevent dismissing when clicking the trigger.\n            // As the trigger is already setup to close, without doing so would\n            // cause it to close and immediately open.\n            const target = event.target;\n            const targetIsTrigger = (_context$triggerRef$c3 = context.triggerRef.current) === null || _context$triggerRef$c3 === void 0 ? void 0 : _context$triggerRef$c3.contains(target);\n            if (targetIsTrigger) event.preventDefault(); // On Safari if the trigger is inside a container with tabIndex={0}, when clicked\n            // we will get the pointer down outside event on the trigger, but then a subsequent\n            // focus outside event on the container, we ignore any focus outside event when we've\n            // already had a pointer down outside event.\n            if (event.detail.originalEvent.type === 'focusin' && hasPointerDownOutsideRef.current) event.preventDefault();\n        }\n    }));\n});\n/* -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$DialogContentImpl = /*#__PURE__*/ $67UHm$forwardRef((props, forwardedRef)=>{\n    const { __scopeDialog: __scopeDialog , trapFocus: trapFocus , onOpenAutoFocus: onOpenAutoFocus , onCloseAutoFocus: onCloseAutoFocus , ...contentProps } = props;\n    const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$CONTENT_NAME, __scopeDialog);\n    const contentRef = $67UHm$useRef(null);\n    const composedRefs = $67UHm$useComposedRefs(forwardedRef, contentRef); // Make sure the whole tree has focus guards as our `Dialog` will be\n    // the last element in the DOM (beacuse of the `Portal`)\n    $67UHm$useFocusGuards();\n    return /*#__PURE__*/ $67UHm$createElement($67UHm$Fragment, null, /*#__PURE__*/ $67UHm$createElement($67UHm$FocusScope, {\n        asChild: true,\n        loop: true,\n        trapped: trapFocus,\n        onMountAutoFocus: onOpenAutoFocus,\n        onUnmountAutoFocus: onCloseAutoFocus\n    }, /*#__PURE__*/ $67UHm$createElement($67UHm$DismissableLayer, $67UHm$babelruntimehelpersesmextends({\n        role: \"dialog\",\n        id: context.contentId,\n        \"aria-describedby\": context.descriptionId,\n        \"aria-labelledby\": context.titleId,\n        \"data-state\": $5d3850c4d0b4e6c7$var$getState(context.open)\n    }, contentProps, {\n        ref: composedRefs,\n        onDismiss: ()=>context.onOpenChange(false)\n    }))), false);\n});\n/* -------------------------------------------------------------------------------------------------\n * DialogTitle\n * -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$TITLE_NAME = 'DialogTitle';\nconst $5d3850c4d0b4e6c7$export$16f7638e4a34b909 = /*#__PURE__*/ $67UHm$forwardRef((props, forwardedRef)=>{\n    const { __scopeDialog: __scopeDialog , ...titleProps } = props;\n    const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$TITLE_NAME, __scopeDialog);\n    return /*#__PURE__*/ $67UHm$createElement($67UHm$Primitive.h2, $67UHm$babelruntimehelpersesmextends({\n        id: context.titleId\n    }, titleProps, {\n        ref: forwardedRef\n    }));\n});\n/*#__PURE__*/ Object.assign($5d3850c4d0b4e6c7$export$16f7638e4a34b909, {\n    displayName: $5d3850c4d0b4e6c7$var$TITLE_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * DialogDescription\n * -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$DESCRIPTION_NAME = 'DialogDescription';\nconst $5d3850c4d0b4e6c7$export$94e94c2ec2c954d5 = /*#__PURE__*/ $67UHm$forwardRef((props, forwardedRef)=>{\n    const { __scopeDialog: __scopeDialog , ...descriptionProps } = props;\n    const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$DESCRIPTION_NAME, __scopeDialog);\n    return /*#__PURE__*/ $67UHm$createElement($67UHm$Primitive.p, $67UHm$babelruntimehelpersesmextends({\n        id: context.descriptionId\n    }, descriptionProps, {\n        ref: forwardedRef\n    }));\n});\n/*#__PURE__*/ Object.assign($5d3850c4d0b4e6c7$export$94e94c2ec2c954d5, {\n    displayName: $5d3850c4d0b4e6c7$var$DESCRIPTION_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * DialogClose\n * -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$CLOSE_NAME = 'DialogClose';\nconst $5d3850c4d0b4e6c7$export$fba2fb7cd781b7ac = /*#__PURE__*/ $67UHm$forwardRef((props, forwardedRef)=>{\n    const { __scopeDialog: __scopeDialog , ...closeProps } = props;\n    const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$CLOSE_NAME, __scopeDialog);\n    return /*#__PURE__*/ $67UHm$createElement($67UHm$Primitive.button, $67UHm$babelruntimehelpersesmextends({\n        type: \"button\"\n    }, closeProps, {\n        ref: forwardedRef,\n        onClick: $67UHm$composeEventHandlers(props.onClick, ()=>context.onOpenChange(false)\n        )\n    }));\n});\n/*#__PURE__*/ Object.assign($5d3850c4d0b4e6c7$export$fba2fb7cd781b7ac, {\n    displayName: $5d3850c4d0b4e6c7$var$CLOSE_NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ function $5d3850c4d0b4e6c7$var$getState(open) {\n    return open ? 'open' : 'closed';\n}\nconst $5d3850c4d0b4e6c7$var$TITLE_WARNING_NAME = 'DialogTitleWarning';\nconst [$5d3850c4d0b4e6c7$export$69b62a49393917d6, $5d3850c4d0b4e6c7$var$useWarningContext] = $67UHm$createContext($5d3850c4d0b4e6c7$var$TITLE_WARNING_NAME, {\n    contentName: $5d3850c4d0b4e6c7$var$CONTENT_NAME,\n    titleName: $5d3850c4d0b4e6c7$var$TITLE_NAME,\n    docsSlug: 'dialog'\n});\nconst $5d3850c4d0b4e6c7$var$TitleWarning = ({ titleId: titleId  })=>{\n    const titleWarningContext = $5d3850c4d0b4e6c7$var$useWarningContext($5d3850c4d0b4e6c7$var$TITLE_WARNING_NAME);\n    const MESSAGE = `\\`${titleWarningContext.contentName}\\` requires a \\`${titleWarningContext.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${titleWarningContext.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;\n    $67UHm$useEffect(()=>{\n        if (titleId) {\n            const hasTitle = document.getElementById(titleId);\n            if (!hasTitle) throw new Error(MESSAGE);\n        }\n    }, [\n        MESSAGE,\n        titleId\n    ]);\n    return null;\n};\nconst $5d3850c4d0b4e6c7$var$DESCRIPTION_WARNING_NAME = 'DialogDescriptionWarning';\nconst $5d3850c4d0b4e6c7$var$DescriptionWarning = ({ contentRef: contentRef , descriptionId: descriptionId  })=>{\n    const descriptionWarningContext = $5d3850c4d0b4e6c7$var$useWarningContext($5d3850c4d0b4e6c7$var$DESCRIPTION_WARNING_NAME);\n    const MESSAGE = `Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${descriptionWarningContext.contentName}}.`;\n    $67UHm$useEffect(()=>{\n        var _contentRef$current;\n        const describedById = (_contentRef$current = contentRef.current) === null || _contentRef$current === void 0 ? void 0 : _contentRef$current.getAttribute('aria-describedby'); // if we have an id and the user hasn't set aria-describedby={undefined}\n        if (descriptionId && describedById) {\n            const hasDescription = document.getElementById(descriptionId);\n            if (!hasDescription) console.warn(MESSAGE);\n        }\n    }, [\n        MESSAGE,\n        contentRef,\n        descriptionId\n    ]);\n    return null;\n};\nconst $5d3850c4d0b4e6c7$export$be92b6f5f03c0fe9 = $5d3850c4d0b4e6c7$export$3ddf2d174ce01153;\nconst $5d3850c4d0b4e6c7$export$41fb9f06171c75f4 = $5d3850c4d0b4e6c7$export$2e1e1122cf0cba88;\nconst $5d3850c4d0b4e6c7$export$602eac185826482c = $5d3850c4d0b4e6c7$export$dad7c95542bacce0;\nconst $5d3850c4d0b4e6c7$export$c6fdb837b070b4ff = $5d3850c4d0b4e6c7$export$bd1d06c79be19e17;\nconst $5d3850c4d0b4e6c7$export$7c6e2c02157bb7d2 = $5d3850c4d0b4e6c7$export$b6d9565de1e068cf;\nconst $5d3850c4d0b4e6c7$export$f99233281efd08a0 = $5d3850c4d0b4e6c7$export$16f7638e4a34b909;\nconst $5d3850c4d0b4e6c7$export$393edc798c47379d = $5d3850c4d0b4e6c7$export$94e94c2ec2c954d5;\nconst $5d3850c4d0b4e6c7$export$f39c2d165cd861fe = $5d3850c4d0b4e6c7$export$fba2fb7cd781b7ac;\n\n\n\n\nexport {$5d3850c4d0b4e6c7$export$cc702773b8ea3e41 as createDialogScope, $5d3850c4d0b4e6c7$export$3ddf2d174ce01153 as Dialog, $5d3850c4d0b4e6c7$export$2e1e1122cf0cba88 as DialogTrigger, $5d3850c4d0b4e6c7$export$dad7c95542bacce0 as DialogPortal, $5d3850c4d0b4e6c7$export$bd1d06c79be19e17 as DialogOverlay, $5d3850c4d0b4e6c7$export$b6d9565de1e068cf as DialogContent, $5d3850c4d0b4e6c7$export$16f7638e4a34b909 as DialogTitle, $5d3850c4d0b4e6c7$export$94e94c2ec2c954d5 as DialogDescription, $5d3850c4d0b4e6c7$export$fba2fb7cd781b7ac as DialogClose, $5d3850c4d0b4e6c7$export$be92b6f5f03c0fe9 as Root, $5d3850c4d0b4e6c7$export$41fb9f06171c75f4 as Trigger, $5d3850c4d0b4e6c7$export$602eac185826482c as Portal, $5d3850c4d0b4e6c7$export$c6fdb837b070b4ff as Overlay, $5d3850c4d0b4e6c7$export$7c6e2c02157bb7d2 as Content, $5d3850c4d0b4e6c7$export$f99233281efd08a0 as Title, $5d3850c4d0b4e6c7$export$393edc798c47379d as Description, $5d3850c4d0b4e6c7$export$f39c2d165cd861fe as Close, $5d3850c4d0b4e6c7$export$69b62a49393917d6 as WarningProvider};\n//# sourceMappingURL=index.mjs.map\n","import { useUrls } from \"@/hooks/useUrls\";\nimport styles from \"./styles.module.scss\";\nimport * as Dialog from \"@radix-ui/react-dialog\";\nimport { EndNotes } from \"@/components/EndNotes\";\n\ninterface MenuProps {\n  children: React.ReactNode;\n  className?: string;\n  \"data-layer-region\": string;\n  \"data-layer-text\": string;\n}\n\nexport function Menu({\n  children,\n  className,\n  \"data-layer-region\": dataLayerRegion,\n  \"data-layer-text\": dataLayerText,\n}: MenuProps) {\n  const urls = useUrls();\n\n  return (\n    <Dialog.Root>\n      <Dialog.Trigger\n        className={className}\n        data-layer-event-prefix=\"UI Item\"\n        data-layer-action=\"click\"\n        data-layer-region={dataLayerRegion}\n        data-layer-text={dataLayerText}\n      >\n        {children}\n      </Dialog.Trigger>\n      <Dialog.Portal>\n        <Dialog.Overlay className={styles[\"overlay\"]} />\n        <Dialog.Content className={styles[\"menu\"]}>\n          <div className={styles[\"menu-inner\"]}>\n            <div className={styles[\"menu-header\"]}>\n              <Dialog.Close\n                className={styles[\"menu-close\"]}\n                data-layer-event-prefix=\"UI Item\"\n                data-layer-action=\"click\"\n                data-layer-text=\"close\"\n                data-layer-region=\"modal window\"\n              >\n                <span>Close</span>\n              </Dialog.Close>\n            </div>\n\n            <h2 className={styles[\"menu-title\"]}>Global Trade Explorer</h2>\n\n            <ul className={styles[\"menu-list\"]}>\n              {Object.values(urls).map((obj, i) => (\n                <li key={i} className={styles[\"menu-item\"]}>\n                  <a\n                    href={obj.url}\n                    className={styles[\"menu-item-link\"]}\n                    data-layer-event-prefix=\"Navigation Link\"\n                    data-layer-action=\"click\"\n                    data-layer-text={obj.title}\n                    data-layer-region=\"modal window\"\n                  >\n                    <div className={styles[\"menu-item-img-wrap\"]}>\n                      <img\n                        className={styles[\"menu-item-img\"]}\n                        src={obj.thumbnailDark}\n                        alt={obj.title}\n                      />\n                    </div>\n                    <h3 className={styles[\"menu-item-headline\"]}>\n                      {obj.headline}\n                    </h3>\n                    <p className={styles[\"menu-item-title\"]}>{obj.title}</p>\n                  </a>\n                </li>\n              ))}\n            </ul>\n\n            <div className={styles[\"menu-footer\"]}>\n              <div className={styles[\"menu-footer-cta\"]}>\n                <p>\n                  {\" \"}\n                  Learn how global connections and the flow of goods shape\n                  economies.{\" \"}\n                  <a\n                    href=\"https://www.mckinsey.com/mgi/our-research/global-connections\"\n                    data-layer-event-prefix=\"Navigation Link\"\n                    data-layer-text=\"Explore relevant MGI research\"\n                    data-layer-region=\"modal window\"\n                  >\n                    Explore relevant MGI research\n                  </a>\n                  .\n                </p>\n              </div>\n\n              <div className={styles[\"menu-footer-notes\"]}>\n                <EndNotes mode=\"no-heading\" isDarkBG={true}>\n                  <p>\n                    Trade values shown are based on self-reported trade values\n                    to UN Comtrade. The accuracy of the data is based on each\n                    economy’s reported values. Sector taxonomy and\n                    classification are based on the judgment of several industry\n                    experts working with McKinsey Global Institute. There are\n                    asymmetries in UN Comtrade import and export datasets. See\n                    OECD BIMTS for further details. Data used in the\n                    visualization is from or ends in 2023. McKinsey & Company\n                    expects to update the data as 2024 data becomes available\n                    but is under no obligation to update the data or correct the\n                    results presented in this visualization.\n                  </p>\n                </EndNotes>\n              </div>\n            </div>\n          </div>\n        </Dialog.Content>\n      </Dialog.Portal>\n    </Dialog.Root>\n  );\n}\n","export function MenuIcon() {\n  return (\n    <svg width={11} height={11} viewBox=\"0 0 11 11\">\n      <rect\n        x=\"0.5\"\n        y=\"0.5\"\n        width=\"4\"\n        height=\"4\"\n        fill=\"none\"\n        stroke=\"currentColor\"\n      />\n      <rect\n        x=\"0.5\"\n        y=\"6.5\"\n        width=\"4\"\n        height=\"4\"\n        fill=\"none\"\n        stroke=\"currentColor\"\n      />\n      <rect\n        x=\"6.5\"\n        y=\"0.5\"\n        width=\"4\"\n        height=\"4\"\n        fill=\"none\"\n        stroke=\"currentColor\"\n      />\n      <rect\n        x=\"6.5\"\n        y=\"6.5\"\n        width=\"4\"\n        height=\"4\"\n        fill=\"none\"\n        stroke=\"currentColor\"\n      />\n    </svg>\n  );\n}\n","\n      import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../node_modules/sass-loader/dist/cjs.js!./styles.module.scss\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../node_modules/sass-loader/dist/cjs.js!./styles.module.scss\";\n       export default content && content.locals ? content.locals : undefined;\n","import styles from \"./styles.module.scss\";\nimport { useUrls } from \"@/hooks/useUrls\";\n\ninterface FooterCTAProps {\n  pageSlug: keyof ReturnType<typeof useUrls>;\n}\n\nexport function FooterCTA({ pageSlug }: FooterCTAProps) {\n  const urls = useUrls();\n  const cta = urls[pageSlug];\n\n  return (\n    <div className={styles.container}>\n      <a\n        className={styles.link}\n        href={cta.url}\n        data-layer-event-prefix=\"Navigation Link\"\n        data-layer-action=\"click\"\n        data-layer-text={cta.title}\n        data-layer-region=\"next visualization\"\n      >\n        <div className={styles[\"image-wrap\"]}>\n          <img\n            className={styles.img}\n            src={cta.thumbnailLight}\n            alt={cta.title}\n          />\n        </div>\n\n        <div className={styles[\"text-wrap\"]}>\n          <h3 className={styles.overline}>Next visualization</h3>\n          <h2 className={styles.headline}>{cta.headline}</h2>\n          <p className={styles.title}>{cta.title}</p>\n        </div>\n      </a>\n    </div>\n  );\n}\n","\n      import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../node_modules/sass-loader/dist/cjs.js!./styles.module.scss\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../node_modules/sass-loader/dist/cjs.js!./styles.module.scss\";\n       export default content && content.locals ? content.locals : undefined;\n","import styles from \"./styles.module.scss\";\n\nexport function AboutBlock() {\n  return (\n    <div className={styles.container}>\n      <h3 className={styles[\"overline\"]}>Dig deeper</h3>\n\n      <div className={styles.ctas}>\n        <p className={styles[\"cta-text\"]}>\n          <a\n            href={process.env.TECHNICAL_APPENDIX_LINK}\n            className={styles[\"cta-link\"]}\n            data-layer-event-prefix=\"Download Link\"\n            data-layer-action=\"click\"\n            data-layer-region=\"dig deeper\"\n            data-layer-text=\"Technical appendix and acknowledgements\"\n            data-layer-file-name=\"Global-trade-flows-Appendix-and-acknowledgments\"\n            data-layer-report-name=\"Global-trade-flows-Appendix-and-acknowledgments\"\n            data-layer-report-type=\"pdf\"\n          >\n            Technical appendix and{\" \"}\n            <span className={styles.hyphenate}>acknowledgements</span>\n          </a>\n        </p>\n\n        <p className={styles[\"cta-text\"]}>\n          <a\n            href=\"https://www.mckinsey.com/mgi/contact\"\n            className={styles[\"cta-link\"]}\n            data-layer-event-prefix=\"CTA Link\"\n            data-layer-action=\"click\"\n            data-layer-category=\"share\"\n            data-layer-subcategory=\"email\"\n            data-layer-text=\"Connect with a McKinsey expert\"\n            data-layer-region=\"dig deeper\"\n          >\n            Connect with a McKinsey expert\n          </a>\n        </p>\n      </div>\n    </div>\n  );\n}\n","// Use this so that result is a union of all keys of T instead of string[]\nexport function getKeys<T extends object>(object: T) {\n  return Object.keys(object) as (keyof T)[];\n}\n","\n      import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../node_modules/sass-loader/dist/cjs.js!./styles.module.scss\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../node_modules/sass-loader/dist/cjs.js!./styles.module.scss\";\n       export default content && content.locals ? content.locals : undefined;\n","import clsx from \"clsx\";\nimport { PageTopper } from \"@/components/PageTopper\";\nimport { ControlsBar } from \"@/components/ControlsBar\";\nimport { Menu } from \"@/components/Menu\";\nimport { MenuIcon } from \"@/components/MenuIcon\";\nimport { FooterCTA } from \"@/components/FooterCTA\";\nimport { AboutBlock } from \"@/components/AboutBlock\";\nimport { useUrls } from \"@/hooks/useUrls\";\nimport { getKeys } from \"@/utils/keys\";\nimport styles from \"./styles.module.scss\";\n\ninterface PageContainerProps {\n  headline: string;\n  dek?: string;\n  footerCTASlug?: keyof ReturnType<typeof useUrls>;\n  filters: React.ReactNode;\n  activePageSlug: keyof ReturnType<typeof useUrls>;\n  isLoading?: boolean;\n}\n\nexport function PageContainer({\n  headline,\n  dek,\n  footerCTASlug,\n  filters,\n  activePageSlug,\n  isLoading,\n  children,\n}: React.PropsWithChildren<PageContainerProps>) {\n  const urls = useUrls();\n\n  return (\n    <div>\n      <div className={styles.page}>\n        <div className={styles.sidebar}>\n          <div className={styles[\"sidebar-top\"]}>\n            <header className={styles.header}>\n              <h2 className={styles.title}>\n                <a href={urls.home.url}>Global Trade Explorer</a>\n              </h2>\n              <p className={styles.tagline}>\n                Visualize flows of trade around the&nbsp;world\n              </p>\n            </header>\n\n            <nav className={styles.nav} aria-label=\"Global trade explorer\">\n              <ul className={styles[\"nav-list\"]}>\n                {getKeys(urls).map((key) => (\n                  <li\n                    key={key}\n                    className={key === activePageSlug ? styles.active : \"\"}\n                  >\n                    <a\n                      aria-current={key === activePageSlug ? \"page\" : undefined}\n                      href={urls[key].url}\n                      data-layer-event-prefix=\"Navigation Link\"\n                      data-layer-action=\"click\"\n                      data-layer-text={urls[key].title}\n                      data-layer-region=\"side nav\"\n                    >\n                      <span> {urls[key].title}</span>\n                    </a>\n                  </li>\n                ))}\n              </ul>\n              <Menu\n                className={styles[\"menu-btn\"]}\n                data-layer-region=\"side nav\"\n                data-layer-text=\"Browse visualizations\"\n              >\n                <div className={styles[\"menu-btn-icon\"]}>\n                  <MenuIcon />\n                </div>\n                Browse&nbsp;<span>visualizations</span>\n              </Menu>\n            </nav>\n          </div>\n\n          <div className={styles[\"sidebar-bottom-desktop\"]}>\n            <AboutBlock />\n          </div>\n        </div>\n\n        <div className={styles[\"main-wrap\"]}>\n          <main className={styles.main}>\n            <div className={styles[\"main-inner\"]}>\n              <PageTopper headline={headline} dek={dek} />\n              <ControlsBar isLoading={isLoading}>{filters}</ControlsBar>\n\n              <div\n                className={clsx(\n                  styles[\"main-content\"],\n                  isLoading && styles[\"main-loading\"]\n                )}\n              >\n                {children}\n              </div>\n            </div>\n          </main>\n          {footerCTASlug && (\n            <div className=\"main-footer-cta\">\n              <FooterCTA pageSlug={footerCTASlug} />\n            </div>\n          )}\n          <div className={styles[\"main-bottom-mobile\"]}>\n            <AboutBlock />\n          </div>\n        </div>\n      </div>\n    </div>\n  );\n}\n","function $ae6933e535247d3d$export$7d15b64cf5a3a4c4(value, [min, max]) {\n    return Math.min(max, Math.max(min, value));\n}\n\n\n\n\nexport {$ae6933e535247d3d$export$7d15b64cf5a3a4c4 as clamp};\n//# sourceMappingURL=index.mjs.map\n","import {createContext as $7Gjcd$createContext, createElement as $7Gjcd$createElement, useContext as $7Gjcd$useContext} from \"react\";\n\n\nconst $f631663db3294ace$var$DirectionContext = /*#__PURE__*/ $7Gjcd$createContext(undefined);\n/* -------------------------------------------------------------------------------------------------\n * Direction\n * -----------------------------------------------------------------------------------------------*/ const $f631663db3294ace$export$c760c09fdd558351 = (props)=>{\n    const { dir: dir , children: children  } = props;\n    return /*#__PURE__*/ $7Gjcd$createElement($f631663db3294ace$var$DirectionContext.Provider, {\n        value: dir\n    }, children);\n};\n/* -----------------------------------------------------------------------------------------------*/ function $f631663db3294ace$export$b39126d51d94e6f3(localDir) {\n    const globalDir = $7Gjcd$useContext($f631663db3294ace$var$DirectionContext);\n    return localDir || globalDir || 'ltr';\n}\nconst $f631663db3294ace$export$2881499e37b75b9a = $f631663db3294ace$export$c760c09fdd558351;\n\n\n\n\nexport {$f631663db3294ace$export$b39126d51d94e6f3 as useDirection, $f631663db3294ace$export$2881499e37b75b9a as Provider, $f631663db3294ace$export$c760c09fdd558351 as DirectionProvider};\n//# sourceMappingURL=index.mjs.map\n","function t(t){return t.split(\"-\")[1]}function e(t){return\"y\"===t?\"height\":\"width\"}function n(t){return t.split(\"-\")[0]}function o(t){return[\"top\",\"bottom\"].includes(n(t))?\"x\":\"y\"}function i(i,r,a){let{reference:l,floating:s}=i;const c=l.x+l.width/2-s.width/2,f=l.y+l.height/2-s.height/2,m=o(r),u=e(m),g=l[u]/2-s[u]/2,d=\"x\"===m;let p;switch(n(r)){case\"top\":p={x:c,y:l.y-s.height};break;case\"bottom\":p={x:c,y:l.y+l.height};break;case\"right\":p={x:l.x+l.width,y:f};break;case\"left\":p={x:l.x-s.width,y:f};break;default:p={x:l.x,y:l.y}}switch(t(r)){case\"start\":p[m]-=g*(a&&d?-1:1);break;case\"end\":p[m]+=g*(a&&d?-1:1)}return p}const r=async(t,e,n)=>{const{placement:o=\"bottom\",strategy:r=\"absolute\",middleware:a=[],platform:l}=n,s=a.filter(Boolean),c=await(null==l.isRTL?void 0:l.isRTL(e));let f=await l.getElementRects({reference:t,floating:e,strategy:r}),{x:m,y:u}=i(f,o,c),g=o,d={},p=0;for(let n=0;n<s.length;n++){const{name:a,fn:h}=s[n],{x:y,y:x,data:w,reset:v}=await h({x:m,y:u,initialPlacement:o,placement:g,strategy:r,middlewareData:d,rects:f,platform:l,elements:{reference:t,floating:e}});m=null!=y?y:m,u=null!=x?x:u,d={...d,[a]:{...d[a],...w}},v&&p<=50&&(p++,\"object\"==typeof v&&(v.placement&&(g=v.placement),v.rects&&(f=!0===v.rects?await l.getElementRects({reference:t,floating:e,strategy:r}):v.rects),({x:m,y:u}=i(f,g,c))),n=-1)}return{x:m,y:u,placement:g,strategy:r,middlewareData:d}};function a(t){return\"number\"!=typeof t?function(t){return{top:0,right:0,bottom:0,left:0,...t}}(t):{top:t,right:t,bottom:t,left:t}}function l(t){return{...t,top:t.y,left:t.x,right:t.x+t.width,bottom:t.y+t.height}}async function s(t,e){var n;void 0===e&&(e={});const{x:o,y:i,platform:r,rects:s,elements:c,strategy:f}=t,{boundary:m=\"clippingAncestors\",rootBoundary:u=\"viewport\",elementContext:g=\"floating\",altBoundary:d=!1,padding:p=0}=e,h=a(p),y=c[d?\"floating\"===g?\"reference\":\"floating\":g],x=l(await r.getClippingRect({element:null==(n=await(null==r.isElement?void 0:r.isElement(y)))||n?y:y.contextElement||await(null==r.getDocumentElement?void 0:r.getDocumentElement(c.floating)),boundary:m,rootBoundary:u,strategy:f})),w=\"floating\"===g?{...s.floating,x:o,y:i}:s.reference,v=await(null==r.getOffsetParent?void 0:r.getOffsetParent(c.floating)),b=await(null==r.isElement?void 0:r.isElement(v))&&await(null==r.getScale?void 0:r.getScale(v))||{x:1,y:1},A=l(r.convertOffsetParentRelativeRectToViewportRelativeRect?await r.convertOffsetParentRelativeRectToViewportRelativeRect({rect:w,offsetParent:v,strategy:f}):w);return{top:(x.top-A.top+h.top)/b.y,bottom:(A.bottom-x.bottom+h.bottom)/b.y,left:(x.left-A.left+h.left)/b.x,right:(A.right-x.right+h.right)/b.x}}const c=Math.min,f=Math.max;function m(t,e,n){return f(t,c(e,n))}const u=n=>({name:\"arrow\",options:n,async fn(i){const{element:r,padding:l=0}=n||{},{x:s,y:c,placement:f,rects:u,platform:g,elements:d}=i;if(null==r)return{};const p=a(l),h={x:s,y:c},y=o(f),x=e(y),w=await g.getDimensions(r),v=\"y\"===y,b=v?\"top\":\"left\",A=v?\"bottom\":\"right\",R=v?\"clientHeight\":\"clientWidth\",P=u.reference[x]+u.reference[y]-h[y]-u.floating[x],E=h[y]-u.reference[y],T=await(null==g.getOffsetParent?void 0:g.getOffsetParent(r));let D=T?T[R]:0;D&&await(null==g.isElement?void 0:g.isElement(T))||(D=d.floating[R]||u.floating[x]);const L=P/2-E/2,k=p[b],O=D-w[x]-p[A],B=D/2-w[x]/2+L,C=m(k,B,O),H=null!=t(f)&&B!=C&&u.reference[x]/2-(B<k?p[b]:p[A])-w[x]/2<0;return{[y]:h[y]-(H?B<k?k-B:O-B:0),data:{[y]:C,centerOffset:B-C}}}}),g=[\"top\",\"right\",\"bottom\",\"left\"],d=g.reduce(((t,e)=>t.concat(e,e+\"-start\",e+\"-end\")),[]),p={left:\"right\",right:\"left\",bottom:\"top\",top:\"bottom\"};function h(t){return t.replace(/left|right|bottom|top/g,(t=>p[t]))}function y(n,i,r){void 0===r&&(r=!1);const a=t(n),l=o(n),s=e(l);let c=\"x\"===l?a===(r?\"end\":\"start\")?\"right\":\"left\":\"start\"===a?\"bottom\":\"top\";return i.reference[s]>i.floating[s]&&(c=h(c)),{main:c,cross:h(c)}}const x={start:\"end\",end:\"start\"};function w(t){return t.replace(/start|end/g,(t=>x[t]))}const v=function(e){return void 0===e&&(e={}),{name:\"autoPlacement\",options:e,async fn(o){var i,r,a;const{rects:l,middlewareData:c,placement:f,platform:m,elements:u}=o,{crossAxis:g=!1,alignment:p,allowedPlacements:h=d,autoAlignment:x=!0,...v}=e,b=void 0!==p||h===d?function(e,o,i){return(e?[...i.filter((n=>t(n)===e)),...i.filter((n=>t(n)!==e))]:i.filter((t=>n(t)===t))).filter((n=>!e||t(n)===e||!!o&&w(n)!==n))}(p||null,x,h):h,A=await s(o,v),R=(null==(i=c.autoPlacement)?void 0:i.index)||0,P=b[R];if(null==P)return{};const{main:E,cross:T}=y(P,l,await(null==m.isRTL?void 0:m.isRTL(u.floating)));if(f!==P)return{reset:{placement:b[0]}};const D=[A[n(P)],A[E],A[T]],L=[...(null==(r=c.autoPlacement)?void 0:r.overflows)||[],{placement:P,overflows:D}],k=b[R+1];if(k)return{data:{index:R+1,overflows:L},reset:{placement:k}};const O=L.map((e=>{const n=t(e.placement);return[e.placement,n&&g?e.overflows.slice(0,2).reduce(((t,e)=>t+e),0):e.overflows[0],e.overflows]})).sort(((t,e)=>t[1]-e[1])),B=(null==(a=O.filter((e=>e[2].slice(0,t(e[0])?2:3).every((t=>t<=0))))[0])?void 0:a[0])||O[0][0];return B!==f?{data:{index:R+1,overflows:L},reset:{placement:B}}:{}}}};const b=function(e){return void 0===e&&(e={}),{name:\"flip\",options:e,async fn(o){var i;const{placement:r,middlewareData:a,rects:l,initialPlacement:c,platform:f,elements:m}=o,{mainAxis:u=!0,crossAxis:g=!0,fallbackPlacements:d,fallbackStrategy:p=\"bestFit\",fallbackAxisSideDirection:x=\"none\",flipAlignment:v=!0,...b}=e,A=n(r),R=n(c)===c,P=await(null==f.isRTL?void 0:f.isRTL(m.floating)),E=d||(R||!v?[h(c)]:function(t){const e=h(t);return[w(t),e,w(e)]}(c));d||\"none\"===x||E.push(...function(e,o,i,r){const a=t(e);let l=function(t,e,n){const o=[\"left\",\"right\"],i=[\"right\",\"left\"],r=[\"top\",\"bottom\"],a=[\"bottom\",\"top\"];switch(t){case\"top\":case\"bottom\":return n?e?i:o:e?o:i;case\"left\":case\"right\":return e?r:a;default:return[]}}(n(e),\"start\"===i,r);return a&&(l=l.map((t=>t+\"-\"+a)),o&&(l=l.concat(l.map(w)))),l}(c,v,x,P));const T=[c,...E],D=await s(o,b),L=[];let k=(null==(i=a.flip)?void 0:i.overflows)||[];if(u&&L.push(D[A]),g){const{main:t,cross:e}=y(r,l,P);L.push(D[t],D[e])}if(k=[...k,{placement:r,overflows:L}],!L.every((t=>t<=0))){var O,B;const t=((null==(O=a.flip)?void 0:O.index)||0)+1,e=T[t];if(e)return{data:{index:t,overflows:k},reset:{placement:e}};let n=null==(B=k.filter((t=>t.overflows[0]<=0)).sort(((t,e)=>t.overflows[1]-e.overflows[1]))[0])?void 0:B.placement;if(!n)switch(p){case\"bestFit\":{var C;const t=null==(C=k.map((t=>[t.placement,t.overflows.filter((t=>t>0)).reduce(((t,e)=>t+e),0)])).sort(((t,e)=>t[1]-e[1]))[0])?void 0:C[0];t&&(n=t);break}case\"initialPlacement\":n=c}if(r!==n)return{reset:{placement:n}}}return{}}}};function A(t,e){return{top:t.top-e.height,right:t.right-e.width,bottom:t.bottom-e.height,left:t.left-e.width}}function R(t){return g.some((e=>t[e]>=0))}const P=function(t){return void 0===t&&(t={}),{name:\"hide\",options:t,async fn(e){const{strategy:n=\"referenceHidden\",...o}=t,{rects:i}=e;switch(n){case\"referenceHidden\":{const t=A(await s(e,{...o,elementContext:\"reference\"}),i.reference);return{data:{referenceHiddenOffsets:t,referenceHidden:R(t)}}}case\"escaped\":{const t=A(await s(e,{...o,altBoundary:!0}),i.floating);return{data:{escapedOffsets:t,escaped:R(t)}}}default:return{}}}}};function E(t){const e=c(...t.map((t=>t.left))),n=c(...t.map((t=>t.top)));return{x:e,y:n,width:f(...t.map((t=>t.right)))-e,height:f(...t.map((t=>t.bottom)))-n}}const T=function(t){return void 0===t&&(t={}),{name:\"inline\",options:t,async fn(e){const{placement:i,elements:r,rects:s,platform:m,strategy:u}=e,{padding:g=2,x:d,y:p}=t,h=Array.from(await(null==m.getClientRects?void 0:m.getClientRects(r.reference))||[]),y=function(t){const e=t.slice().sort(((t,e)=>t.y-e.y)),n=[];let o=null;for(let t=0;t<e.length;t++){const i=e[t];!o||i.y-o.y>o.height/2?n.push([i]):n[n.length-1].push(i),o=i}return n.map((t=>l(E(t))))}(h),x=l(E(h)),w=a(g);const v=await m.getElementRects({reference:{getBoundingClientRect:function(){if(2===y.length&&y[0].left>y[1].right&&null!=d&&null!=p)return y.find((t=>d>t.left-w.left&&d<t.right+w.right&&p>t.top-w.top&&p<t.bottom+w.bottom))||x;if(y.length>=2){if(\"x\"===o(i)){const t=y[0],e=y[y.length-1],o=\"top\"===n(i),r=t.top,a=e.bottom,l=o?t.left:e.left,s=o?t.right:e.right;return{top:r,bottom:a,left:l,right:s,width:s-l,height:a-r,x:l,y:r}}const t=\"left\"===n(i),e=f(...y.map((t=>t.right))),r=c(...y.map((t=>t.left))),a=y.filter((n=>t?n.left===r:n.right===e)),l=a[0].top,s=a[a.length-1].bottom;return{top:l,bottom:s,left:r,right:e,width:e-r,height:s-l,x:r,y:l}}return x}},floating:r.floating,strategy:u});return s.reference.x!==v.reference.x||s.reference.y!==v.reference.y||s.reference.width!==v.reference.width||s.reference.height!==v.reference.height?{reset:{rects:v}}:{}}}};const D=function(e){return void 0===e&&(e=0),{name:\"offset\",options:e,async fn(i){const{x:r,y:a}=i,l=await async function(e,i){const{placement:r,platform:a,elements:l}=e,s=await(null==a.isRTL?void 0:a.isRTL(l.floating)),c=n(r),f=t(r),m=\"x\"===o(r),u=[\"left\",\"top\"].includes(c)?-1:1,g=s&&m?-1:1,d=\"function\"==typeof i?i(e):i;let{mainAxis:p,crossAxis:h,alignmentAxis:y}=\"number\"==typeof d?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...d};return f&&\"number\"==typeof y&&(h=\"end\"===f?-1*y:y),m?{x:h*g,y:p*u}:{x:p*u,y:h*g}}(i,e);return{x:r+l.x,y:a+l.y,data:l}}}};function L(t){return\"x\"===t?\"y\":\"x\"}const k=function(t){return void 0===t&&(t={}),{name:\"shift\",options:t,async fn(e){const{x:i,y:r,placement:a}=e,{mainAxis:l=!0,crossAxis:c=!1,limiter:f={fn:t=>{let{x:e,y:n}=t;return{x:e,y:n}}},...u}=t,g={x:i,y:r},d=await s(e,u),p=o(n(a)),h=L(p);let y=g[p],x=g[h];if(l){const t=\"y\"===p?\"bottom\":\"right\";y=m(y+d[\"y\"===p?\"top\":\"left\"],y,y-d[t])}if(c){const t=\"y\"===h?\"bottom\":\"right\";x=m(x+d[\"y\"===h?\"top\":\"left\"],x,x-d[t])}const w=f.fn({...e,[p]:y,[h]:x});return{...w,data:{x:w.x-i,y:w.y-r}}}}},O=function(t){return void 0===t&&(t={}),{options:t,fn(e){const{x:i,y:r,placement:a,rects:l,middlewareData:s}=e,{offset:c=0,mainAxis:f=!0,crossAxis:m=!0}=t,u={x:i,y:r},g=o(a),d=L(g);let p=u[g],h=u[d];const y=\"function\"==typeof c?c(e):c,x=\"number\"==typeof y?{mainAxis:y,crossAxis:0}:{mainAxis:0,crossAxis:0,...y};if(f){const t=\"y\"===g?\"height\":\"width\",e=l.reference[g]-l.floating[t]+x.mainAxis,n=l.reference[g]+l.reference[t]-x.mainAxis;p<e?p=e:p>n&&(p=n)}if(m){var w,v;const t=\"y\"===g?\"width\":\"height\",e=[\"top\",\"left\"].includes(n(a)),o=l.reference[d]-l.floating[t]+(e&&(null==(w=s.offset)?void 0:w[d])||0)+(e?0:x.crossAxis),i=l.reference[d]+l.reference[t]+(e?0:(null==(v=s.offset)?void 0:v[d])||0)-(e?x.crossAxis:0);h<o?h=o:h>i&&(h=i)}return{[g]:p,[d]:h}}}},B=function(e){return void 0===e&&(e={}),{name:\"size\",options:e,async fn(i){const{placement:r,rects:a,platform:l,elements:m}=i,{apply:u=(()=>{}),...g}=e,d=await s(i,g),p=n(r),h=t(r),y=\"x\"===o(r),{width:x,height:w}=a.floating;let v,b;\"top\"===p||\"bottom\"===p?(v=p,b=h===(await(null==l.isRTL?void 0:l.isRTL(m.floating))?\"start\":\"end\")?\"left\":\"right\"):(b=p,v=\"end\"===h?\"top\":\"bottom\");const A=w-d[v],R=x-d[b],P=!i.middlewareData.shift;let E=A,T=R;if(y){const t=x-d.left-d.right;T=h||P?c(R,t):t}else{const t=w-d.top-d.bottom;E=h||P?c(A,t):t}if(P&&!h){const t=f(d.left,0),e=f(d.right,0),n=f(d.top,0),o=f(d.bottom,0);y?T=x-2*(0!==t||0!==e?t+e:f(d.left,d.right)):E=w-2*(0!==n||0!==o?n+o:f(d.top,d.bottom))}await u({...i,availableWidth:T,availableHeight:E});const D=await l.getDimensions(m.floating);return x!==D.width||w!==D.height?{reset:{rects:!0}}:{}}}};export{u as arrow,v as autoPlacement,r as computePosition,s as detectOverflow,b as flip,P as hide,T as inline,O as limitShift,D as offset,l as rectToClientRect,k as shift,B as size};\n","import{rectToClientRect as t,computePosition as e}from\"@floating-ui/core\";export{arrow,autoPlacement,detectOverflow,flip,hide,inline,limitShift,offset,shift,size}from\"@floating-ui/core\";function n(t){var e;return(null==(e=t.ownerDocument)?void 0:e.defaultView)||window}function o(t){return n(t).getComputedStyle(t)}function i(t){return t instanceof n(t).Node}function r(t){return i(t)?(t.nodeName||\"\").toLowerCase():\"\"}function l(t){return t instanceof n(t).HTMLElement}function c(t){return t instanceof n(t).Element}function s(t){if(\"undefined\"==typeof ShadowRoot)return!1;return t instanceof n(t).ShadowRoot||t instanceof ShadowRoot}function f(t){const{overflow:e,overflowX:n,overflowY:i,display:r}=o(t);return/auto|scroll|overlay|hidden|clip/.test(e+i+n)&&![\"inline\",\"contents\"].includes(r)}function u(t){return[\"table\",\"td\",\"th\"].includes(r(t))}function a(t){const e=d(),n=o(t);return\"none\"!==n.transform||\"none\"!==n.perspective||!e&&!!n.backdropFilter&&\"none\"!==n.backdropFilter||!e&&!!n.filter&&\"none\"!==n.filter||[\"transform\",\"perspective\",\"filter\"].some((t=>(n.willChange||\"\").includes(t)))||[\"paint\",\"layout\",\"strict\",\"content\"].some((t=>(n.contain||\"\").includes(t)))}function d(){return!(\"undefined\"==typeof CSS||!CSS.supports)&&CSS.supports(\"-webkit-backdrop-filter\",\"none\")}function h(t){return[\"html\",\"body\",\"#document\"].includes(r(t))}const p=Math.min,m=Math.max,g=Math.round;function y(t){const e=o(t);let n=parseFloat(e.width)||0,i=parseFloat(e.height)||0;const r=l(t),c=r?t.offsetWidth:n,s=r?t.offsetHeight:i,f=g(n)!==c||g(i)!==s;return f&&(n=c,i=s),{width:n,height:i,fallback:f}}function x(t){return c(t)?t:t.contextElement}const w={x:1,y:1};function v(t){const e=x(t);if(!l(e))return w;const n=e.getBoundingClientRect(),{width:o,height:i,fallback:r}=y(e);let c=(r?g(n.width):n.width)/o,s=(r?g(n.height):n.height)/i;return c&&Number.isFinite(c)||(c=1),s&&Number.isFinite(s)||(s=1),{x:c,y:s}}const b={x:0,y:0};function L(t,e,o){var i,r;if(void 0===e&&(e=!0),!d())return b;const l=t?n(t):window;return!o||e&&o!==l?b:{x:(null==(i=l.visualViewport)?void 0:i.offsetLeft)||0,y:(null==(r=l.visualViewport)?void 0:r.offsetTop)||0}}function E(e,o,i,r){void 0===o&&(o=!1),void 0===i&&(i=!1);const l=e.getBoundingClientRect(),s=x(e);let f=w;o&&(r?c(r)&&(f=v(r)):f=v(e));const u=L(s,i,r);let a=(l.left+u.x)/f.x,d=(l.top+u.y)/f.y,h=l.width/f.x,p=l.height/f.y;if(s){const t=n(s),e=r&&c(r)?n(r):r;let o=t.frameElement;for(;o&&r&&e!==t;){const t=v(o),e=o.getBoundingClientRect(),i=getComputedStyle(o);e.x+=(o.clientLeft+parseFloat(i.paddingLeft))*t.x,e.y+=(o.clientTop+parseFloat(i.paddingTop))*t.y,a*=t.x,d*=t.y,h*=t.x,p*=t.y,a+=e.x,d+=e.y,o=n(o).frameElement}}return t({width:h,height:p,x:a,y:d})}function R(t){return((i(t)?t.ownerDocument:t.document)||window.document).documentElement}function T(t){return c(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function S(t){return E(R(t)).left+T(t).scrollLeft}function C(t){if(\"html\"===r(t))return t;const e=t.assignedSlot||t.parentNode||s(t)&&t.host||R(t);return s(e)?e.host:e}function F(t){const e=C(t);return h(e)?e.ownerDocument.body:l(e)&&f(e)?e:F(e)}function W(t,e){var o;void 0===e&&(e=[]);const i=F(t),r=i===(null==(o=t.ownerDocument)?void 0:o.body),l=n(i);return r?e.concat(l,l.visualViewport||[],f(i)?i:[]):e.concat(i,W(i))}function D(e,i,r){let s;if(\"viewport\"===i)s=function(t,e){const o=n(t),i=R(t),r=o.visualViewport;let l=i.clientWidth,c=i.clientHeight,s=0,f=0;if(r){l=r.width,c=r.height;const t=d();(!t||t&&\"fixed\"===e)&&(s=r.offsetLeft,f=r.offsetTop)}return{width:l,height:c,x:s,y:f}}(e,r);else if(\"document\"===i)s=function(t){const e=R(t),n=T(t),i=t.ownerDocument.body,r=m(e.scrollWidth,e.clientWidth,i.scrollWidth,i.clientWidth),l=m(e.scrollHeight,e.clientHeight,i.scrollHeight,i.clientHeight);let c=-n.scrollLeft+S(t);const s=-n.scrollTop;return\"rtl\"===o(i).direction&&(c+=m(e.clientWidth,i.clientWidth)-r),{width:r,height:l,x:c,y:s}}(R(e));else if(c(i))s=function(t,e){const n=E(t,!0,\"fixed\"===e),o=n.top+t.clientTop,i=n.left+t.clientLeft,r=l(t)?v(t):{x:1,y:1};return{width:t.clientWidth*r.x,height:t.clientHeight*r.y,x:i*r.x,y:o*r.y}}(i,r);else{const t=L(e);s={...i,x:i.x-t.x,y:i.y-t.y}}return t(s)}function H(t,e){const n=C(t);return!(n===e||!c(n)||h(n))&&(\"fixed\"===o(n).position||H(n,e))}function O(t,e){return l(t)&&\"fixed\"!==o(t).position?e?e(t):t.offsetParent:null}function P(t,e){const i=n(t);if(!l(t))return i;let c=O(t,e);for(;c&&u(c)&&\"static\"===o(c).position;)c=O(c,e);return c&&(\"html\"===r(c)||\"body\"===r(c)&&\"static\"===o(c).position&&!a(c))?i:c||function(t){let e=C(t);for(;l(e)&&!h(e);){if(a(e))return e;e=C(e)}return null}(t)||i}function V(t,e,n){const o=l(e),i=R(e),c=\"fixed\"===n,s=E(t,!0,c,e);let u={scrollLeft:0,scrollTop:0};const a={x:0,y:0};if(o||!o&&!c)if((\"body\"!==r(e)||f(i))&&(u=T(e)),l(e)){const t=E(e,!0,c,e);a.x=t.x+e.clientLeft,a.y=t.y+e.clientTop}else i&&(a.x=S(i));return{x:s.left+u.scrollLeft-a.x,y:s.top+u.scrollTop-a.y,width:s.width,height:s.height}}const k={getClippingRect:function(t){let{element:e,boundary:n,rootBoundary:i,strategy:l}=t;const s=\"clippingAncestors\"===n?function(t,e){const n=e.get(t);if(n)return n;let i=W(t).filter((t=>c(t)&&\"body\"!==r(t))),l=null;const s=\"fixed\"===o(t).position;let u=s?C(t):t;for(;c(u)&&!h(u);){const e=o(u),n=a(u);n||\"fixed\"!==e.position||(l=null),(s?!n&&!l:!n&&\"static\"===e.position&&l&&[\"absolute\",\"fixed\"].includes(l.position)||f(u)&&!n&&H(t,u))?i=i.filter((t=>t!==u)):l=e,u=C(u)}return e.set(t,i),i}(e,this._c):[].concat(n),u=[...s,i],d=u[0],g=u.reduce(((t,n)=>{const o=D(e,n,l);return t.top=m(o.top,t.top),t.right=p(o.right,t.right),t.bottom=p(o.bottom,t.bottom),t.left=m(o.left,t.left),t}),D(e,d,l));return{width:g.right-g.left,height:g.bottom-g.top,x:g.left,y:g.top}},convertOffsetParentRelativeRectToViewportRelativeRect:function(t){let{rect:e,offsetParent:n,strategy:o}=t;const i=l(n),c=R(n);if(n===c)return e;let s={scrollLeft:0,scrollTop:0},u={x:1,y:1};const a={x:0,y:0};if((i||!i&&\"fixed\"!==o)&&((\"body\"!==r(n)||f(c))&&(s=T(n)),l(n))){const t=E(n);u=v(n),a.x=t.x+n.clientLeft,a.y=t.y+n.clientTop}return{width:e.width*u.x,height:e.height*u.y,x:e.x*u.x-s.scrollLeft*u.x+a.x,y:e.y*u.y-s.scrollTop*u.y+a.y}},isElement:c,getDimensions:function(t){return y(t)},getOffsetParent:P,getDocumentElement:R,getScale:v,async getElementRects(t){let{reference:e,floating:n,strategy:o}=t;const i=this.getOffsetParent||P,r=this.getDimensions;return{reference:V(e,await i(n),o),floating:{x:0,y:0,...await r(n)}}},getClientRects:t=>Array.from(t.getClientRects()),isRTL:t=>\"rtl\"===o(t).direction};function z(t,e,n,o){void 0===o&&(o={});const{ancestorScroll:i=!0,ancestorResize:r=!0,elementResize:l=!0,animationFrame:s=!1}=o,f=i||r?[...c(t)?W(t):t.contextElement?W(t.contextElement):[],...W(e)]:[];f.forEach((t=>{const e=!c(t)&&t.toString().includes(\"V\");!i||s&&!e||t.addEventListener(\"scroll\",n,{passive:!0}),r&&t.addEventListener(\"resize\",n)}));let u,a=null;l&&(a=new ResizeObserver((()=>{n()})),c(t)&&!s&&a.observe(t),c(t)||!t.contextElement||s||a.observe(t.contextElement),a.observe(e));let d=s?E(t):null;return s&&function e(){const o=E(t);!d||o.x===d.x&&o.y===d.y&&o.width===d.width&&o.height===d.height||n();d=o,u=requestAnimationFrame(e)}(),n(),()=>{var t;f.forEach((t=>{i&&t.removeEventListener(\"scroll\",n),r&&t.removeEventListener(\"resize\",n)})),null==(t=a)||t.disconnect(),a=null,s&&cancelAnimationFrame(u)}}const M=(t,n,o)=>{const i=new Map,r={platform:k,...o},l={...r.platform,_c:i};return e(t,n,{...r,platform:l})};export{z as autoUpdate,M as computePosition,W as getOverflowAncestors,k as platform};\n","import { arrow as arrow$1, computePosition } from '@floating-ui/dom';\nexport { autoPlacement, autoUpdate, computePosition, detectOverflow, flip, getOverflowAncestors, hide, inline, limitShift, offset, platform, shift, size } from '@floating-ui/dom';\nimport * as React from 'react';\nimport { useLayoutEffect, useEffect } from 'react';\nimport * as ReactDOM from 'react-dom';\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => {\n  const {\n    element,\n    padding\n  } = options;\n  function isRef(value) {\n    return {}.hasOwnProperty.call(value, 'current');\n  }\n  return {\n    name: 'arrow',\n    options,\n    fn(args) {\n      if (element && isRef(element)) {\n        if (element.current != null) {\n          return arrow$1({\n            element: element.current,\n            padding\n          }).fn(args);\n        }\n        return {};\n      } else if (element) {\n        return arrow$1({\n          element,\n          padding\n        }).fn(args);\n      }\n      return {};\n    }\n  };\n};\n\nvar index = typeof document !== 'undefined' ? useLayoutEffect : useEffect;\n\n// Fork of `fast-deep-equal` that only does the comparisons we need and compares\n// functions\nfunction deepEqual(a, b) {\n  if (a === b) {\n    return true;\n  }\n  if (typeof a !== typeof b) {\n    return false;\n  }\n  if (typeof a === 'function' && a.toString() === b.toString()) {\n    return true;\n  }\n  let length, i, keys;\n  if (a && b && typeof a == 'object') {\n    if (Array.isArray(a)) {\n      length = a.length;\n      if (length != b.length) return false;\n      for (i = length; i-- !== 0;) {\n        if (!deepEqual(a[i], b[i])) {\n          return false;\n        }\n      }\n      return true;\n    }\n    keys = Object.keys(a);\n    length = keys.length;\n    if (length !== Object.keys(b).length) {\n      return false;\n    }\n    for (i = length; i-- !== 0;) {\n      if (!{}.hasOwnProperty.call(b, keys[i])) {\n        return false;\n      }\n    }\n    for (i = length; i-- !== 0;) {\n      const key = keys[i];\n      if (key === '_owner' && a.$$typeof) {\n        continue;\n      }\n      if (!deepEqual(a[key], b[key])) {\n        return false;\n      }\n    }\n    return true;\n  }\n  return a !== a && b !== b;\n}\n\nfunction getDPR(element) {\n  if (typeof window === 'undefined') {\n    return 1;\n  }\n  const win = element.ownerDocument.defaultView || window;\n  return win.devicePixelRatio || 1;\n}\n\nfunction roundByDPR(element, value) {\n  const dpr = getDPR(element);\n  return Math.round(value * dpr) / dpr;\n}\n\nfunction useLatestRef(value) {\n  const ref = React.useRef(value);\n  index(() => {\n    ref.current = value;\n  });\n  return ref;\n}\n\n/**\n * Provides data to position a floating element.\n * @see https://floating-ui.com/docs/react\n */\nfunction useFloating(options) {\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    placement = 'bottom',\n    strategy = 'absolute',\n    middleware = [],\n    platform,\n    elements: {\n      reference: externalReference,\n      floating: externalFloating\n    } = {},\n    transform = true,\n    whileElementsMounted,\n    open\n  } = options;\n  const [data, setData] = React.useState({\n    x: 0,\n    y: 0,\n    strategy,\n    placement,\n    middlewareData: {},\n    isPositioned: false\n  });\n  const [latestMiddleware, setLatestMiddleware] = React.useState(middleware);\n  if (!deepEqual(latestMiddleware, middleware)) {\n    setLatestMiddleware(middleware);\n  }\n  const [_reference, _setReference] = React.useState(null);\n  const [_floating, _setFloating] = React.useState(null);\n  const setReference = React.useCallback(node => {\n    if (node != referenceRef.current) {\n      referenceRef.current = node;\n      _setReference(node);\n    }\n  }, [_setReference]);\n  const setFloating = React.useCallback(node => {\n    if (node !== floatingRef.current) {\n      floatingRef.current = node;\n      _setFloating(node);\n    }\n  }, [_setFloating]);\n  const referenceEl = externalReference || _reference;\n  const floatingEl = externalFloating || _floating;\n  const referenceRef = React.useRef(null);\n  const floatingRef = React.useRef(null);\n  const dataRef = React.useRef(data);\n  const whileElementsMountedRef = useLatestRef(whileElementsMounted);\n  const platformRef = useLatestRef(platform);\n  const update = React.useCallback(() => {\n    if (!referenceRef.current || !floatingRef.current) {\n      return;\n    }\n    const config = {\n      placement,\n      strategy,\n      middleware: latestMiddleware\n    };\n    if (platformRef.current) {\n      config.platform = platformRef.current;\n    }\n    computePosition(referenceRef.current, floatingRef.current, config).then(data => {\n      const fullData = {\n        ...data,\n        isPositioned: true\n      };\n      if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {\n        dataRef.current = fullData;\n        ReactDOM.flushSync(() => {\n          setData(fullData);\n        });\n      }\n    });\n  }, [latestMiddleware, placement, strategy, platformRef]);\n  index(() => {\n    if (open === false && dataRef.current.isPositioned) {\n      dataRef.current.isPositioned = false;\n      setData(data => ({\n        ...data,\n        isPositioned: false\n      }));\n    }\n  }, [open]);\n  const isMountedRef = React.useRef(false);\n  index(() => {\n    isMountedRef.current = true;\n    return () => {\n      isMountedRef.current = false;\n    };\n  }, []);\n  index(() => {\n    if (referenceEl) referenceRef.current = referenceEl;\n    if (floatingEl) floatingRef.current = floatingEl;\n    if (referenceEl && floatingEl) {\n      if (whileElementsMountedRef.current) {\n        return whileElementsMountedRef.current(referenceEl, floatingEl, update);\n      } else {\n        update();\n      }\n    }\n  }, [referenceEl, floatingEl, update, whileElementsMountedRef]);\n  const refs = React.useMemo(() => ({\n    reference: referenceRef,\n    floating: floatingRef,\n    setReference,\n    setFloating\n  }), [setReference, setFloating]);\n  const elements = React.useMemo(() => ({\n    reference: referenceEl,\n    floating: floatingEl\n  }), [referenceEl, floatingEl]);\n  const floatingStyles = React.useMemo(() => {\n    const initialStyles = {\n      position: strategy,\n      left: 0,\n      top: 0\n    };\n    if (!elements.floating) {\n      return initialStyles;\n    }\n    const x = roundByDPR(elements.floating, data.x);\n    const y = roundByDPR(elements.floating, data.y);\n    if (transform) {\n      return {\n        ...initialStyles,\n        transform: \"translate(\" + x + \"px, \" + y + \"px)\",\n        ...(getDPR(elements.floating) >= 1.5 && {\n          willChange: 'transform'\n        })\n      };\n    }\n    return {\n      position: strategy,\n      left: x,\n      top: y\n    };\n  }, [strategy, transform, elements.floating, data.x, data.y]);\n  return React.useMemo(() => ({\n    ...data,\n    update,\n    refs,\n    elements,\n    floatingStyles\n  }), [data, update, refs, elements, floatingStyles]);\n}\n\nexport { arrow, useFloating };\n","import $kY93V$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {useState as $kY93V$useState, createElement as $kY93V$createElement, forwardRef as $kY93V$forwardRef, useRef as $kY93V$useRef, useEffect as $kY93V$useEffect} from \"react\";\nimport {useFloating as $kY93V$useFloating, autoUpdate as $kY93V$autoUpdate, offset as $kY93V$offset, shift as $kY93V$shift, limitShift as $kY93V$limitShift, flip as $kY93V$flip, size as $kY93V$size, arrow as $kY93V$arrow, hide as $kY93V$hide} from \"@floating-ui/react-dom\";\nimport {Root as $kY93V$Root} from \"@radix-ui/react-arrow\";\nimport {useComposedRefs as $kY93V$useComposedRefs} from \"@radix-ui/react-compose-refs\";\nimport {createContextScope as $kY93V$createContextScope} from \"@radix-ui/react-context\";\nimport {Primitive as $kY93V$Primitive} from \"@radix-ui/react-primitive\";\nimport {useCallbackRef as $kY93V$useCallbackRef} from \"@radix-ui/react-use-callback-ref\";\nimport {useLayoutEffect as $kY93V$useLayoutEffect} from \"@radix-ui/react-use-layout-effect\";\nimport {useSize as $kY93V$useSize} from \"@radix-ui/react-use-size\";\n\n\n\n\n\n\n\n\n\n\n\nconst $cf1ac5d9fe0e8206$export$36f0086da09c4b9f = [\n    'top',\n    'right',\n    'bottom',\n    'left'\n];\nconst $cf1ac5d9fe0e8206$export$3671ffab7b302fc9 = [\n    'start',\n    'center',\n    'end'\n];\n/* -------------------------------------------------------------------------------------------------\n * Popper\n * -----------------------------------------------------------------------------------------------*/ const $cf1ac5d9fe0e8206$var$POPPER_NAME = 'Popper';\nconst [$cf1ac5d9fe0e8206$var$createPopperContext, $cf1ac5d9fe0e8206$export$722aac194ae923] = $kY93V$createContextScope($cf1ac5d9fe0e8206$var$POPPER_NAME);\nconst [$cf1ac5d9fe0e8206$var$PopperProvider, $cf1ac5d9fe0e8206$var$usePopperContext] = $cf1ac5d9fe0e8206$var$createPopperContext($cf1ac5d9fe0e8206$var$POPPER_NAME);\nconst $cf1ac5d9fe0e8206$export$badac9ada3a0bdf9 = (props)=>{\n    const { __scopePopper: __scopePopper , children: children  } = props;\n    const [anchor, setAnchor] = $kY93V$useState(null);\n    return /*#__PURE__*/ $kY93V$createElement($cf1ac5d9fe0e8206$var$PopperProvider, {\n        scope: __scopePopper,\n        anchor: anchor,\n        onAnchorChange: setAnchor\n    }, children);\n};\n/*#__PURE__*/ Object.assign($cf1ac5d9fe0e8206$export$badac9ada3a0bdf9, {\n    displayName: $cf1ac5d9fe0e8206$var$POPPER_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * PopperAnchor\n * -----------------------------------------------------------------------------------------------*/ const $cf1ac5d9fe0e8206$var$ANCHOR_NAME = 'PopperAnchor';\nconst $cf1ac5d9fe0e8206$export$ecd4e1ccab6ed6d = /*#__PURE__*/ $kY93V$forwardRef((props, forwardedRef)=>{\n    const { __scopePopper: __scopePopper , virtualRef: virtualRef , ...anchorProps } = props;\n    const context = $cf1ac5d9fe0e8206$var$usePopperContext($cf1ac5d9fe0e8206$var$ANCHOR_NAME, __scopePopper);\n    const ref = $kY93V$useRef(null);\n    const composedRefs = $kY93V$useComposedRefs(forwardedRef, ref);\n    $kY93V$useEffect(()=>{\n        // Consumer can anchor the popper to something that isn't\n        // a DOM node e.g. pointer position, so we override the\n        // `anchorRef` with their virtual ref in this case.\n        context.onAnchorChange((virtualRef === null || virtualRef === void 0 ? void 0 : virtualRef.current) || ref.current);\n    });\n    return virtualRef ? null : /*#__PURE__*/ $kY93V$createElement($kY93V$Primitive.div, $kY93V$babelruntimehelpersesmextends({}, anchorProps, {\n        ref: composedRefs\n    }));\n});\n/*#__PURE__*/ Object.assign($cf1ac5d9fe0e8206$export$ecd4e1ccab6ed6d, {\n    displayName: $cf1ac5d9fe0e8206$var$ANCHOR_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * PopperContent\n * -----------------------------------------------------------------------------------------------*/ const $cf1ac5d9fe0e8206$var$CONTENT_NAME = 'PopperContent';\nconst [$cf1ac5d9fe0e8206$var$PopperContentProvider, $cf1ac5d9fe0e8206$var$useContentContext] = $cf1ac5d9fe0e8206$var$createPopperContext($cf1ac5d9fe0e8206$var$CONTENT_NAME);\nconst $cf1ac5d9fe0e8206$export$bc4ae5855d3c4fc = /*#__PURE__*/ $kY93V$forwardRef((props, forwardedRef)=>{\n    var _arrowSize$width, _arrowSize$height, _middlewareData$arrow, _middlewareData$arrow2, _middlewareData$arrow3, _middlewareData$trans, _middlewareData$trans2, _middlewareData$hide;\n    const { __scopePopper: __scopePopper , side: side = 'bottom' , sideOffset: sideOffset = 0 , align: align = 'center' , alignOffset: alignOffset = 0 , arrowPadding: arrowPadding = 0 , collisionBoundary: collisionBoundary = [] , collisionPadding: collisionPaddingProp = 0 , sticky: sticky = 'partial' , hideWhenDetached: hideWhenDetached = false , avoidCollisions: avoidCollisions = true , onPlaced: onPlaced , ...contentProps } = props;\n    const context = $cf1ac5d9fe0e8206$var$usePopperContext($cf1ac5d9fe0e8206$var$CONTENT_NAME, __scopePopper);\n    const [content, setContent] = $kY93V$useState(null);\n    const composedRefs = $kY93V$useComposedRefs(forwardedRef, (node)=>setContent(node)\n    );\n    const [arrow, setArrow] = $kY93V$useState(null);\n    const arrowSize = $kY93V$useSize(arrow);\n    const arrowWidth = (_arrowSize$width = arrowSize === null || arrowSize === void 0 ? void 0 : arrowSize.width) !== null && _arrowSize$width !== void 0 ? _arrowSize$width : 0;\n    const arrowHeight = (_arrowSize$height = arrowSize === null || arrowSize === void 0 ? void 0 : arrowSize.height) !== null && _arrowSize$height !== void 0 ? _arrowSize$height : 0;\n    const desiredPlacement = side + (align !== 'center' ? '-' + align : '');\n    const collisionPadding = typeof collisionPaddingProp === 'number' ? collisionPaddingProp : {\n        top: 0,\n        right: 0,\n        bottom: 0,\n        left: 0,\n        ...collisionPaddingProp\n    };\n    const boundary = Array.isArray(collisionBoundary) ? collisionBoundary : [\n        collisionBoundary\n    ];\n    const hasExplicitBoundaries = boundary.length > 0;\n    const detectOverflowOptions = {\n        padding: collisionPadding,\n        boundary: boundary.filter($cf1ac5d9fe0e8206$var$isNotNull),\n        // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries\n        altBoundary: hasExplicitBoundaries\n    };\n    const { refs: refs , floatingStyles: floatingStyles , placement: placement , isPositioned: isPositioned , middlewareData: middlewareData  } = $kY93V$useFloating({\n        // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues\n        strategy: 'fixed',\n        placement: desiredPlacement,\n        whileElementsMounted: $kY93V$autoUpdate,\n        elements: {\n            reference: context.anchor\n        },\n        middleware: [\n            $kY93V$offset({\n                mainAxis: sideOffset + arrowHeight,\n                alignmentAxis: alignOffset\n            }),\n            avoidCollisions && $kY93V$shift({\n                mainAxis: true,\n                crossAxis: false,\n                limiter: sticky === 'partial' ? $kY93V$limitShift() : undefined,\n                ...detectOverflowOptions\n            }),\n            avoidCollisions && $kY93V$flip({\n                ...detectOverflowOptions\n            }),\n            $kY93V$size({\n                ...detectOverflowOptions,\n                apply: ({ elements: elements , rects: rects , availableWidth: availableWidth , availableHeight: availableHeight  })=>{\n                    const { width: anchorWidth , height: anchorHeight  } = rects.reference;\n                    const contentStyle = elements.floating.style;\n                    contentStyle.setProperty('--radix-popper-available-width', `${availableWidth}px`);\n                    contentStyle.setProperty('--radix-popper-available-height', `${availableHeight}px`);\n                    contentStyle.setProperty('--radix-popper-anchor-width', `${anchorWidth}px`);\n                    contentStyle.setProperty('--radix-popper-anchor-height', `${anchorHeight}px`);\n                }\n            }),\n            arrow && $kY93V$arrow({\n                element: arrow,\n                padding: arrowPadding\n            }),\n            $cf1ac5d9fe0e8206$var$transformOrigin({\n                arrowWidth: arrowWidth,\n                arrowHeight: arrowHeight\n            }),\n            hideWhenDetached && $kY93V$hide({\n                strategy: 'referenceHidden'\n            })\n        ]\n    });\n    const [placedSide, placedAlign] = $cf1ac5d9fe0e8206$var$getSideAndAlignFromPlacement(placement);\n    const handlePlaced = $kY93V$useCallbackRef(onPlaced);\n    $kY93V$useLayoutEffect(()=>{\n        if (isPositioned) handlePlaced === null || handlePlaced === void 0 || handlePlaced();\n    }, [\n        isPositioned,\n        handlePlaced\n    ]);\n    const arrowX = (_middlewareData$arrow = middlewareData.arrow) === null || _middlewareData$arrow === void 0 ? void 0 : _middlewareData$arrow.x;\n    const arrowY = (_middlewareData$arrow2 = middlewareData.arrow) === null || _middlewareData$arrow2 === void 0 ? void 0 : _middlewareData$arrow2.y;\n    const cannotCenterArrow = ((_middlewareData$arrow3 = middlewareData.arrow) === null || _middlewareData$arrow3 === void 0 ? void 0 : _middlewareData$arrow3.centerOffset) !== 0;\n    const [contentZIndex, setContentZIndex] = $kY93V$useState();\n    $kY93V$useLayoutEffect(()=>{\n        if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n    }, [\n        content\n    ]);\n    return /*#__PURE__*/ $kY93V$createElement(\"div\", {\n        ref: refs.setFloating,\n        \"data-radix-popper-content-wrapper\": \"\",\n        style: {\n            ...floatingStyles,\n            transform: isPositioned ? floatingStyles.transform : 'translate(0, -200%)',\n            // keep off the page when measuring\n            minWidth: 'max-content',\n            zIndex: contentZIndex,\n            ['--radix-popper-transform-origin']: [\n                (_middlewareData$trans = middlewareData.transformOrigin) === null || _middlewareData$trans === void 0 ? void 0 : _middlewareData$trans.x,\n                (_middlewareData$trans2 = middlewareData.transformOrigin) === null || _middlewareData$trans2 === void 0 ? void 0 : _middlewareData$trans2.y\n            ].join(' ')\n        } // Floating UI interally calculates logical alignment based the `dir` attribute on\n        ,\n        dir: props.dir\n    }, /*#__PURE__*/ $kY93V$createElement($cf1ac5d9fe0e8206$var$PopperContentProvider, {\n        scope: __scopePopper,\n        placedSide: placedSide,\n        onArrowChange: setArrow,\n        arrowX: arrowX,\n        arrowY: arrowY,\n        shouldHideArrow: cannotCenterArrow\n    }, /*#__PURE__*/ $kY93V$createElement($kY93V$Primitive.div, $kY93V$babelruntimehelpersesmextends({\n        \"data-side\": placedSide,\n        \"data-align\": placedAlign\n    }, contentProps, {\n        ref: composedRefs,\n        style: {\n            ...contentProps.style,\n            // if the PopperContent hasn't been placed yet (not all measurements done)\n            // we prevent animations so that users's animation don't kick in too early referring wrong sides\n            animation: !isPositioned ? 'none' : undefined,\n            // hide the content if using the hide middleware and should be hidden\n            opacity: (_middlewareData$hide = middlewareData.hide) !== null && _middlewareData$hide !== void 0 && _middlewareData$hide.referenceHidden ? 0 : undefined\n        }\n    }))));\n});\n/*#__PURE__*/ Object.assign($cf1ac5d9fe0e8206$export$bc4ae5855d3c4fc, {\n    displayName: $cf1ac5d9fe0e8206$var$CONTENT_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * PopperArrow\n * -----------------------------------------------------------------------------------------------*/ const $cf1ac5d9fe0e8206$var$ARROW_NAME = 'PopperArrow';\nconst $cf1ac5d9fe0e8206$var$OPPOSITE_SIDE = {\n    top: 'bottom',\n    right: 'left',\n    bottom: 'top',\n    left: 'right'\n};\nconst $cf1ac5d9fe0e8206$export$79d62cd4e10a3fd0 = /*#__PURE__*/ $kY93V$forwardRef(function $cf1ac5d9fe0e8206$export$79d62cd4e10a3fd0(props, forwardedRef) {\n    const { __scopePopper: __scopePopper , ...arrowProps } = props;\n    const contentContext = $cf1ac5d9fe0e8206$var$useContentContext($cf1ac5d9fe0e8206$var$ARROW_NAME, __scopePopper);\n    const baseSide = $cf1ac5d9fe0e8206$var$OPPOSITE_SIDE[contentContext.placedSide];\n    return(/*#__PURE__*/ // we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)\n    // doesn't report size as we'd expect on SVG elements.\n    // it reports their bounding box which is effectively the largest path inside the SVG.\n    $kY93V$createElement(\"span\", {\n        ref: contentContext.onArrowChange,\n        style: {\n            position: 'absolute',\n            left: contentContext.arrowX,\n            top: contentContext.arrowY,\n            [baseSide]: 0,\n            transformOrigin: {\n                top: '',\n                right: '0 0',\n                bottom: 'center 0',\n                left: '100% 0'\n            }[contentContext.placedSide],\n            transform: {\n                top: 'translateY(100%)',\n                right: 'translateY(50%) rotate(90deg) translateX(-50%)',\n                bottom: `rotate(180deg)`,\n                left: 'translateY(50%) rotate(-90deg) translateX(50%)'\n            }[contentContext.placedSide],\n            visibility: contentContext.shouldHideArrow ? 'hidden' : undefined\n        }\n    }, /*#__PURE__*/ $kY93V$createElement($kY93V$Root, $kY93V$babelruntimehelpersesmextends({}, arrowProps, {\n        ref: forwardedRef,\n        style: {\n            ...arrowProps.style,\n            // ensures the element can be measured correctly (mostly for if SVG)\n            display: 'block'\n        }\n    }))));\n});\n/*#__PURE__*/ Object.assign($cf1ac5d9fe0e8206$export$79d62cd4e10a3fd0, {\n    displayName: $cf1ac5d9fe0e8206$var$ARROW_NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ function $cf1ac5d9fe0e8206$var$isNotNull(value) {\n    return value !== null;\n}\nconst $cf1ac5d9fe0e8206$var$transformOrigin = (options)=>({\n        name: 'transformOrigin',\n        options: options,\n        fn (data) {\n            var _middlewareData$arrow4, _middlewareData$arrow5, _middlewareData$arrow6, _middlewareData$arrow7, _middlewareData$arrow8;\n            const { placement: placement , rects: rects , middlewareData: middlewareData  } = data;\n            const cannotCenterArrow = ((_middlewareData$arrow4 = middlewareData.arrow) === null || _middlewareData$arrow4 === void 0 ? void 0 : _middlewareData$arrow4.centerOffset) !== 0;\n            const isArrowHidden = cannotCenterArrow;\n            const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;\n            const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;\n            const [placedSide, placedAlign] = $cf1ac5d9fe0e8206$var$getSideAndAlignFromPlacement(placement);\n            const noArrowAlign = {\n                start: '0%',\n                center: '50%',\n                end: '100%'\n            }[placedAlign];\n            const arrowXCenter = ((_middlewareData$arrow5 = (_middlewareData$arrow6 = middlewareData.arrow) === null || _middlewareData$arrow6 === void 0 ? void 0 : _middlewareData$arrow6.x) !== null && _middlewareData$arrow5 !== void 0 ? _middlewareData$arrow5 : 0) + arrowWidth / 2;\n            const arrowYCenter = ((_middlewareData$arrow7 = (_middlewareData$arrow8 = middlewareData.arrow) === null || _middlewareData$arrow8 === void 0 ? void 0 : _middlewareData$arrow8.y) !== null && _middlewareData$arrow7 !== void 0 ? _middlewareData$arrow7 : 0) + arrowHeight / 2;\n            let x = '';\n            let y = '';\n            if (placedSide === 'bottom') {\n                x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n                y = `${-arrowHeight}px`;\n            } else if (placedSide === 'top') {\n                x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n                y = `${rects.floating.height + arrowHeight}px`;\n            } else if (placedSide === 'right') {\n                x = `${-arrowHeight}px`;\n                y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n            } else if (placedSide === 'left') {\n                x = `${rects.floating.width + arrowHeight}px`;\n                y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n            }\n            return {\n                data: {\n                    x: x,\n                    y: y\n                }\n            };\n        }\n    })\n;\nfunction $cf1ac5d9fe0e8206$var$getSideAndAlignFromPlacement(placement) {\n    const [side, align = 'center'] = placement.split('-');\n    return [\n        side,\n        align\n    ];\n}\nconst $cf1ac5d9fe0e8206$export$be92b6f5f03c0fe9 = $cf1ac5d9fe0e8206$export$badac9ada3a0bdf9;\nconst $cf1ac5d9fe0e8206$export$b688253958b8dfe7 = $cf1ac5d9fe0e8206$export$ecd4e1ccab6ed6d;\nconst $cf1ac5d9fe0e8206$export$7c6e2c02157bb7d2 = $cf1ac5d9fe0e8206$export$bc4ae5855d3c4fc;\nconst $cf1ac5d9fe0e8206$export$21b07c8f274aebd5 = $cf1ac5d9fe0e8206$export$79d62cd4e10a3fd0;\n\n\n\n\nexport {$cf1ac5d9fe0e8206$export$722aac194ae923 as createPopperScope, $cf1ac5d9fe0e8206$export$badac9ada3a0bdf9 as Popper, $cf1ac5d9fe0e8206$export$ecd4e1ccab6ed6d as PopperAnchor, $cf1ac5d9fe0e8206$export$bc4ae5855d3c4fc as PopperContent, $cf1ac5d9fe0e8206$export$79d62cd4e10a3fd0 as PopperArrow, $cf1ac5d9fe0e8206$export$be92b6f5f03c0fe9 as Root, $cf1ac5d9fe0e8206$export$b688253958b8dfe7 as Anchor, $cf1ac5d9fe0e8206$export$7c6e2c02157bb7d2 as Content, $cf1ac5d9fe0e8206$export$21b07c8f274aebd5 as Arrow, $cf1ac5d9fe0e8206$export$36f0086da09c4b9f as SIDE_OPTIONS, $cf1ac5d9fe0e8206$export$3671ffab7b302fc9 as ALIGN_OPTIONS};\n//# sourceMappingURL=index.mjs.map\n","import {useState as $9gyGR$useState} from \"react\";\nimport {useLayoutEffect as $9gyGR$useLayoutEffect} from \"@radix-ui/react-use-layout-effect\";\n\n\n\nfunction $db6c3485150b8e66$export$1ab7ae714698c4b8(element) {\n    const [size, setSize] = $9gyGR$useState(undefined);\n    $9gyGR$useLayoutEffect(()=>{\n        if (element) {\n            // provide size as early as possible\n            setSize({\n                width: element.offsetWidth,\n                height: element.offsetHeight\n            });\n            const resizeObserver = new ResizeObserver((entries)=>{\n                if (!Array.isArray(entries)) return;\n                 // Since we only observe the one element, we don't need to loop over the\n                // array\n                if (!entries.length) return;\n                const entry = entries[0];\n                let width;\n                let height;\n                if ('borderBoxSize' in entry) {\n                    const borderSizeEntry = entry['borderBoxSize']; // iron out differences between browsers\n                    const borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;\n                    width = borderSize['inlineSize'];\n                    height = borderSize['blockSize'];\n                } else {\n                    // for browsers that don't support `borderBoxSize`\n                    // we calculate it ourselves to get the correct border box.\n                    width = element.offsetWidth;\n                    height = element.offsetHeight;\n                }\n                setSize({\n                    width: width,\n                    height: height\n                });\n            });\n            resizeObserver.observe(element, {\n                box: 'border-box'\n            });\n            return ()=>resizeObserver.unobserve(element)\n            ;\n        } else // We only want to reset to `undefined` when the element becomes `null`,\n        // not if it changes to another element.\n        setSize(undefined);\n    }, [\n        element\n    ]);\n    return size;\n}\n\n\n\n\nexport {$db6c3485150b8e66$export$1ab7ae714698c4b8 as useSize};\n//# sourceMappingURL=index.mjs.map\n","import $kVwnw$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {forwardRef as $kVwnw$forwardRef, createElement as $kVwnw$createElement} from \"react\";\nimport {Primitive as $kVwnw$Primitive} from \"@radix-ui/react-primitive\";\n\n\n\n\n/* -------------------------------------------------------------------------------------------------\n * VisuallyHidden\n * -----------------------------------------------------------------------------------------------*/ const $ea1ef594cf570d83$var$NAME = 'VisuallyHidden';\nconst $ea1ef594cf570d83$export$439d29a4e110a164 = /*#__PURE__*/ $kVwnw$forwardRef((props, forwardedRef)=>{\n    return /*#__PURE__*/ $kVwnw$createElement($kVwnw$Primitive.span, $kVwnw$babelruntimehelpersesmextends({}, props, {\n        ref: forwardedRef,\n        style: {\n            // See: https://github.com/twbs/bootstrap/blob/master/scss/mixins/_screen-reader.scss\n            position: 'absolute',\n            border: 0,\n            width: 1,\n            height: 1,\n            padding: 0,\n            margin: -1,\n            overflow: 'hidden',\n            clip: 'rect(0, 0, 0, 0)',\n            whiteSpace: 'nowrap',\n            wordWrap: 'normal',\n            ...props.style\n        }\n    }));\n});\n/*#__PURE__*/ Object.assign($ea1ef594cf570d83$export$439d29a4e110a164, {\n    displayName: $ea1ef594cf570d83$var$NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ const $ea1ef594cf570d83$export$be92b6f5f03c0fe9 = $ea1ef594cf570d83$export$439d29a4e110a164;\n\n\n\n\nexport {$ea1ef594cf570d83$export$439d29a4e110a164 as VisuallyHidden, $ea1ef594cf570d83$export$be92b6f5f03c0fe9 as Root};\n//# sourceMappingURL=index.mjs.map\n","import $01b9c$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {useState as $01b9c$useState, useRef as $01b9c$useRef, createElement as $01b9c$createElement, useCallback as $01b9c$useCallback, forwardRef as $01b9c$forwardRef, useEffect as $01b9c$useEffect, Fragment as $01b9c$Fragment, useMemo as $01b9c$useMemo} from \"react\";\nimport {createPortal as $01b9c$createPortal} from \"react-dom\";\nimport {clamp as $01b9c$clamp} from \"@radix-ui/number\";\nimport {composeEventHandlers as $01b9c$composeEventHandlers} from \"@radix-ui/primitive\";\nimport {createCollection as $01b9c$createCollection} from \"@radix-ui/react-collection\";\nimport {useComposedRefs as $01b9c$useComposedRefs} from \"@radix-ui/react-compose-refs\";\nimport {createContextScope as $01b9c$createContextScope} from \"@radix-ui/react-context\";\nimport {useDirection as $01b9c$useDirection} from \"@radix-ui/react-direction\";\nimport {DismissableLayer as $01b9c$DismissableLayer} from \"@radix-ui/react-dismissable-layer\";\nimport {useFocusGuards as $01b9c$useFocusGuards} from \"@radix-ui/react-focus-guards\";\nimport {FocusScope as $01b9c$FocusScope} from \"@radix-ui/react-focus-scope\";\nimport {useId as $01b9c$useId} from \"@radix-ui/react-id\";\nimport {createPopperScope as $01b9c$createPopperScope, Root as $01b9c$Root, Anchor as $01b9c$Anchor, Content as $01b9c$Content, Arrow as $01b9c$Arrow} from \"@radix-ui/react-popper\";\nimport {Portal as $01b9c$Portal} from \"@radix-ui/react-portal\";\nimport {Primitive as $01b9c$Primitive} from \"@radix-ui/react-primitive\";\nimport {Slot as $01b9c$Slot} from \"@radix-ui/react-slot\";\nimport {useCallbackRef as $01b9c$useCallbackRef} from \"@radix-ui/react-use-callback-ref\";\nimport {useControllableState as $01b9c$useControllableState} from \"@radix-ui/react-use-controllable-state\";\nimport {useLayoutEffect as $01b9c$useLayoutEffect} from \"@radix-ui/react-use-layout-effect\";\nimport {usePrevious as $01b9c$usePrevious} from \"@radix-ui/react-use-previous\";\nimport {VisuallyHidden as $01b9c$VisuallyHidden} from \"@radix-ui/react-visually-hidden\";\nimport {hideOthers as $01b9c$hideOthers} from \"aria-hidden\";\nimport {RemoveScroll as $01b9c$RemoveScroll} from \"react-remove-scroll\";\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst $cc7e05a45900e73f$var$OPEN_KEYS = [\n    ' ',\n    'Enter',\n    'ArrowUp',\n    'ArrowDown'\n];\nconst $cc7e05a45900e73f$var$SELECTION_KEYS = [\n    ' ',\n    'Enter'\n];\n/* -------------------------------------------------------------------------------------------------\n * Select\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$SELECT_NAME = 'Select';\nconst [$cc7e05a45900e73f$var$Collection, $cc7e05a45900e73f$var$useCollection, $cc7e05a45900e73f$var$createCollectionScope] = $01b9c$createCollection($cc7e05a45900e73f$var$SELECT_NAME);\nconst [$cc7e05a45900e73f$var$createSelectContext, $cc7e05a45900e73f$export$286727a75dc039bd] = $01b9c$createContextScope($cc7e05a45900e73f$var$SELECT_NAME, [\n    $cc7e05a45900e73f$var$createCollectionScope,\n    $01b9c$createPopperScope\n]);\nconst $cc7e05a45900e73f$var$usePopperScope = $01b9c$createPopperScope();\nconst [$cc7e05a45900e73f$var$SelectProvider, $cc7e05a45900e73f$var$useSelectContext] = $cc7e05a45900e73f$var$createSelectContext($cc7e05a45900e73f$var$SELECT_NAME);\nconst [$cc7e05a45900e73f$var$SelectNativeOptionsProvider, $cc7e05a45900e73f$var$useSelectNativeOptionsContext] = $cc7e05a45900e73f$var$createSelectContext($cc7e05a45900e73f$var$SELECT_NAME);\nconst $cc7e05a45900e73f$export$ef9b1a59e592288f = (props)=>{\n    const { __scopeSelect: __scopeSelect , children: children , open: openProp , defaultOpen: defaultOpen , onOpenChange: onOpenChange , value: valueProp , defaultValue: defaultValue , onValueChange: onValueChange , dir: dir , name: name , autoComplete: autoComplete , disabled: disabled , required: required  } = props;\n    const popperScope = $cc7e05a45900e73f$var$usePopperScope(__scopeSelect);\n    const [trigger, setTrigger] = $01b9c$useState(null);\n    const [valueNode, setValueNode] = $01b9c$useState(null);\n    const [valueNodeHasChildren, setValueNodeHasChildren] = $01b9c$useState(false);\n    const direction = $01b9c$useDirection(dir);\n    const [open = false, setOpen] = $01b9c$useControllableState({\n        prop: openProp,\n        defaultProp: defaultOpen,\n        onChange: onOpenChange\n    });\n    const [value, setValue] = $01b9c$useControllableState({\n        prop: valueProp,\n        defaultProp: defaultValue,\n        onChange: onValueChange\n    });\n    const triggerPointerDownPosRef = $01b9c$useRef(null); // We set this to true by default so that events bubble to forms without JS (SSR)\n    const isFormControl = trigger ? Boolean(trigger.closest('form')) : true;\n    const [nativeOptionsSet, setNativeOptionsSet] = $01b9c$useState(new Set()); // The native `select` only associates the correct default value if the corresponding\n    // `option` is rendered as a child **at the same time** as itself.\n    // Because it might take a few renders for our items to gather the information to build\n    // the native `option`(s), we generate a key on the `select` to make sure React re-builds it\n    // each time the options change.\n    const nativeSelectKey = Array.from(nativeOptionsSet).map((option)=>option.props.value\n    ).join(';');\n    return /*#__PURE__*/ $01b9c$createElement($01b9c$Root, popperScope, /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$SelectProvider, {\n        required: required,\n        scope: __scopeSelect,\n        trigger: trigger,\n        onTriggerChange: setTrigger,\n        valueNode: valueNode,\n        onValueNodeChange: setValueNode,\n        valueNodeHasChildren: valueNodeHasChildren,\n        onValueNodeHasChildrenChange: setValueNodeHasChildren,\n        contentId: $01b9c$useId(),\n        value: value,\n        onValueChange: setValue,\n        open: open,\n        onOpenChange: setOpen,\n        dir: direction,\n        triggerPointerDownPosRef: triggerPointerDownPosRef,\n        disabled: disabled\n    }, /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$Collection.Provider, {\n        scope: __scopeSelect\n    }, /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$SelectNativeOptionsProvider, {\n        scope: props.__scopeSelect,\n        onNativeOptionAdd: $01b9c$useCallback((option)=>{\n            setNativeOptionsSet((prev)=>new Set(prev).add(option)\n            );\n        }, []),\n        onNativeOptionRemove: $01b9c$useCallback((option)=>{\n            setNativeOptionsSet((prev)=>{\n                const optionsSet = new Set(prev);\n                optionsSet.delete(option);\n                return optionsSet;\n            });\n        }, [])\n    }, children)), isFormControl ? /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$BubbleSelect, {\n        key: nativeSelectKey,\n        \"aria-hidden\": true,\n        required: required,\n        tabIndex: -1,\n        name: name,\n        autoComplete: autoComplete,\n        value: value // enable form autofill\n        ,\n        onChange: (event)=>setValue(event.target.value)\n        ,\n        disabled: disabled\n    }, value === undefined ? /*#__PURE__*/ $01b9c$createElement(\"option\", {\n        value: \"\"\n    }) : null, Array.from(nativeOptionsSet)) : null));\n};\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$ef9b1a59e592288f, {\n    displayName: $cc7e05a45900e73f$var$SELECT_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectTrigger\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$TRIGGER_NAME = 'SelectTrigger';\nconst $cc7e05a45900e73f$export$3ac1e88a1c0b9f1 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n    const { __scopeSelect: __scopeSelect , disabled: disabled = false , ...triggerProps } = props;\n    const popperScope = $cc7e05a45900e73f$var$usePopperScope(__scopeSelect);\n    const context = $cc7e05a45900e73f$var$useSelectContext($cc7e05a45900e73f$var$TRIGGER_NAME, __scopeSelect);\n    const isDisabled = context.disabled || disabled;\n    const composedRefs = $01b9c$useComposedRefs(forwardedRef, context.onTriggerChange);\n    const getItems = $cc7e05a45900e73f$var$useCollection(__scopeSelect);\n    const [searchRef, handleTypeaheadSearch, resetTypeahead] = $cc7e05a45900e73f$var$useTypeaheadSearch((search)=>{\n        const enabledItems = getItems().filter((item)=>!item.disabled\n        );\n        const currentItem = enabledItems.find((item)=>item.value === context.value\n        );\n        const nextItem = $cc7e05a45900e73f$var$findNextItem(enabledItems, search, currentItem);\n        if (nextItem !== undefined) context.onValueChange(nextItem.value);\n    });\n    const handleOpen = ()=>{\n        if (!isDisabled) {\n            context.onOpenChange(true); // reset typeahead when we open\n            resetTypeahead();\n        }\n    };\n    return /*#__PURE__*/ $01b9c$createElement($01b9c$Anchor, $01b9c$babelruntimehelpersesmextends({\n        asChild: true\n    }, popperScope), /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.button, $01b9c$babelruntimehelpersesmextends({\n        type: \"button\",\n        role: \"combobox\",\n        \"aria-controls\": context.contentId,\n        \"aria-expanded\": context.open,\n        \"aria-required\": context.required,\n        \"aria-autocomplete\": \"none\",\n        dir: context.dir,\n        \"data-state\": context.open ? 'open' : 'closed',\n        disabled: isDisabled,\n        \"data-disabled\": isDisabled ? '' : undefined,\n        \"data-placeholder\": context.value === undefined ? '' : undefined\n    }, triggerProps, {\n        ref: composedRefs // Enable compatibility with native label or custom `Label` \"click\" for Safari:\n        ,\n        onClick: $01b9c$composeEventHandlers(triggerProps.onClick, (event)=>{\n            // Whilst browsers generally have no issue focusing the trigger when clicking\n            // on a label, Safari seems to struggle with the fact that there's no `onClick`.\n            // We force `focus` in this case. Note: this doesn't create any other side-effect\n            // because we are preventing default in `onPointerDown` so effectively\n            // this only runs for a label \"click\"\n            event.currentTarget.focus();\n        }),\n        onPointerDown: $01b9c$composeEventHandlers(triggerProps.onPointerDown, (event)=>{\n            // prevent implicit pointer capture\n            // https://www.w3.org/TR/pointerevents3/#implicit-pointer-capture\n            const target = event.target;\n            if (target.hasPointerCapture(event.pointerId)) target.releasePointerCapture(event.pointerId);\n             // only call handler if it's the left button (mousedown gets triggered by all mouse buttons)\n            // but not when the control key is pressed (avoiding MacOS right click)\n            if (event.button === 0 && event.ctrlKey === false) {\n                handleOpen();\n                context.triggerPointerDownPosRef.current = {\n                    x: Math.round(event.pageX),\n                    y: Math.round(event.pageY)\n                }; // prevent trigger from stealing focus from the active item after opening.\n                event.preventDefault();\n            }\n        }),\n        onKeyDown: $01b9c$composeEventHandlers(triggerProps.onKeyDown, (event)=>{\n            const isTypingAhead = searchRef.current !== '';\n            const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n            if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n            if (isTypingAhead && event.key === ' ') return;\n            if ($cc7e05a45900e73f$var$OPEN_KEYS.includes(event.key)) {\n                handleOpen();\n                event.preventDefault();\n            }\n        })\n    })));\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$3ac1e88a1c0b9f1, {\n    displayName: $cc7e05a45900e73f$var$TRIGGER_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectValue\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$VALUE_NAME = 'SelectValue';\nconst $cc7e05a45900e73f$export$e288731fd71264f0 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n    // We ignore `className` and `style` as this part shouldn't be styled.\n    const { __scopeSelect: __scopeSelect , className: className , style: style , children: children , placeholder: placeholder , ...valueProps } = props;\n    const context = $cc7e05a45900e73f$var$useSelectContext($cc7e05a45900e73f$var$VALUE_NAME, __scopeSelect);\n    const { onValueNodeHasChildrenChange: onValueNodeHasChildrenChange  } = context;\n    const hasChildren = children !== undefined;\n    const composedRefs = $01b9c$useComposedRefs(forwardedRef, context.onValueNodeChange);\n    $01b9c$useLayoutEffect(()=>{\n        onValueNodeHasChildrenChange(hasChildren);\n    }, [\n        onValueNodeHasChildrenChange,\n        hasChildren\n    ]);\n    return /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.span, $01b9c$babelruntimehelpersesmextends({}, valueProps, {\n        ref: composedRefs // we don't want events from the portalled `SelectValue` children to bubble\n        ,\n        style: {\n            pointerEvents: 'none'\n        }\n    }), context.value === undefined && placeholder !== undefined ? placeholder : children);\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$e288731fd71264f0, {\n    displayName: $cc7e05a45900e73f$var$VALUE_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectIcon\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$ICON_NAME = 'SelectIcon';\nconst $cc7e05a45900e73f$export$99b400cabb58c515 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n    const { __scopeSelect: __scopeSelect , children: children , ...iconProps } = props;\n    return /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.span, $01b9c$babelruntimehelpersesmextends({\n        \"aria-hidden\": true\n    }, iconProps, {\n        ref: forwardedRef\n    }), children || '▼');\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$99b400cabb58c515, {\n    displayName: $cc7e05a45900e73f$var$ICON_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectPortal\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$PORTAL_NAME = 'SelectPortal';\nconst $cc7e05a45900e73f$export$b2af6c9944296213 = (props)=>{\n    return /*#__PURE__*/ $01b9c$createElement($01b9c$Portal, $01b9c$babelruntimehelpersesmextends({\n        asChild: true\n    }, props));\n};\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$b2af6c9944296213, {\n    displayName: $cc7e05a45900e73f$var$PORTAL_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectContent\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$CONTENT_NAME = 'SelectContent';\nconst $cc7e05a45900e73f$export$c973a4b3cb86a03d = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n    const context = $cc7e05a45900e73f$var$useSelectContext($cc7e05a45900e73f$var$CONTENT_NAME, props.__scopeSelect);\n    const [fragment, setFragment] = $01b9c$useState(); // setting the fragment in `useLayoutEffect` as `DocumentFragment` doesn't exist on the server\n    $01b9c$useLayoutEffect(()=>{\n        setFragment(new DocumentFragment());\n    }, []);\n    if (!context.open) {\n        const frag = fragment;\n        return frag ? /*#__PURE__*/ $01b9c$createPortal(/*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$SelectContentProvider, {\n            scope: props.__scopeSelect\n        }, /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$Collection.Slot, {\n            scope: props.__scopeSelect\n        }, /*#__PURE__*/ $01b9c$createElement(\"div\", null, props.children))), frag) : null;\n    }\n    return /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$SelectContentImpl, $01b9c$babelruntimehelpersesmextends({}, props, {\n        ref: forwardedRef\n    }));\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$c973a4b3cb86a03d, {\n    displayName: $cc7e05a45900e73f$var$CONTENT_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectContentImpl\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$CONTENT_MARGIN = 10;\nconst [$cc7e05a45900e73f$var$SelectContentProvider, $cc7e05a45900e73f$var$useSelectContentContext] = $cc7e05a45900e73f$var$createSelectContext($cc7e05a45900e73f$var$CONTENT_NAME);\nconst $cc7e05a45900e73f$var$CONTENT_IMPL_NAME = 'SelectContentImpl';\nconst $cc7e05a45900e73f$var$SelectContentImpl = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n    const { __scopeSelect: __scopeSelect , position: position = 'item-aligned' , onCloseAutoFocus: onCloseAutoFocus , onEscapeKeyDown: onEscapeKeyDown , onPointerDownOutside: onPointerDownOutside , side: //\n    // PopperContent props\n    side , sideOffset: sideOffset , align: align , alignOffset: alignOffset , arrowPadding: arrowPadding , collisionBoundary: collisionBoundary , collisionPadding: collisionPadding , sticky: sticky , hideWhenDetached: hideWhenDetached , avoidCollisions: avoidCollisions , //\n    ...contentProps } = props;\n    const context = $cc7e05a45900e73f$var$useSelectContext($cc7e05a45900e73f$var$CONTENT_NAME, __scopeSelect);\n    const [content, setContent] = $01b9c$useState(null);\n    const [viewport, setViewport] = $01b9c$useState(null);\n    const composedRefs = $01b9c$useComposedRefs(forwardedRef, (node)=>setContent(node)\n    );\n    const [selectedItem, setSelectedItem] = $01b9c$useState(null);\n    const [selectedItemText, setSelectedItemText] = $01b9c$useState(null);\n    const getItems = $cc7e05a45900e73f$var$useCollection(__scopeSelect);\n    const [isPositioned, setIsPositioned] = $01b9c$useState(false);\n    const firstValidItemFoundRef = $01b9c$useRef(false); // aria-hide everything except the content (better supported equivalent to setting aria-modal)\n    $01b9c$useEffect(()=>{\n        if (content) return $01b9c$hideOthers(content);\n    }, [\n        content\n    ]); // Make sure the whole tree has focus guards as our `Select` may be\n    // the last element in the DOM (because of the `Portal`)\n    $01b9c$useFocusGuards();\n    const focusFirst = $01b9c$useCallback((candidates)=>{\n        const [firstItem, ...restItems] = getItems().map((item)=>item.ref.current\n        );\n        const [lastItem] = restItems.slice(-1);\n        const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n        for (const candidate of candidates){\n            // if focus is already where we want to go, we don't want to keep going through the candidates\n            if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n            candidate === null || candidate === void 0 || candidate.scrollIntoView({\n                block: 'nearest'\n            }); // viewport might have padding so scroll to its edges when focusing first/last items.\n            if (candidate === firstItem && viewport) viewport.scrollTop = 0;\n            if (candidate === lastItem && viewport) viewport.scrollTop = viewport.scrollHeight;\n            candidate === null || candidate === void 0 || candidate.focus();\n            if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n        }\n    }, [\n        getItems,\n        viewport\n    ]);\n    const focusSelectedItem = $01b9c$useCallback(()=>focusFirst([\n            selectedItem,\n            content\n        ])\n    , [\n        focusFirst,\n        selectedItem,\n        content\n    ]); // Since this is not dependent on layout, we want to ensure this runs at the same time as\n    // other effects across components. Hence why we don't call `focusSelectedItem` inside `position`.\n    $01b9c$useEffect(()=>{\n        if (isPositioned) focusSelectedItem();\n    }, [\n        isPositioned,\n        focusSelectedItem\n    ]); // prevent selecting items on `pointerup` in some cases after opening from `pointerdown`\n    // and close on `pointerup` outside.\n    const { onOpenChange: onOpenChange , triggerPointerDownPosRef: triggerPointerDownPosRef  } = context;\n    $01b9c$useEffect(()=>{\n        if (content) {\n            let pointerMoveDelta = {\n                x: 0,\n                y: 0\n            };\n            const handlePointerMove = (event)=>{\n                var _triggerPointerDownPo, _triggerPointerDownPo2, _triggerPointerDownPo3, _triggerPointerDownPo4;\n                pointerMoveDelta = {\n                    x: Math.abs(Math.round(event.pageX) - ((_triggerPointerDownPo = (_triggerPointerDownPo2 = triggerPointerDownPosRef.current) === null || _triggerPointerDownPo2 === void 0 ? void 0 : _triggerPointerDownPo2.x) !== null && _triggerPointerDownPo !== void 0 ? _triggerPointerDownPo : 0)),\n                    y: Math.abs(Math.round(event.pageY) - ((_triggerPointerDownPo3 = (_triggerPointerDownPo4 = triggerPointerDownPosRef.current) === null || _triggerPointerDownPo4 === void 0 ? void 0 : _triggerPointerDownPo4.y) !== null && _triggerPointerDownPo3 !== void 0 ? _triggerPointerDownPo3 : 0))\n                };\n            };\n            const handlePointerUp = (event)=>{\n                // If the pointer hasn't moved by a certain threshold then we prevent selecting item on `pointerup`.\n                if (pointerMoveDelta.x <= 10 && pointerMoveDelta.y <= 10) event.preventDefault();\n                else // otherwise, if the event was outside the content, close.\n                if (!content.contains(event.target)) onOpenChange(false);\n                document.removeEventListener('pointermove', handlePointerMove);\n                triggerPointerDownPosRef.current = null;\n            };\n            if (triggerPointerDownPosRef.current !== null) {\n                document.addEventListener('pointermove', handlePointerMove);\n                document.addEventListener('pointerup', handlePointerUp, {\n                    capture: true,\n                    once: true\n                });\n            }\n            return ()=>{\n                document.removeEventListener('pointermove', handlePointerMove);\n                document.removeEventListener('pointerup', handlePointerUp, {\n                    capture: true\n                });\n            };\n        }\n    }, [\n        content,\n        onOpenChange,\n        triggerPointerDownPosRef\n    ]);\n    $01b9c$useEffect(()=>{\n        const close = ()=>onOpenChange(false)\n        ;\n        window.addEventListener('blur', close);\n        window.addEventListener('resize', close);\n        return ()=>{\n            window.removeEventListener('blur', close);\n            window.removeEventListener('resize', close);\n        };\n    }, [\n        onOpenChange\n    ]);\n    const [searchRef, handleTypeaheadSearch] = $cc7e05a45900e73f$var$useTypeaheadSearch((search)=>{\n        const enabledItems = getItems().filter((item)=>!item.disabled\n        );\n        const currentItem = enabledItems.find((item)=>item.ref.current === document.activeElement\n        );\n        const nextItem = $cc7e05a45900e73f$var$findNextItem(enabledItems, search, currentItem);\n        if (nextItem) /**\n       * Imperative focus during keydown is risky so we prevent React's batching updates\n       * to avoid potential bugs. See: https://github.com/facebook/react/issues/20332\n       */ setTimeout(()=>nextItem.ref.current.focus()\n        );\n    });\n    const itemRefCallback = $01b9c$useCallback((node, value, disabled)=>{\n        const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n        const isSelectedItem = context.value !== undefined && context.value === value;\n        if (isSelectedItem || isFirstValidItem) {\n            setSelectedItem(node);\n            if (isFirstValidItem) firstValidItemFoundRef.current = true;\n        }\n    }, [\n        context.value\n    ]);\n    const handleItemLeave = $01b9c$useCallback(()=>content === null || content === void 0 ? void 0 : content.focus()\n    , [\n        content\n    ]);\n    const itemTextRefCallback = $01b9c$useCallback((node, value, disabled)=>{\n        const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n        const isSelectedItem = context.value !== undefined && context.value === value;\n        if (isSelectedItem || isFirstValidItem) setSelectedItemText(node);\n    }, [\n        context.value\n    ]);\n    const SelectPosition = position === 'popper' ? $cc7e05a45900e73f$var$SelectPopperPosition : $cc7e05a45900e73f$var$SelectItemAlignedPosition; // Silently ignore props that are not supported by `SelectItemAlignedPosition`\n    const popperContentProps = SelectPosition === $cc7e05a45900e73f$var$SelectPopperPosition ? {\n        side: side,\n        sideOffset: sideOffset,\n        align: align,\n        alignOffset: alignOffset,\n        arrowPadding: arrowPadding,\n        collisionBoundary: collisionBoundary,\n        collisionPadding: collisionPadding,\n        sticky: sticky,\n        hideWhenDetached: hideWhenDetached,\n        avoidCollisions: avoidCollisions\n    } : {};\n    return /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$SelectContentProvider, {\n        scope: __scopeSelect,\n        content: content,\n        viewport: viewport,\n        onViewportChange: setViewport,\n        itemRefCallback: itemRefCallback,\n        selectedItem: selectedItem,\n        onItemLeave: handleItemLeave,\n        itemTextRefCallback: itemTextRefCallback,\n        focusSelectedItem: focusSelectedItem,\n        selectedItemText: selectedItemText,\n        position: position,\n        isPositioned: isPositioned,\n        searchRef: searchRef\n    }, /*#__PURE__*/ $01b9c$createElement($01b9c$RemoveScroll, {\n        as: $01b9c$Slot,\n        allowPinchZoom: true\n    }, /*#__PURE__*/ $01b9c$createElement($01b9c$FocusScope, {\n        asChild: true // we make sure we're not trapping once it's been closed\n        ,\n        trapped: context.open,\n        onMountAutoFocus: (event)=>{\n            // we prevent open autofocus because we manually focus the selected item\n            event.preventDefault();\n        },\n        onUnmountAutoFocus: $01b9c$composeEventHandlers(onCloseAutoFocus, (event)=>{\n            var _context$trigger;\n            (_context$trigger = context.trigger) === null || _context$trigger === void 0 || _context$trigger.focus({\n                preventScroll: true\n            });\n            event.preventDefault();\n        })\n    }, /*#__PURE__*/ $01b9c$createElement($01b9c$DismissableLayer, {\n        asChild: true,\n        disableOutsidePointerEvents: true,\n        onEscapeKeyDown: onEscapeKeyDown,\n        onPointerDownOutside: onPointerDownOutside // When focus is trapped, a focusout event may still happen.\n        ,\n        onFocusOutside: (event)=>event.preventDefault()\n        ,\n        onDismiss: ()=>context.onOpenChange(false)\n    }, /*#__PURE__*/ $01b9c$createElement(SelectPosition, $01b9c$babelruntimehelpersesmextends({\n        role: \"listbox\",\n        id: context.contentId,\n        \"data-state\": context.open ? 'open' : 'closed',\n        dir: context.dir,\n        onContextMenu: (event)=>event.preventDefault()\n    }, contentProps, popperContentProps, {\n        onPlaced: ()=>setIsPositioned(true)\n        ,\n        ref: composedRefs,\n        style: {\n            // flex layout so we can place the scroll buttons properly\n            display: 'flex',\n            flexDirection: 'column',\n            // reset the outline by default as the content MAY get focused\n            outline: 'none',\n            ...contentProps.style\n        },\n        onKeyDown: $01b9c$composeEventHandlers(contentProps.onKeyDown, (event)=>{\n            const isModifierKey = event.ctrlKey || event.altKey || event.metaKey; // select should not be navigated using tab key so we prevent it\n            if (event.key === 'Tab') event.preventDefault();\n            if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n            if ([\n                'ArrowUp',\n                'ArrowDown',\n                'Home',\n                'End'\n            ].includes(event.key)) {\n                const items = getItems().filter((item)=>!item.disabled\n                );\n                let candidateNodes = items.map((item)=>item.ref.current\n                );\n                if ([\n                    'ArrowUp',\n                    'End'\n                ].includes(event.key)) candidateNodes = candidateNodes.slice().reverse();\n                if ([\n                    'ArrowUp',\n                    'ArrowDown'\n                ].includes(event.key)) {\n                    const currentElement = event.target;\n                    const currentIndex = candidateNodes.indexOf(currentElement);\n                    candidateNodes = candidateNodes.slice(currentIndex + 1);\n                }\n                /**\n         * Imperative focus during keydown is risky so we prevent React's batching updates\n         * to avoid potential bugs. See: https://github.com/facebook/react/issues/20332\n         */ setTimeout(()=>focusFirst(candidateNodes)\n                );\n                event.preventDefault();\n            }\n        })\n    }))))));\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$var$SelectContentImpl, {\n    displayName: $cc7e05a45900e73f$var$CONTENT_IMPL_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectItemAlignedPosition\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$ITEM_ALIGNED_POSITION_NAME = 'SelectItemAlignedPosition';\nconst $cc7e05a45900e73f$var$SelectItemAlignedPosition = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n    const { __scopeSelect: __scopeSelect , onPlaced: onPlaced , ...popperProps } = props;\n    const context = $cc7e05a45900e73f$var$useSelectContext($cc7e05a45900e73f$var$CONTENT_NAME, __scopeSelect);\n    const contentContext = $cc7e05a45900e73f$var$useSelectContentContext($cc7e05a45900e73f$var$CONTENT_NAME, __scopeSelect);\n    const [contentWrapper, setContentWrapper] = $01b9c$useState(null);\n    const [content, setContent] = $01b9c$useState(null);\n    const composedRefs = $01b9c$useComposedRefs(forwardedRef, (node)=>setContent(node)\n    );\n    const getItems = $cc7e05a45900e73f$var$useCollection(__scopeSelect);\n    const shouldExpandOnScrollRef = $01b9c$useRef(false);\n    const shouldRepositionRef = $01b9c$useRef(true);\n    const { viewport: viewport , selectedItem: selectedItem , selectedItemText: selectedItemText , focusSelectedItem: focusSelectedItem  } = contentContext;\n    const position = $01b9c$useCallback(()=>{\n        if (context.trigger && context.valueNode && contentWrapper && content && viewport && selectedItem && selectedItemText) {\n            const triggerRect = context.trigger.getBoundingClientRect(); // -----------------------------------------------------------------------------------------\n            //  Horizontal positioning\n            // -----------------------------------------------------------------------------------------\n            const contentRect = content.getBoundingClientRect();\n            const valueNodeRect = context.valueNode.getBoundingClientRect();\n            const itemTextRect = selectedItemText.getBoundingClientRect();\n            if (context.dir !== 'rtl') {\n                const itemTextOffset = itemTextRect.left - contentRect.left;\n                const left = valueNodeRect.left - itemTextOffset;\n                const leftDelta = triggerRect.left - left;\n                const minContentWidth = triggerRect.width + leftDelta;\n                const contentWidth = Math.max(minContentWidth, contentRect.width);\n                const rightEdge = window.innerWidth - $cc7e05a45900e73f$var$CONTENT_MARGIN;\n                const clampedLeft = $01b9c$clamp(left, [\n                    $cc7e05a45900e73f$var$CONTENT_MARGIN,\n                    rightEdge - contentWidth\n                ]);\n                contentWrapper.style.minWidth = minContentWidth + 'px';\n                contentWrapper.style.left = clampedLeft + 'px';\n            } else {\n                const itemTextOffset = contentRect.right - itemTextRect.right;\n                const right = window.innerWidth - valueNodeRect.right - itemTextOffset;\n                const rightDelta = window.innerWidth - triggerRect.right - right;\n                const minContentWidth = triggerRect.width + rightDelta;\n                const contentWidth = Math.max(minContentWidth, contentRect.width);\n                const leftEdge = window.innerWidth - $cc7e05a45900e73f$var$CONTENT_MARGIN;\n                const clampedRight = $01b9c$clamp(right, [\n                    $cc7e05a45900e73f$var$CONTENT_MARGIN,\n                    leftEdge - contentWidth\n                ]);\n                contentWrapper.style.minWidth = minContentWidth + 'px';\n                contentWrapper.style.right = clampedRight + 'px';\n            } // -----------------------------------------------------------------------------------------\n            // Vertical positioning\n            // -----------------------------------------------------------------------------------------\n            const items = getItems();\n            const availableHeight = window.innerHeight - $cc7e05a45900e73f$var$CONTENT_MARGIN * 2;\n            const itemsHeight = viewport.scrollHeight;\n            const contentStyles = window.getComputedStyle(content);\n            const contentBorderTopWidth = parseInt(contentStyles.borderTopWidth, 10);\n            const contentPaddingTop = parseInt(contentStyles.paddingTop, 10);\n            const contentBorderBottomWidth = parseInt(contentStyles.borderBottomWidth, 10);\n            const contentPaddingBottom = parseInt(contentStyles.paddingBottom, 10);\n            const fullContentHeight = contentBorderTopWidth + contentPaddingTop + itemsHeight + contentPaddingBottom + contentBorderBottomWidth; // prettier-ignore\n            const minContentHeight = Math.min(selectedItem.offsetHeight * 5, fullContentHeight);\n            const viewportStyles = window.getComputedStyle(viewport);\n            const viewportPaddingTop = parseInt(viewportStyles.paddingTop, 10);\n            const viewportPaddingBottom = parseInt(viewportStyles.paddingBottom, 10);\n            const topEdgeToTriggerMiddle = triggerRect.top + triggerRect.height / 2 - $cc7e05a45900e73f$var$CONTENT_MARGIN;\n            const triggerMiddleToBottomEdge = availableHeight - topEdgeToTriggerMiddle;\n            const selectedItemHalfHeight = selectedItem.offsetHeight / 2;\n            const itemOffsetMiddle = selectedItem.offsetTop + selectedItemHalfHeight;\n            const contentTopToItemMiddle = contentBorderTopWidth + contentPaddingTop + itemOffsetMiddle;\n            const itemMiddleToContentBottom = fullContentHeight - contentTopToItemMiddle;\n            const willAlignWithoutTopOverflow = contentTopToItemMiddle <= topEdgeToTriggerMiddle;\n            if (willAlignWithoutTopOverflow) {\n                const isLastItem = selectedItem === items[items.length - 1].ref.current;\n                contentWrapper.style.bottom = \"0px\";\n                const viewportOffsetBottom = content.clientHeight - viewport.offsetTop - viewport.offsetHeight;\n                const clampedTriggerMiddleToBottomEdge = Math.max(triggerMiddleToBottomEdge, selectedItemHalfHeight + (isLastItem ? viewportPaddingBottom : 0) + viewportOffsetBottom + contentBorderBottomWidth);\n                const height = contentTopToItemMiddle + clampedTriggerMiddleToBottomEdge;\n                contentWrapper.style.height = height + 'px';\n            } else {\n                const isFirstItem = selectedItem === items[0].ref.current;\n                contentWrapper.style.top = \"0px\";\n                const clampedTopEdgeToTriggerMiddle = Math.max(topEdgeToTriggerMiddle, contentBorderTopWidth + viewport.offsetTop + (isFirstItem ? viewportPaddingTop : 0) + selectedItemHalfHeight);\n                const height = clampedTopEdgeToTriggerMiddle + itemMiddleToContentBottom;\n                contentWrapper.style.height = height + 'px';\n                viewport.scrollTop = contentTopToItemMiddle - topEdgeToTriggerMiddle + viewport.offsetTop;\n            }\n            contentWrapper.style.margin = `${$cc7e05a45900e73f$var$CONTENT_MARGIN}px 0`;\n            contentWrapper.style.minHeight = minContentHeight + 'px';\n            contentWrapper.style.maxHeight = availableHeight + 'px'; // -----------------------------------------------------------------------------------------\n            onPlaced === null || onPlaced === void 0 || onPlaced(); // we don't want the initial scroll position adjustment to trigger \"expand on scroll\"\n            // so we explicitly turn it on only after they've registered.\n            requestAnimationFrame(()=>shouldExpandOnScrollRef.current = true\n            );\n        }\n    }, [\n        getItems,\n        context.trigger,\n        context.valueNode,\n        contentWrapper,\n        content,\n        viewport,\n        selectedItem,\n        selectedItemText,\n        context.dir,\n        onPlaced\n    ]);\n    $01b9c$useLayoutEffect(()=>position()\n    , [\n        position\n    ]); // copy z-index from content to wrapper\n    const [contentZIndex, setContentZIndex] = $01b9c$useState();\n    $01b9c$useLayoutEffect(()=>{\n        if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n    }, [\n        content\n    ]); // When the viewport becomes scrollable at the top, the scroll up button will mount.\n    // Because it is part of the normal flow, it will push down the viewport, thus throwing our\n    // trigger => selectedItem alignment off by the amount the viewport was pushed down.\n    // We wait for this to happen and then re-run the positining logic one more time to account for it.\n    const handleScrollButtonChange = $01b9c$useCallback((node)=>{\n        if (node && shouldRepositionRef.current === true) {\n            position();\n            focusSelectedItem === null || focusSelectedItem === void 0 || focusSelectedItem();\n            shouldRepositionRef.current = false;\n        }\n    }, [\n        position,\n        focusSelectedItem\n    ]);\n    return /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$SelectViewportProvider, {\n        scope: __scopeSelect,\n        contentWrapper: contentWrapper,\n        shouldExpandOnScrollRef: shouldExpandOnScrollRef,\n        onScrollButtonChange: handleScrollButtonChange\n    }, /*#__PURE__*/ $01b9c$createElement(\"div\", {\n        ref: setContentWrapper,\n        style: {\n            display: 'flex',\n            flexDirection: 'column',\n            position: 'fixed',\n            zIndex: contentZIndex\n        }\n    }, /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.div, $01b9c$babelruntimehelpersesmextends({}, popperProps, {\n        ref: composedRefs,\n        style: {\n            // When we get the height of the content, it includes borders. If we were to set\n            // the height without having `boxSizing: 'border-box'` it would be too big.\n            boxSizing: 'border-box',\n            // We need to ensure the content doesn't get taller than the wrapper\n            maxHeight: '100%',\n            ...popperProps.style\n        }\n    }))));\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$var$SelectItemAlignedPosition, {\n    displayName: $cc7e05a45900e73f$var$ITEM_ALIGNED_POSITION_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectPopperPosition\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$POPPER_POSITION_NAME = 'SelectPopperPosition';\nconst $cc7e05a45900e73f$var$SelectPopperPosition = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n    const { __scopeSelect: __scopeSelect , align: align = 'start' , collisionPadding: collisionPadding = $cc7e05a45900e73f$var$CONTENT_MARGIN , ...popperProps } = props;\n    const popperScope = $cc7e05a45900e73f$var$usePopperScope(__scopeSelect);\n    return /*#__PURE__*/ $01b9c$createElement($01b9c$Content, $01b9c$babelruntimehelpersesmextends({}, popperScope, popperProps, {\n        ref: forwardedRef,\n        align: align,\n        collisionPadding: collisionPadding,\n        style: {\n            // Ensure border-box for floating-ui calculations\n            boxSizing: 'border-box',\n            ...popperProps.style,\n            '--radix-select-content-transform-origin': 'var(--radix-popper-transform-origin)',\n            '--radix-select-content-available-width': 'var(--radix-popper-available-width)',\n            '--radix-select-content-available-height': 'var(--radix-popper-available-height)',\n            '--radix-select-trigger-width': 'var(--radix-popper-anchor-width)',\n            '--radix-select-trigger-height': 'var(--radix-popper-anchor-height)'\n        }\n    }));\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$var$SelectPopperPosition, {\n    displayName: $cc7e05a45900e73f$var$POPPER_POSITION_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectViewport\n * -----------------------------------------------------------------------------------------------*/ const [$cc7e05a45900e73f$var$SelectViewportProvider, $cc7e05a45900e73f$var$useSelectViewportContext] = $cc7e05a45900e73f$var$createSelectContext($cc7e05a45900e73f$var$CONTENT_NAME, {});\nconst $cc7e05a45900e73f$var$VIEWPORT_NAME = 'SelectViewport';\nconst $cc7e05a45900e73f$export$9ed6e7b40248d36d = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n    const { __scopeSelect: __scopeSelect , ...viewportProps } = props;\n    const contentContext = $cc7e05a45900e73f$var$useSelectContentContext($cc7e05a45900e73f$var$VIEWPORT_NAME, __scopeSelect);\n    const viewportContext = $cc7e05a45900e73f$var$useSelectViewportContext($cc7e05a45900e73f$var$VIEWPORT_NAME, __scopeSelect);\n    const composedRefs = $01b9c$useComposedRefs(forwardedRef, contentContext.onViewportChange);\n    const prevScrollTopRef = $01b9c$useRef(0);\n    return /*#__PURE__*/ $01b9c$createElement($01b9c$Fragment, null, /*#__PURE__*/ $01b9c$createElement(\"style\", {\n        dangerouslySetInnerHTML: {\n            __html: `[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`\n        }\n    }), /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$Collection.Slot, {\n        scope: __scopeSelect\n    }, /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.div, $01b9c$babelruntimehelpersesmextends({\n        \"data-radix-select-viewport\": \"\",\n        role: \"presentation\"\n    }, viewportProps, {\n        ref: composedRefs,\n        style: {\n            // we use position: 'relative' here on the `viewport` so that when we call\n            // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport\n            // (independent of the scrollUpButton).\n            position: 'relative',\n            flex: 1,\n            overflow: 'auto',\n            ...viewportProps.style\n        },\n        onScroll: $01b9c$composeEventHandlers(viewportProps.onScroll, (event)=>{\n            const viewport = event.currentTarget;\n            const { contentWrapper: contentWrapper , shouldExpandOnScrollRef: shouldExpandOnScrollRef  } = viewportContext;\n            if (shouldExpandOnScrollRef !== null && shouldExpandOnScrollRef !== void 0 && shouldExpandOnScrollRef.current && contentWrapper) {\n                const scrolledBy = Math.abs(prevScrollTopRef.current - viewport.scrollTop);\n                if (scrolledBy > 0) {\n                    const availableHeight = window.innerHeight - $cc7e05a45900e73f$var$CONTENT_MARGIN * 2;\n                    const cssMinHeight = parseFloat(contentWrapper.style.minHeight);\n                    const cssHeight = parseFloat(contentWrapper.style.height);\n                    const prevHeight = Math.max(cssMinHeight, cssHeight);\n                    if (prevHeight < availableHeight) {\n                        const nextHeight = prevHeight + scrolledBy;\n                        const clampedNextHeight = Math.min(availableHeight, nextHeight);\n                        const heightDiff = nextHeight - clampedNextHeight;\n                        contentWrapper.style.height = clampedNextHeight + 'px';\n                        if (contentWrapper.style.bottom === '0px') {\n                            viewport.scrollTop = heightDiff > 0 ? heightDiff : 0; // ensure the content stays pinned to the bottom\n                            contentWrapper.style.justifyContent = 'flex-end';\n                        }\n                    }\n                }\n            }\n            prevScrollTopRef.current = viewport.scrollTop;\n        })\n    }))));\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$9ed6e7b40248d36d, {\n    displayName: $cc7e05a45900e73f$var$VIEWPORT_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectGroup\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$GROUP_NAME = 'SelectGroup';\nconst [$cc7e05a45900e73f$var$SelectGroupContextProvider, $cc7e05a45900e73f$var$useSelectGroupContext] = $cc7e05a45900e73f$var$createSelectContext($cc7e05a45900e73f$var$GROUP_NAME);\nconst $cc7e05a45900e73f$export$ee25a334c55de1f4 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n    const { __scopeSelect: __scopeSelect , ...groupProps } = props;\n    const groupId = $01b9c$useId();\n    return /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$SelectGroupContextProvider, {\n        scope: __scopeSelect,\n        id: groupId\n    }, /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.div, $01b9c$babelruntimehelpersesmextends({\n        role: \"group\",\n        \"aria-labelledby\": groupId\n    }, groupProps, {\n        ref: forwardedRef\n    })));\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$ee25a334c55de1f4, {\n    displayName: $cc7e05a45900e73f$var$GROUP_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectLabel\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$LABEL_NAME = 'SelectLabel';\nconst $cc7e05a45900e73f$export$f67338d29bd972f8 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n    const { __scopeSelect: __scopeSelect , ...labelProps } = props;\n    const groupContext = $cc7e05a45900e73f$var$useSelectGroupContext($cc7e05a45900e73f$var$LABEL_NAME, __scopeSelect);\n    return /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.div, $01b9c$babelruntimehelpersesmextends({\n        id: groupContext.id\n    }, labelProps, {\n        ref: forwardedRef\n    }));\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$f67338d29bd972f8, {\n    displayName: $cc7e05a45900e73f$var$LABEL_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectItem\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$ITEM_NAME = 'SelectItem';\nconst [$cc7e05a45900e73f$var$SelectItemContextProvider, $cc7e05a45900e73f$var$useSelectItemContext] = $cc7e05a45900e73f$var$createSelectContext($cc7e05a45900e73f$var$ITEM_NAME);\nconst $cc7e05a45900e73f$export$13ef48a934230896 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n    const { __scopeSelect: __scopeSelect , value: value , disabled: disabled = false , textValue: textValueProp , ...itemProps } = props;\n    const context = $cc7e05a45900e73f$var$useSelectContext($cc7e05a45900e73f$var$ITEM_NAME, __scopeSelect);\n    const contentContext = $cc7e05a45900e73f$var$useSelectContentContext($cc7e05a45900e73f$var$ITEM_NAME, __scopeSelect);\n    const isSelected = context.value === value;\n    const [textValue, setTextValue] = $01b9c$useState(textValueProp !== null && textValueProp !== void 0 ? textValueProp : '');\n    const [isFocused, setIsFocused] = $01b9c$useState(false);\n    const composedRefs = $01b9c$useComposedRefs(forwardedRef, (node)=>{\n        var _contentContext$itemR;\n        return (_contentContext$itemR = contentContext.itemRefCallback) === null || _contentContext$itemR === void 0 ? void 0 : _contentContext$itemR.call(contentContext, node, value, disabled);\n    });\n    const textId = $01b9c$useId();\n    const handleSelect = ()=>{\n        if (!disabled) {\n            context.onValueChange(value);\n            context.onOpenChange(false);\n        }\n    };\n    return /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$SelectItemContextProvider, {\n        scope: __scopeSelect,\n        value: value,\n        disabled: disabled,\n        textId: textId,\n        isSelected: isSelected,\n        onItemTextChange: $01b9c$useCallback((node)=>{\n            setTextValue((prevTextValue)=>{\n                var _node$textContent;\n                return prevTextValue || ((_node$textContent = node === null || node === void 0 ? void 0 : node.textContent) !== null && _node$textContent !== void 0 ? _node$textContent : '').trim();\n            });\n        }, [])\n    }, /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$Collection.ItemSlot, {\n        scope: __scopeSelect,\n        value: value,\n        disabled: disabled,\n        textValue: textValue\n    }, /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.div, $01b9c$babelruntimehelpersesmextends({\n        role: \"option\",\n        \"aria-labelledby\": textId,\n        \"data-highlighted\": isFocused ? '' : undefined // `isFocused` caveat fixes stuttering in VoiceOver\n        ,\n        \"aria-selected\": isSelected && isFocused,\n        \"data-state\": isSelected ? 'checked' : 'unchecked',\n        \"aria-disabled\": disabled || undefined,\n        \"data-disabled\": disabled ? '' : undefined,\n        tabIndex: disabled ? undefined : -1\n    }, itemProps, {\n        ref: composedRefs,\n        onFocus: $01b9c$composeEventHandlers(itemProps.onFocus, ()=>setIsFocused(true)\n        ),\n        onBlur: $01b9c$composeEventHandlers(itemProps.onBlur, ()=>setIsFocused(false)\n        ),\n        onPointerUp: $01b9c$composeEventHandlers(itemProps.onPointerUp, handleSelect),\n        onPointerMove: $01b9c$composeEventHandlers(itemProps.onPointerMove, (event)=>{\n            if (disabled) {\n                var _contentContext$onIte;\n                (_contentContext$onIte = contentContext.onItemLeave) === null || _contentContext$onIte === void 0 || _contentContext$onIte.call(contentContext);\n            } else // even though safari doesn't support this option, it's acceptable\n            // as it only means it might scroll a few pixels when using the pointer.\n            event.currentTarget.focus({\n                preventScroll: true\n            });\n        }),\n        onPointerLeave: $01b9c$composeEventHandlers(itemProps.onPointerLeave, (event)=>{\n            if (event.currentTarget === document.activeElement) {\n                var _contentContext$onIte2;\n                (_contentContext$onIte2 = contentContext.onItemLeave) === null || _contentContext$onIte2 === void 0 || _contentContext$onIte2.call(contentContext);\n            }\n        }),\n        onKeyDown: $01b9c$composeEventHandlers(itemProps.onKeyDown, (event)=>{\n            var _contentContext$searc;\n            const isTypingAhead = ((_contentContext$searc = contentContext.searchRef) === null || _contentContext$searc === void 0 ? void 0 : _contentContext$searc.current) !== '';\n            if (isTypingAhead && event.key === ' ') return;\n            if ($cc7e05a45900e73f$var$SELECTION_KEYS.includes(event.key)) handleSelect(); // prevent page scroll if using the space key to select an item\n            if (event.key === ' ') event.preventDefault();\n        })\n    }))));\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$13ef48a934230896, {\n    displayName: $cc7e05a45900e73f$var$ITEM_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectItemText\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$ITEM_TEXT_NAME = 'SelectItemText';\nconst $cc7e05a45900e73f$export$3572fb0fb821ff49 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n    // We ignore `className` and `style` as this part shouldn't be styled.\n    const { __scopeSelect: __scopeSelect , className: className , style: style , ...itemTextProps } = props;\n    const context = $cc7e05a45900e73f$var$useSelectContext($cc7e05a45900e73f$var$ITEM_TEXT_NAME, __scopeSelect);\n    const contentContext = $cc7e05a45900e73f$var$useSelectContentContext($cc7e05a45900e73f$var$ITEM_TEXT_NAME, __scopeSelect);\n    const itemContext = $cc7e05a45900e73f$var$useSelectItemContext($cc7e05a45900e73f$var$ITEM_TEXT_NAME, __scopeSelect);\n    const nativeOptionsContext = $cc7e05a45900e73f$var$useSelectNativeOptionsContext($cc7e05a45900e73f$var$ITEM_TEXT_NAME, __scopeSelect);\n    const [itemTextNode, setItemTextNode] = $01b9c$useState(null);\n    const composedRefs = $01b9c$useComposedRefs(forwardedRef, (node)=>setItemTextNode(node)\n    , itemContext.onItemTextChange, (node)=>{\n        var _contentContext$itemT;\n        return (_contentContext$itemT = contentContext.itemTextRefCallback) === null || _contentContext$itemT === void 0 ? void 0 : _contentContext$itemT.call(contentContext, node, itemContext.value, itemContext.disabled);\n    });\n    const textContent = itemTextNode === null || itemTextNode === void 0 ? void 0 : itemTextNode.textContent;\n    const nativeOption = $01b9c$useMemo(()=>/*#__PURE__*/ $01b9c$createElement(\"option\", {\n            key: itemContext.value,\n            value: itemContext.value,\n            disabled: itemContext.disabled\n        }, textContent)\n    , [\n        itemContext.disabled,\n        itemContext.value,\n        textContent\n    ]);\n    const { onNativeOptionAdd: onNativeOptionAdd , onNativeOptionRemove: onNativeOptionRemove  } = nativeOptionsContext;\n    $01b9c$useLayoutEffect(()=>{\n        onNativeOptionAdd(nativeOption);\n        return ()=>onNativeOptionRemove(nativeOption)\n        ;\n    }, [\n        onNativeOptionAdd,\n        onNativeOptionRemove,\n        nativeOption\n    ]);\n    return /*#__PURE__*/ $01b9c$createElement($01b9c$Fragment, null, /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.span, $01b9c$babelruntimehelpersesmextends({\n        id: itemContext.textId\n    }, itemTextProps, {\n        ref: composedRefs\n    })), itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren ? /*#__PURE__*/ $01b9c$createPortal(itemTextProps.children, context.valueNode) : null);\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$3572fb0fb821ff49, {\n    displayName: $cc7e05a45900e73f$var$ITEM_TEXT_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectItemIndicator\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$ITEM_INDICATOR_NAME = 'SelectItemIndicator';\nconst $cc7e05a45900e73f$export$6b9198de19accfe6 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n    const { __scopeSelect: __scopeSelect , ...itemIndicatorProps } = props;\n    const itemContext = $cc7e05a45900e73f$var$useSelectItemContext($cc7e05a45900e73f$var$ITEM_INDICATOR_NAME, __scopeSelect);\n    return itemContext.isSelected ? /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.span, $01b9c$babelruntimehelpersesmextends({\n        \"aria-hidden\": true\n    }, itemIndicatorProps, {\n        ref: forwardedRef\n    })) : null;\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$6b9198de19accfe6, {\n    displayName: $cc7e05a45900e73f$var$ITEM_INDICATOR_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectScrollUpButton\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$SCROLL_UP_BUTTON_NAME = 'SelectScrollUpButton';\nconst $cc7e05a45900e73f$export$d8117927658af6d7 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n    const contentContext = $cc7e05a45900e73f$var$useSelectContentContext($cc7e05a45900e73f$var$SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n    const viewportContext = $cc7e05a45900e73f$var$useSelectViewportContext($cc7e05a45900e73f$var$SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n    const [canScrollUp1, setCanScrollUp] = $01b9c$useState(false);\n    const composedRefs = $01b9c$useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n    $01b9c$useLayoutEffect(()=>{\n        if (contentContext.viewport && contentContext.isPositioned) {\n            const viewport = contentContext.viewport;\n            function handleScroll() {\n                const canScrollUp = viewport.scrollTop > 0;\n                setCanScrollUp(canScrollUp);\n            }\n            handleScroll();\n            viewport.addEventListener('scroll', handleScroll);\n            return ()=>viewport.removeEventListener('scroll', handleScroll)\n            ;\n        }\n    }, [\n        contentContext.viewport,\n        contentContext.isPositioned\n    ]);\n    return canScrollUp1 ? /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$SelectScrollButtonImpl, $01b9c$babelruntimehelpersesmextends({}, props, {\n        ref: composedRefs,\n        onAutoScroll: ()=>{\n            const { viewport: viewport , selectedItem: selectedItem  } = contentContext;\n            if (viewport && selectedItem) viewport.scrollTop = viewport.scrollTop - selectedItem.offsetHeight;\n        }\n    })) : null;\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$d8117927658af6d7, {\n    displayName: $cc7e05a45900e73f$var$SCROLL_UP_BUTTON_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectScrollDownButton\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$SCROLL_DOWN_BUTTON_NAME = 'SelectScrollDownButton';\nconst $cc7e05a45900e73f$export$ff951e476c12189 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n    const contentContext = $cc7e05a45900e73f$var$useSelectContentContext($cc7e05a45900e73f$var$SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n    const viewportContext = $cc7e05a45900e73f$var$useSelectViewportContext($cc7e05a45900e73f$var$SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n    const [canScrollDown1, setCanScrollDown] = $01b9c$useState(false);\n    const composedRefs = $01b9c$useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n    $01b9c$useLayoutEffect(()=>{\n        if (contentContext.viewport && contentContext.isPositioned) {\n            const viewport = contentContext.viewport;\n            function handleScroll() {\n                const maxScroll = viewport.scrollHeight - viewport.clientHeight; // we use Math.ceil here because if the UI is zoomed-in\n                // `scrollTop` is not always reported as an integer\n                const canScrollDown = Math.ceil(viewport.scrollTop) < maxScroll;\n                setCanScrollDown(canScrollDown);\n            }\n            handleScroll();\n            viewport.addEventListener('scroll', handleScroll);\n            return ()=>viewport.removeEventListener('scroll', handleScroll)\n            ;\n        }\n    }, [\n        contentContext.viewport,\n        contentContext.isPositioned\n    ]);\n    return canScrollDown1 ? /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$SelectScrollButtonImpl, $01b9c$babelruntimehelpersesmextends({}, props, {\n        ref: composedRefs,\n        onAutoScroll: ()=>{\n            const { viewport: viewport , selectedItem: selectedItem  } = contentContext;\n            if (viewport && selectedItem) viewport.scrollTop = viewport.scrollTop + selectedItem.offsetHeight;\n        }\n    })) : null;\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$ff951e476c12189, {\n    displayName: $cc7e05a45900e73f$var$SCROLL_DOWN_BUTTON_NAME\n});\nconst $cc7e05a45900e73f$var$SelectScrollButtonImpl = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n    const { __scopeSelect: __scopeSelect , onAutoScroll: onAutoScroll , ...scrollIndicatorProps } = props;\n    const contentContext = $cc7e05a45900e73f$var$useSelectContentContext('SelectScrollButton', __scopeSelect);\n    const autoScrollTimerRef = $01b9c$useRef(null);\n    const getItems = $cc7e05a45900e73f$var$useCollection(__scopeSelect);\n    const clearAutoScrollTimer = $01b9c$useCallback(()=>{\n        if (autoScrollTimerRef.current !== null) {\n            window.clearInterval(autoScrollTimerRef.current);\n            autoScrollTimerRef.current = null;\n        }\n    }, []);\n    $01b9c$useEffect(()=>{\n        return ()=>clearAutoScrollTimer()\n        ;\n    }, [\n        clearAutoScrollTimer\n    ]); // When the viewport becomes scrollable on either side, the relevant scroll button will mount.\n    // Because it is part of the normal flow, it will push down (top button) or shrink (bottom button)\n    // the viewport, potentially causing the active item to now be partially out of view.\n    // We re-run the `scrollIntoView` logic to make sure it stays within the viewport.\n    $01b9c$useLayoutEffect(()=>{\n        var _activeItem$ref$curre;\n        const activeItem = getItems().find((item)=>item.ref.current === document.activeElement\n        );\n        activeItem === null || activeItem === void 0 || (_activeItem$ref$curre = activeItem.ref.current) === null || _activeItem$ref$curre === void 0 || _activeItem$ref$curre.scrollIntoView({\n            block: 'nearest'\n        });\n    }, [\n        getItems\n    ]);\n    return /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.div, $01b9c$babelruntimehelpersesmextends({\n        \"aria-hidden\": true\n    }, scrollIndicatorProps, {\n        ref: forwardedRef,\n        style: {\n            flexShrink: 0,\n            ...scrollIndicatorProps.style\n        },\n        onPointerDown: $01b9c$composeEventHandlers(scrollIndicatorProps.onPointerDown, ()=>{\n            if (autoScrollTimerRef.current === null) autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n        }),\n        onPointerMove: $01b9c$composeEventHandlers(scrollIndicatorProps.onPointerMove, ()=>{\n            var _contentContext$onIte3;\n            (_contentContext$onIte3 = contentContext.onItemLeave) === null || _contentContext$onIte3 === void 0 || _contentContext$onIte3.call(contentContext);\n            if (autoScrollTimerRef.current === null) autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n        }),\n        onPointerLeave: $01b9c$composeEventHandlers(scrollIndicatorProps.onPointerLeave, ()=>{\n            clearAutoScrollTimer();\n        })\n    }));\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectSeparator\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$SEPARATOR_NAME = 'SelectSeparator';\nconst $cc7e05a45900e73f$export$eba4b1df07cb1d3 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n    const { __scopeSelect: __scopeSelect , ...separatorProps } = props;\n    return /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.div, $01b9c$babelruntimehelpersesmextends({\n        \"aria-hidden\": true\n    }, separatorProps, {\n        ref: forwardedRef\n    }));\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$eba4b1df07cb1d3, {\n    displayName: $cc7e05a45900e73f$var$SEPARATOR_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectArrow\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$ARROW_NAME = 'SelectArrow';\nconst $cc7e05a45900e73f$export$314f4cb8f8099628 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n    const { __scopeSelect: __scopeSelect , ...arrowProps } = props;\n    const popperScope = $cc7e05a45900e73f$var$usePopperScope(__scopeSelect);\n    const context = $cc7e05a45900e73f$var$useSelectContext($cc7e05a45900e73f$var$ARROW_NAME, __scopeSelect);\n    const contentContext = $cc7e05a45900e73f$var$useSelectContentContext($cc7e05a45900e73f$var$ARROW_NAME, __scopeSelect);\n    return context.open && contentContext.position === 'popper' ? /*#__PURE__*/ $01b9c$createElement($01b9c$Arrow, $01b9c$babelruntimehelpersesmextends({}, popperScope, arrowProps, {\n        ref: forwardedRef\n    })) : null;\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$314f4cb8f8099628, {\n    displayName: $cc7e05a45900e73f$var$ARROW_NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$BubbleSelect = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n    const { value: value , ...selectProps } = props;\n    const ref = $01b9c$useRef(null);\n    const composedRefs = $01b9c$useComposedRefs(forwardedRef, ref);\n    const prevValue = $01b9c$usePrevious(value); // Bubble value change to parents (e.g form change event)\n    $01b9c$useEffect(()=>{\n        const select = ref.current;\n        const selectProto = window.HTMLSelectElement.prototype;\n        const descriptor = Object.getOwnPropertyDescriptor(selectProto, 'value');\n        const setValue = descriptor.set;\n        if (prevValue !== value && setValue) {\n            const event = new Event('change', {\n                bubbles: true\n            });\n            setValue.call(select, value);\n            select.dispatchEvent(event);\n        }\n    }, [\n        prevValue,\n        value\n    ]);\n    /**\n   * We purposefully use a `select` here to support form autofill as much\n   * as possible.\n   *\n   * We purposefully do not add the `value` attribute here to allow the value\n   * to be set programatically and bubble to any parent form `onChange` event.\n   * Adding the `value` will cause React to consider the programatic\n   * dispatch a duplicate and it will get swallowed.\n   *\n   * We use `VisuallyHidden` rather than `display: \"none\"` because Safari autofill\n   * won't work otherwise.\n   */ return /*#__PURE__*/ $01b9c$createElement($01b9c$VisuallyHidden, {\n        asChild: true\n    }, /*#__PURE__*/ $01b9c$createElement(\"select\", $01b9c$babelruntimehelpersesmextends({}, selectProps, {\n        ref: composedRefs,\n        defaultValue: value\n    })));\n});\n$cc7e05a45900e73f$var$BubbleSelect.displayName = 'BubbleSelect';\nfunction $cc7e05a45900e73f$var$useTypeaheadSearch(onSearchChange) {\n    const handleSearchChange = $01b9c$useCallbackRef(onSearchChange);\n    const searchRef = $01b9c$useRef('');\n    const timerRef = $01b9c$useRef(0);\n    const handleTypeaheadSearch = $01b9c$useCallback((key)=>{\n        const search = searchRef.current + key;\n        handleSearchChange(search);\n        (function updateSearch(value) {\n            searchRef.current = value;\n            window.clearTimeout(timerRef.current); // Reset `searchRef` 1 second after it was last updated\n            if (value !== '') timerRef.current = window.setTimeout(()=>updateSearch('')\n            , 1000);\n        })(search);\n    }, [\n        handleSearchChange\n    ]);\n    const resetTypeahead = $01b9c$useCallback(()=>{\n        searchRef.current = '';\n        window.clearTimeout(timerRef.current);\n    }, []);\n    $01b9c$useEffect(()=>{\n        return ()=>window.clearTimeout(timerRef.current)\n        ;\n    }, []);\n    return [\n        searchRef,\n        handleTypeaheadSearch,\n        resetTypeahead\n    ];\n}\n/**\n * This is the \"meat\" of the typeahead matching logic. It takes in a list of items,\n * the search and the current item, and returns the next item (or `undefined`).\n *\n * We normalize the search because if a user has repeatedly pressed a character,\n * we want the exact same behavior as if we only had that one character\n * (ie. cycle through items starting with that character)\n *\n * We also reorder the items by wrapping the array around the current item.\n * This is so we always look forward from the current item, and picking the first\n * item will always be the correct one.\n *\n * Finally, if the normalized search is exactly one character, we exclude the\n * current item from the values because otherwise it would be the first to match always\n * and focus would never move. This is as opposed to the regular case, where we\n * don't want focus to move if the current item still matches.\n */ function $cc7e05a45900e73f$var$findNextItem(items, search, currentItem) {\n    const isRepeated = search.length > 1 && Array.from(search).every((char)=>char === search[0]\n    );\n    const normalizedSearch = isRepeated ? search[0] : search;\n    const currentItemIndex = currentItem ? items.indexOf(currentItem) : -1;\n    let wrappedItems = $cc7e05a45900e73f$var$wrapArray(items, Math.max(currentItemIndex, 0));\n    const excludeCurrentItem = normalizedSearch.length === 1;\n    if (excludeCurrentItem) wrappedItems = wrappedItems.filter((v)=>v !== currentItem\n    );\n    const nextItem = wrappedItems.find((item)=>item.textValue.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n    );\n    return nextItem !== currentItem ? nextItem : undefined;\n}\n/**\n * Wraps an array around itself at a given start index\n * Example: `wrapArray(['a', 'b', 'c', 'd'], 2) === ['c', 'd', 'a', 'b']`\n */ function $cc7e05a45900e73f$var$wrapArray(array, startIndex) {\n    return array.map((_, index)=>array[(startIndex + index) % array.length]\n    );\n}\nconst $cc7e05a45900e73f$export$be92b6f5f03c0fe9 = $cc7e05a45900e73f$export$ef9b1a59e592288f;\nconst $cc7e05a45900e73f$export$41fb9f06171c75f4 = $cc7e05a45900e73f$export$3ac1e88a1c0b9f1;\nconst $cc7e05a45900e73f$export$4c8d1a57a761ef94 = $cc7e05a45900e73f$export$e288731fd71264f0;\nconst $cc7e05a45900e73f$export$f04a61298a47a40f = $cc7e05a45900e73f$export$99b400cabb58c515;\nconst $cc7e05a45900e73f$export$602eac185826482c = $cc7e05a45900e73f$export$b2af6c9944296213;\nconst $cc7e05a45900e73f$export$7c6e2c02157bb7d2 = $cc7e05a45900e73f$export$c973a4b3cb86a03d;\nconst $cc7e05a45900e73f$export$d5c6c08dc2d3ca7 = $cc7e05a45900e73f$export$9ed6e7b40248d36d;\nconst $cc7e05a45900e73f$export$eb2fcfdbd7ba97d4 = $cc7e05a45900e73f$export$ee25a334c55de1f4;\nconst $cc7e05a45900e73f$export$b04be29aa201d4f5 = $cc7e05a45900e73f$export$f67338d29bd972f8;\nconst $cc7e05a45900e73f$export$6d08773d2e66f8f2 = $cc7e05a45900e73f$export$13ef48a934230896;\nconst $cc7e05a45900e73f$export$d6e5bf9c43ea9319 = $cc7e05a45900e73f$export$3572fb0fb821ff49;\nconst $cc7e05a45900e73f$export$c3468e2714d175fa = $cc7e05a45900e73f$export$6b9198de19accfe6;\nconst $cc7e05a45900e73f$export$2f60d3ec9ad468f2 = $cc7e05a45900e73f$export$d8117927658af6d7;\nconst $cc7e05a45900e73f$export$bf1aedc3039c8d63 = $cc7e05a45900e73f$export$ff951e476c12189;\nconst $cc7e05a45900e73f$export$1ff3c3f08ae963c0 = $cc7e05a45900e73f$export$eba4b1df07cb1d3;\nconst $cc7e05a45900e73f$export$21b07c8f274aebd5 = $cc7e05a45900e73f$export$314f4cb8f8099628;\n\n\n\n\nexport {$cc7e05a45900e73f$export$286727a75dc039bd as createSelectScope, $cc7e05a45900e73f$export$ef9b1a59e592288f as Select, $cc7e05a45900e73f$export$3ac1e88a1c0b9f1 as SelectTrigger, $cc7e05a45900e73f$export$e288731fd71264f0 as SelectValue, $cc7e05a45900e73f$export$99b400cabb58c515 as SelectIcon, $cc7e05a45900e73f$export$b2af6c9944296213 as SelectPortal, $cc7e05a45900e73f$export$c973a4b3cb86a03d as SelectContent, $cc7e05a45900e73f$export$9ed6e7b40248d36d as SelectViewport, $cc7e05a45900e73f$export$ee25a334c55de1f4 as SelectGroup, $cc7e05a45900e73f$export$f67338d29bd972f8 as SelectLabel, $cc7e05a45900e73f$export$13ef48a934230896 as SelectItem, $cc7e05a45900e73f$export$3572fb0fb821ff49 as SelectItemText, $cc7e05a45900e73f$export$6b9198de19accfe6 as SelectItemIndicator, $cc7e05a45900e73f$export$d8117927658af6d7 as SelectScrollUpButton, $cc7e05a45900e73f$export$ff951e476c12189 as SelectScrollDownButton, $cc7e05a45900e73f$export$eba4b1df07cb1d3 as SelectSeparator, $cc7e05a45900e73f$export$314f4cb8f8099628 as SelectArrow, $cc7e05a45900e73f$export$be92b6f5f03c0fe9 as Root, $cc7e05a45900e73f$export$41fb9f06171c75f4 as Trigger, $cc7e05a45900e73f$export$4c8d1a57a761ef94 as Value, $cc7e05a45900e73f$export$f04a61298a47a40f as Icon, $cc7e05a45900e73f$export$602eac185826482c as Portal, $cc7e05a45900e73f$export$7c6e2c02157bb7d2 as Content, $cc7e05a45900e73f$export$d5c6c08dc2d3ca7 as Viewport, $cc7e05a45900e73f$export$eb2fcfdbd7ba97d4 as Group, $cc7e05a45900e73f$export$b04be29aa201d4f5 as Label, $cc7e05a45900e73f$export$6d08773d2e66f8f2 as Item, $cc7e05a45900e73f$export$d6e5bf9c43ea9319 as ItemText, $cc7e05a45900e73f$export$c3468e2714d175fa as ItemIndicator, $cc7e05a45900e73f$export$2f60d3ec9ad468f2 as ScrollUpButton, $cc7e05a45900e73f$export$bf1aedc3039c8d63 as ScrollDownButton, $cc7e05a45900e73f$export$1ff3c3f08ae963c0 as Separator, $cc7e05a45900e73f$export$21b07c8f274aebd5 as Arrow};\n//# sourceMappingURL=index.mjs.map\n","import $6vYhU$react from \"react\";\nimport {createContextScope as $6vYhU$createContextScope} from \"@radix-ui/react-context\";\nimport {useComposedRefs as $6vYhU$useComposedRefs} from \"@radix-ui/react-compose-refs\";\nimport {Slot as $6vYhU$Slot} from \"@radix-ui/react-slot\";\n\n\n\n\n\n// We have resorted to returning slots directly rather than exposing primitives that can then\n// be slotted like `<CollectionItem as={Slot}>…</CollectionItem>`.\n// This is because we encountered issues with generic types that cannot be statically analysed\n// due to creating them dynamically via createCollection.\nfunction $e02a7d9cb1dc128c$export$c74125a8e3af6bb2(name) {\n    /* -----------------------------------------------------------------------------------------------\n   * CollectionProvider\n   * ---------------------------------------------------------------------------------------------*/ const PROVIDER_NAME = name + 'CollectionProvider';\n    const [createCollectionContext, createCollectionScope] = $6vYhU$createContextScope(PROVIDER_NAME);\n    const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(PROVIDER_NAME, {\n        collectionRef: {\n            current: null\n        },\n        itemMap: new Map()\n    });\n    const CollectionProvider = (props)=>{\n        const { scope: scope , children: children  } = props;\n        const ref = $6vYhU$react.useRef(null);\n        const itemMap = $6vYhU$react.useRef(new Map()).current;\n        return /*#__PURE__*/ $6vYhU$react.createElement(CollectionProviderImpl, {\n            scope: scope,\n            itemMap: itemMap,\n            collectionRef: ref\n        }, children);\n    };\n    /*#__PURE__*/ Object.assign(CollectionProvider, {\n        displayName: PROVIDER_NAME\n    });\n    /* -----------------------------------------------------------------------------------------------\n   * CollectionSlot\n   * ---------------------------------------------------------------------------------------------*/ const COLLECTION_SLOT_NAME = name + 'CollectionSlot';\n    const CollectionSlot = /*#__PURE__*/ $6vYhU$react.forwardRef((props, forwardedRef)=>{\n        const { scope: scope , children: children  } = props;\n        const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n        const composedRefs = $6vYhU$useComposedRefs(forwardedRef, context.collectionRef);\n        return /*#__PURE__*/ $6vYhU$react.createElement($6vYhU$Slot, {\n            ref: composedRefs\n        }, children);\n    });\n    /*#__PURE__*/ Object.assign(CollectionSlot, {\n        displayName: COLLECTION_SLOT_NAME\n    });\n    /* -----------------------------------------------------------------------------------------------\n   * CollectionItem\n   * ---------------------------------------------------------------------------------------------*/ const ITEM_SLOT_NAME = name + 'CollectionItemSlot';\n    const ITEM_DATA_ATTR = 'data-radix-collection-item';\n    const CollectionItemSlot = /*#__PURE__*/ $6vYhU$react.forwardRef((props, forwardedRef)=>{\n        const { scope: scope , children: children , ...itemData } = props;\n        const ref = $6vYhU$react.useRef(null);\n        const composedRefs = $6vYhU$useComposedRefs(forwardedRef, ref);\n        const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n        $6vYhU$react.useEffect(()=>{\n            context.itemMap.set(ref, {\n                ref: ref,\n                ...itemData\n            });\n            return ()=>void context.itemMap.delete(ref)\n            ;\n        });\n        return /*#__PURE__*/ $6vYhU$react.createElement($6vYhU$Slot, {\n            [ITEM_DATA_ATTR]: '',\n            ref: composedRefs\n        }, children);\n    });\n    /*#__PURE__*/ Object.assign(CollectionItemSlot, {\n        displayName: ITEM_SLOT_NAME\n    });\n    /* -----------------------------------------------------------------------------------------------\n   * useCollection\n   * ---------------------------------------------------------------------------------------------*/ function useCollection(scope) {\n        const context = useCollectionContext(name + 'CollectionConsumer', scope);\n        const getItems = $6vYhU$react.useCallback(()=>{\n            const collectionNode = context.collectionRef.current;\n            if (!collectionNode) return [];\n            const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));\n            const items = Array.from(context.itemMap.values());\n            const orderedItems = items.sort((a, b)=>orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)\n            );\n            return orderedItems;\n        }, [\n            context.collectionRef,\n            context.itemMap\n        ]);\n        return getItems;\n    }\n    return [\n        {\n            Provider: CollectionProvider,\n            Slot: CollectionSlot,\n            ItemSlot: CollectionItemSlot\n        },\n        useCollection,\n        createCollectionScope\n    ];\n}\n\n\n\n\nexport {$e02a7d9cb1dc128c$export$c74125a8e3af6bb2 as createCollection};\n//# sourceMappingURL=index.mjs.map\n","import {useRef as $8LvvK$useRef, useMemo as $8LvvK$useMemo} from \"react\";\n\n\nfunction $010c2913dbd2fe3d$export$5cae361ad82dce8b(value) {\n    const ref = $8LvvK$useRef({\n        value: value,\n        previous: value\n    }); // We compare values before making an update to ensure that\n    // a change has been made. This ensures the previous value is\n    // persisted correctly between renders.\n    return $8LvvK$useMemo(()=>{\n        if (ref.current.value !== value) {\n            ref.current.previous = ref.current.value;\n            ref.current.value = value;\n        }\n        return ref.current.previous;\n    }, [\n        value\n    ]);\n}\n\n\n\n\nexport {$010c2913dbd2fe3d$export$5cae361ad82dce8b as usePrevious};\n//# sourceMappingURL=index.mjs.map\n","import $7V4JZ$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {forwardRef as $7V4JZ$forwardRef, createElement as $7V4JZ$createElement} from \"react\";\nimport {Primitive as $7V4JZ$Primitive} from \"@radix-ui/react-primitive\";\n\n\n\n\n/* -------------------------------------------------------------------------------------------------\n * Label\n * -----------------------------------------------------------------------------------------------*/ const $b73a6c6685e72184$var$NAME = 'Label';\nconst $b73a6c6685e72184$export$b04be29aa201d4f5 = /*#__PURE__*/ $7V4JZ$forwardRef((props, forwardedRef)=>{\n    return /*#__PURE__*/ $7V4JZ$createElement($7V4JZ$Primitive.label, $7V4JZ$babelruntimehelpersesmextends({}, props, {\n        ref: forwardedRef,\n        onMouseDown: (event)=>{\n            var _props$onMouseDown;\n            (_props$onMouseDown = props.onMouseDown) === null || _props$onMouseDown === void 0 || _props$onMouseDown.call(props, event); // prevent text selection when double clicking label\n            if (!event.defaultPrevented && event.detail > 1) event.preventDefault();\n        }\n    }));\n});\n/*#__PURE__*/ Object.assign($b73a6c6685e72184$export$b04be29aa201d4f5, {\n    displayName: $b73a6c6685e72184$var$NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ const $b73a6c6685e72184$export$be92b6f5f03c0fe9 = $b73a6c6685e72184$export$b04be29aa201d4f5;\n\n\n\n\nexport {$b73a6c6685e72184$export$b04be29aa201d4f5 as Label, $b73a6c6685e72184$export$be92b6f5f03c0fe9 as Root};\n//# sourceMappingURL=index.mjs.map\n","\n      import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../node_modules/sass-loader/dist/cjs.js!./styles.module.scss\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../node_modules/sass-loader/dist/cjs.js!./styles.module.scss\";\n       export default content && content.locals ? content.locals : undefined;\n","import React, { useId } from \"react\";\nimport * as RadixSelect from \"@radix-ui/react-select\";\nimport { Label } from \"@radix-ui/react-label\";\nimport styles from \"./styles.module.scss\";\nimport clsx from \"clsx\";\n\ntype SelectableItem = { value: string; label?: string; items?: Item[] };\ntype GroupLabelItem = {\n  value?: string;\n  label: string;\n  items: Item[];\n  isGroupLabel: true;\n};\nexport type Item = SelectableItem | GroupLabelItem;\n\nconst isGroupLabelItem = (item: Item): item is GroupLabelItem =>\n  \"isGroupLabel\" in item && item.isGroupLabel;\n\ninterface SelectProps {\n  id?: string;\n  label: string;\n  value: string;\n  format?: \"control-bar\" | \"auto-width\";\n  onChange(value: string): void;\n  items: Item[];\n}\n\nfunction renderItems(items: Item[]): React.ReactNode {\n  return items.map((item) => {\n    if (isGroupLabelItem(item)) {\n      return (\n        <RadixSelect.Group key={item.label}>\n          <RadixSelect.Label className={styles[\"group-label\"]}>\n            {item.label}\n          </RadixSelect.Label>\n          <div className={styles.group}>\n            <div className={styles[\"sub-group\"]}>{renderItems(item.items)}</div>\n          </div>\n        </RadixSelect.Group>\n      );\n    }\n\n    const itemText = item.label || item.value;\n\n    const renderedItem = (\n      <RadixSelect.Item value={item.value} className={styles.item}>\n        <RadixSelect.ItemText>{itemText}</RadixSelect.ItemText>\n        <RadixSelect.ItemIndicator className={styles.indicator}>\n          <svg\n            width=\"15\"\n            height=\"15\"\n            viewBox=\"0 0 15 15\"\n            fill=\"none\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n          >\n            <path\n              d=\"M11.4669 3.72684C11.7558 3.91574 11.8369 4.30308 11.648 4.59198L7.39799 11.092C7.29783 11.2452 7.13556 11.3467 6.95402 11.3699C6.77247 11.3931 6.58989 11.3355 6.45446 11.2124L3.70446 8.71241C3.44905 8.48022 3.43023 8.08494 3.66242 7.82953C3.89461 7.57412 4.28989 7.55529 4.5453 7.78749L6.75292 9.79441L10.6018 3.90792C10.7907 3.61902 11.178 3.53795 11.4669 3.72684Z\"\n              fill=\"currentColor\"\n              fillRule=\"evenodd\"\n              clipRule=\"evenodd\"\n            />\n          </svg>\n        </RadixSelect.ItemIndicator>\n      </RadixSelect.Item>\n    );\n    return item.items?.length ? (\n      <RadixSelect.Group key={item.value}>\n        <RadixSelect.Label className={styles.hide}>\n          {itemText}\n        </RadixSelect.Label>\n        <div className={styles.group}>\n          <div className={styles.parent}>{renderedItem}</div>\n          <div className={styles[\"sub-group\"]}>{renderItems(item.items)}</div>\n        </div>\n      </RadixSelect.Group>\n    ) : (\n      <div className={styles.single} key={item.value}>\n        {renderedItem}\n      </div>\n    );\n  });\n}\n\nconst findItem = (items: Item[], value: string): SelectableItem | undefined => {\n  for (const item of items) {\n    if (!isGroupLabelItem(item) && item.value === value) {\n      return item;\n    }\n    if (item.items) {\n      const found = findItem(item.items, value);\n      if (found) {\n        return found;\n      }\n    }\n  }\n};\n\nexport function Select({\n  id: propsId,\n  label,\n  value,\n  format,\n  onChange,\n  items,\n}: SelectProps) {\n  const randomId = useId();\n  const id = propsId || randomId;\n\n  const selectedItem = findItem(items, value);\n  const itemText = selectedItem?.label || selectedItem?.value;\n\n  return (\n    <div\n      data-component=\"select\"\n      className={clsx(styles.container, {\n        [styles[\"control-bar\"]]: format === \"control-bar\",\n        [styles[\"auto-width\"]]: format == \"auto-width\",\n      })}\n    >\n      <Label htmlFor={id} className={styles.label}>\n        {label}\n      </Label>\n      <RadixSelect.Root value={value} onValueChange={onChange}>\n        <RadixSelect.Trigger id={id} className={styles.button}>\n          <RadixSelect.Value>{itemText}</RadixSelect.Value>\n        </RadixSelect.Trigger>\n        <RadixSelect.Portal className={styles.portal}>\n          <RadixSelect.Content className={styles.content}>\n            <RadixSelect.ScrollUpButton>\n              <div className={styles[\"scroll-button-up\"]} />\n            </RadixSelect.ScrollUpButton>\n            <RadixSelect.Viewport className={styles.viewport}>\n              {renderItems(items)}\n            </RadixSelect.Viewport>\n            <RadixSelect.ScrollDownButton>\n              <div className={styles[\"scroll-button-down\"]} />\n            </RadixSelect.ScrollDownButton>\n          </RadixSelect.Content>\n        </RadixSelect.Portal>\n      </RadixSelect.Root>\n    </div>\n  );\n}\n","export default [\n  \"apc\",\n  \"are\",\n  \"arg\",\n  \"aus\",\n  \"aut\",\n  \"bel\",\n  \"bgd\",\n  \"bra\",\n  \"can\",\n  \"che\",\n  \"chl\",\n  \"chn\",\n  \"col\",\n  \"cze\",\n  \"deu\",\n  \"dnk\",\n  \"eca\",\n  \"egy\",\n  \"esp\",\n  \"eue\",\n  \"fin\",\n  \"fra\",\n  \"gbr\",\n  \"gch\",\n  \"hkg\",\n  \"idn\",\n  \"ind\",\n  \"irl\",\n  \"isr\",\n  \"ita\",\n  \"jpn\",\n  \"kor\",\n  \"lac\",\n  \"mex\",\n  \"mna\",\n  \"mys\",\n  \"nac\",\n  \"nga\",\n  \"nld\",\n  \"nor\",\n  \"nzl\",\n  \"pak\",\n  \"phl\",\n  \"pol\",\n  \"prt\",\n  \"rou\",\n  \"rus\",\n  \"sau\",\n  \"sgp\",\n  \"ssa\",\n  \"swe\",\n  \"tha\",\n  \"tur\",\n  \"usa\",\n  \"vnm\",\n  \"wld\",\n  \"zaf\",\n] as const;\n","export default {\n  ABW: \"Aruba\",\n  AFG: \"Afghanistan\",\n  AGO: \"Angola\",\n  AIA: \"Anguilla\",\n  ALB: \"Albania\",\n  AND: \"Andorra\",\n  ARE: \"U.A.E.\",\n  ARG: \"Argentina\",\n  ARM: \"Armenia\",\n  ASM: \"American Samoa\",\n  ATA: \"Antarctica\",\n  ATF: \"French Southern and Atlandic Lands\",\n  ATG: \"Antigua and Barbuda\",\n  AUS: \"Australia\",\n  AUT: \"Austria\",\n  AZE: \"Azerbaijan\",\n  BDI: \"Burundi\",\n  BEL: \"Belgium\",\n  BEN: \"Benin\",\n  BES: \"Bonaire\",\n  BFA: \"Burkina Faso\",\n  BGD: \"Bangladesh\",\n  BGR: \"Bulgaria\",\n  BHR: \"Bahrain\",\n  BHS: \"Bahamas\",\n  BIH: \"Bosnia Herzegovina\",\n  BLM: \"Saint Barthélemy\",\n  BLR: \"Belarus\",\n  BLZ: \"Belize\",\n  BMU: \"Bermuda\",\n  BOL: \"Bolivia\",\n  BRA: \"Brazil\",\n  BRB: \"Barbados\",\n  BRN: \"Brunei Darussalam\",\n  BTN: \"Bhutan\",\n  BVT: \"Bouvet Island\",\n  BWA: \"Botswana\",\n  CAF: \"Central African Republic\",\n  CAN: \"Canada\",\n  CCK: \"Cocos Islands\",\n  CHE: \"Switzerland\",\n  CHL: \"Chile\",\n  CHN: \"China (Mainland)\",\n  CIV: \"Côte d'Ivoire\",\n  CMR: \"Cameroon\",\n  COD: \"Dem. Rep. of the Congo\",\n  COG: \"Congo\",\n  COK: \"Cook Islands\",\n  COL: \"Colombia\",\n  COM: \"Comoros\",\n  CPV: \"Cabo Verde\",\n  CRI: \"Costa Rica\",\n  CUB: \"Cuba\",\n  CUW: \"Curaçao\",\n  CXR: \"Christmas Islands\",\n  CYM: \"Cayman Islands\",\n  CYP: \"Cyprus\",\n  CZE: \"Czech Republic\",\n  DEU: \"Germany\",\n  DJI: \"Djibouti\",\n  DMA: \"Dominica\",\n  DNK: \"Denmark\",\n  DOM: \"Dominican Republic\",\n  DZA: \"Algeria\",\n  ECU: \"Ecuador\",\n  EGY: \"Egypt\",\n  ERI: \"Eritrea\",\n  ESH: \"Western Sahara\",\n  ESP: \"Spain\",\n  EST: \"Estonia\",\n  ETH: \"Ethiopia\",\n  FIN: \"Finland\",\n  FJI: \"Fiji\",\n  FLK: \"Falkland Islands\",\n  FRA: \"France\",\n  FRO: \"Faeroe Islands\",\n  FSM: \"FS of Micronesia\",\n  GAB: \"Gabon\",\n  GBR: \"United Kingdom\",\n  GEO: \"Georgia\",\n  GHA: \"Ghana\",\n  GIB: \"Gibraltar\",\n  GIN: \"Guinea\",\n  GLP: \"Guadeloupe\",\n  GMB: \"Gambia\",\n  GNB: \"Guinea-Bissau\",\n  GNQ: \"Equatorial Guinea\",\n  GRC: \"Greece\",\n  GRD: \"Grenada\",\n  GRL: \"Greenland\",\n  GTM: \"Guatemala\",\n  GUF: \"French Guiana\",\n  GUM: \"Guam\",\n  GUY: \"Guyana\",\n  HKG: \"Hong Kong SAR\",\n  HMD: \"Heard Isd and McDonald Isds\",\n  HND: \"Honduras\",\n  HRV: \"Croatia\",\n  HTI: \"Haiti\",\n  HUN: \"Hungary\",\n  IDN: \"Indonesia\",\n  IND: \"India\",\n  IOT: \"British Indian Ocean Terr.\",\n  IRL: \"Ireland\",\n  IRN: \"Iran\",\n  IRQ: \"Iraq\",\n  ISL: \"Iceland\",\n  ISR: \"Israel\",\n  ITA: \"Italy\",\n  JAM: \"Jamaica\",\n  JOR: \"Jordan\",\n  JPN: \"Japan\",\n  KAS: \"Kashmir\",\n  KAZ: \"Kazakhstan\",\n  KEN: \"Kenya\",\n  KGZ: \"Kyrgyzstan\",\n  KHM: \"Cambodia\",\n  KIR: \"Kiribati\",\n  KNA: \"St. Kitts and Nevis\",\n  KOR: \"South Korea\",\n  KWT: \"Kuwait\",\n  LAO: \"Laos\",\n  LBN: \"Lebanon\",\n  LBR: \"Liberia\",\n  LBY: \"Libya\",\n  LCA: \"Saint Lucia\",\n  LIE: \"Liechenstein\",\n  LKA: \"Sri Lanka\",\n  LSO: \"Lesotho\",\n  LTU: \"Lithuania\",\n  LUX: \"Luxembourg\",\n  LVA: \"Latvia\",\n  MAC: \"Macau SAR\",\n  MAF: \"Saint Martin\",\n  MAR: \"Morocco\",\n  MCO: \"Monaco\",\n  MDA: \"Moldova\",\n  MDG: \"Madagascar\",\n  MDV: \"Maldives\",\n  MEX: \"Mexico\",\n  MHL: \"Marshall Islands\",\n  MKD: \"North Macedonia\",\n  MLI: \"Mali\",\n  MLT: \"Malta\",\n  MMR: \"Myanmar\",\n  MNE: \"Montenegro\",\n  MNG: \"Mongolia\",\n  MNP: \"Northern Mariana Islands\",\n  MOZ: \"Mozambique\",\n  MRT: \"Mauritania\",\n  MSR: \"Montserrat\",\n  MTQ: \"Martinique\",\n  MUS: \"Mauritius\",\n  MWI: \"Malawi\",\n  MYS: \"Malaysia\",\n  MYT: \"Mayotte\",\n  NAM: \"Namibia\",\n  NCL: \"New Caledonia\",\n  NEC: \"Not Specified\",\n  NER: \"Niger\",\n  NFK: \"Norfolk Islands\",\n  NGA: \"Nigeria\",\n  NIC: \"Nicaragua\",\n  NIU: \"Niue\",\n  NLD: \"Netherlands\",\n  NOR: \"Norway\",\n  NPL: \"Nepal\",\n  NRU: \"Nauru\",\n  NZL: \"New Zealand\",\n  OMN: \"Oman\",\n  PAK: \"Pakistan\",\n  PAN: \"Panama\",\n  PCN: \"Pitcairn\",\n  PER: \"Peru\",\n  PHL: \"Philippines\",\n  PLW: \"Palau\",\n  PNG: \"Papua New Guinea\",\n  POL: \"Poland\",\n  PRI: \"Puerto Rico\",\n  PRK: \"North Korea\",\n  PRT: \"Portugal\",\n  PRY: \"Paraguay\",\n  PSE: \"State of Palestine\",\n  PYF: \"French Polynesia\",\n  QAT: \"Qatar\",\n  REU: \"Réunion\",\n  ROU: \"Romania\",\n  RUS: \"Russia\",\n  RWA: \"Rwanda\",\n  SAU: \"Saudi Arabia\",\n  SDN: \"Sudan\",\n  SEN: \"Senegal\",\n  SGP: \"Singapore\",\n  SGS: \"South Georgia\",\n  SHN: \"Saint Helena\",\n  SLB: \"Solomon Islands\",\n  SLE: \"Sierra Leone\",\n  SLV: \"El Salvador\",\n  SMR: \"San Marino\",\n  SOM: \"Somalia\",\n  SPM: \"St. Pierre and Miquelon\",\n  SRB: \"Serbia\",\n  SSD: \"South Sudan\",\n  STP: \"São Tomé and Príncipe\",\n  SUR: \"Suriname\",\n  SVK: \"Slovakia\",\n  SVN: \"Slovenia\",\n  SWE: \"Sweden\",\n  SWZ: \"Eswatini\",\n  SXM: \"Sint Maarten\",\n  SYC: \"Seychelles\",\n  SYR: \"Syria\",\n  TCA: \"Turks and Caicos Islands\",\n  TCD: \"Chad\",\n  TGO: \"Togo\",\n  THA: \"Thailand\",\n  TJK: \"Tajikistan\",\n  TKL: \"Tokelau\",\n  TKM: \"Turkmenistan\",\n  TLS: \"Timor-Leste\",\n  TON: \"Tonga\",\n  TTO: \"Trinidad and Tobago\",\n  TUN: \"Tunisia\",\n  TUR: \"Türkiye\",\n  TUV: \"Tuvalu\",\n  TWN: \"Taiwan, China\",\n  TZA: \"Tanzania\",\n  UGA: \"Uganda\",\n  UKR: \"Ukraine\",\n  URY: \"Uruguay\",\n  USA: \"United States\",\n  UZB: \"Uzbekistan\",\n  VAT: \"Vatican City State\",\n  VCT: \"St. Vincent and the Grenadines\",\n  VEN: \"Venezuela\",\n  VGB: \"British Virgin Islands\",\n  VIR: \"US Virgin Islands\",\n  VNM: \"Vietnam\",\n  VUT: \"Vanuatu\",\n  WLF: \"Wallis and Futuna Isds\",\n  WSM: \"Samoa\",\n  XKV: \"Kosovo\",\n  YEM: \"Yemen\",\n  ZAF: \"South Africa\",\n  ZMB: \"Zambia\",\n  ZWE: \"Zimbabwe\",\n} as const;\n","export default {\n  APC: \"Asia-Pacific\",\n  ECA: \"Other Europe & Central Asia\",\n  MNA: \"Middle East & North Africa\",\n  SSA: \"Sub-Saharan Africa\",\n  LAC: \"Latin America & Caribbean\",\n  ROW: \"Rest of the World\",\n  EUE: \"Europe 30\",\n  GCH: \"Greater China\",\n  NAC: \"North America\",\n  WLD: \"World\",\n  NES: \"Not specified\",\n} as const;\n","export default {\n  \"01M\": \"Chemicals\",\n  \"01R\": \"Agriculture\",\n  \"02M\": \"Electronics\",\n  \"02R\": \"Energy resources\",\n  \"03M\": \"Food & beverages\",\n  \"03R\": \"Minerals\",\n  \"04M\": \"Machinery\",\n  \"05M\": \"Medical & scientific instruments\",\n  \"06M\": \"Metal products\",\n  \"07M\": \"Non-metallic mineral products\",\n  \"08M\": \"Others\",\n  \"09M\": \"Pharmaceutical products\",\n  \"0AG\": \"All goods\",\n  \"0MG\": \"Manufactured goods\",\n  \"0RS\": \"Resources\",\n  \"10M\": \"Rubber & plastic products\",\n  \"11M\": \"Textiles\",\n  \"12M\": \"Transport equipment\",\n  \"13M\": \"Wood & paper products\",\n} as const;\n","import economies from \"@/config/economies\";\nimport regions from \"@/config/regions\";\nimport sectors from \"@/config/sectors\";\nimport subSectors from \"@/config/sub-sectors\";\n\nexport const formatMoney = (\n  rawValue: string | number,\n  skipLessThan?: boolean\n) => {\n  const value = typeof rawValue === \"number\" ? rawValue : parseInt(rawValue);\n  const absValue = Math.abs(value);\n  const prefix = value < 0 ? \"-\" : \"\";\n  let formattedValue = \"\";\n\n  console.log(\"value\", value);\n\n  if (absValue === 0 && !skipLessThan) {\n    return \"Not available\";\n  } else if (absValue < 1_000_000 && !skipLessThan) {\n    return `<${prefix}$1M`;\n  } else if (skipLessThan && absValue === 0) {\n    return \"$0\";\n  }\n\n  if (absValue < 10_000_000 && absValue !== 0) {\n    formattedValue = `${(Math.round(absValue / 100_000) / 10).toLocaleString(\n      undefined,\n      {\n        minimumFractionDigits: 1,\n      }\n    )}M`;\n  } else if (absValue < 100_000_000 && absValue !== 0) {\n    formattedValue = `${Math.round(absValue / 1_000_000).toLocaleString()}M`;\n  } else if (absValue < 1_000_000_000 && absValue !== 0) {\n    formattedValue = `${Math.round(absValue / 10_000_00).toLocaleString()}M`;\n  } else if (absValue < 10_000_000_000 && absValue !== 0) {\n    formattedValue = `${(\n      Math.round(absValue / 100_000_000) / 10\n    ).toLocaleString(undefined, {\n      minimumFractionDigits: 1,\n    })}B`;\n  } else {\n    formattedValue = `${(\n      Math.round(absValue / 100_000_000) / 10\n    ).toLocaleString(undefined, {\n      maximumFractionDigits: 0,\n    })}B`;\n  }\n\n  return `${prefix}$${formattedValue}`;\n};\n\n// Format numbers in a better way than formatMoney for screen readers, e.g. read\n// \"$1.2B\" as \"1 billion 2 hundred million dollars\" instead of \"1 point 2 b dollars\".\nexport const formatMoneySr = (rawValue: string | number) => {\n  const value = typeof rawValue === \"number\" ? rawValue : parseInt(rawValue);\n  const valueLength = Math.round(value).toString().length;\n  const digits =\n    valueLength > 12 ? 4 : valueLength === 9 || valueLength > 11 ? 3 : 2;\n\n  return `$${new Intl.NumberFormat(\"en-US\", {\n    maximumSignificantDigits: digits,\n  }).format(value)}`;\n};\n\nconst isValidEconomyCode = (\n  economyCode: string\n): economyCode is keyof typeof economies => economyCode in economies;\n\nconst isValidRegionCode = (\n  economyCode: string\n): economyCode is keyof typeof regions => economyCode in regions;\n\nexport const getEconomyDisplayName = (economyCode?: string) => {\n  const uppercaseEconomyCode = economyCode?.toUpperCase() || \"\";\n\n  if (isValidEconomyCode(uppercaseEconomyCode)) {\n    return economies[uppercaseEconomyCode];\n  }\n\n  if (isValidRegionCode(uppercaseEconomyCode)) {\n    return regions[uppercaseEconomyCode];\n  }\n\n  return economyCode || \"\";\n};\n\nexport const makePossessive = (text: string) => {\n  const endsInS = text[text.length - 1] === \"s\";\n  return `${text}${endsInS ? `’` : `’s`}`;\n};\n\nexport const formatPercentage = (value: number) => {\n  const percentage = value * 100;\n  const roundedPercentage = Math.abs(Math.round(percentage));\n  const prefix = percentage < 0 ? \"-\" : \"\";\n\n  if (Math.abs(percentage) < 1) {\n    return percentage < 0 ? \">-1%\" : \"<1%\";\n  }\n\n  return `${prefix}${roundedPercentage.toLocaleString()}%`;\n};\n\nconst isValidSectorCode = (\n  sectorCode: string\n): sectorCode is keyof typeof sectors => sectorCode in sectors;\n\nexport const getSectorDisplayName = (sectorCode?: string) => {\n  const uppercaseSectorCode = sectorCode?.toUpperCase() || \"\";\n\n  if (isValidSectorCode(uppercaseSectorCode)) {\n    return sectors[uppercaseSectorCode];\n  }\n\n  return sectorCode || \"\";\n};\n\nconst isValidSubSectorCode = (\n  subSectorCode: string\n): subSectorCode is keyof typeof subSectors => subSectorCode in subSectors;\n\nexport const getSubSectorDisplayName = (subSectorCode?: string) => {\n  const uppercaseSubSectorCode = subSectorCode?.toUpperCase() || \"\";\n\n  if (isValidSubSectorCode(uppercaseSubSectorCode)) {\n    return subSectors[uppercaseSubSectorCode];\n  }\n\n  return subSectorCode || \"\";\n};\n\nexport const formatDisplayList = (list: string[]) =>\n  `${list.slice(0, -1).join(\", \")}${\n    list.length > 2 ? \",\" : \"\"\n  } and ${list.slice(-1)}`;\n\nexport const isOtherSubSectorCode = (subSectorCode: string) =>\n  getSubSectorDisplayName(subSectorCode).toLowerCase() === \"other\" ||\n  getSubSectorDisplayName(subSectorCode).toLowerCase() === \"others\";\n\nexport const subSectorsSort = (a: string, b: string) => {\n  const aDisplayName = getSubSectorDisplayName(a);\n  const bDisplayName = getSubSectorDisplayName(b);\n\n  if (isOtherSubSectorCode(a)) {\n    return 1;\n  }\n  if (isOtherSubSectorCode(b)) {\n    return -1;\n  }\n\n  if (aDisplayName.toLowerCase() === \"total\") {\n    return -1;\n  }\n  if (bDisplayName.toLowerCase() === \"total\") {\n    return 1;\n  }\n\n  return aDisplayName.localeCompare(bDisplayName);\n};\n\ntype FormatFunction = (value: string, name: string, index: number) => unknown;\ntype SchemaItem = {\n  name: string;\n  format?: FormatFunction;\n};\n\nexport function formatRows<T extends readonly SchemaItem[]>(\n  rows: unknown,\n  schema: T\n) {\n  if (!Array.isArray(rows)) {\n    throw new Error(\"Data is not an array\");\n  }\n\n  return rows\n    .filter((row) =>\n      schema.every((item, index) => {\n        if (!row[item.name]) {\n          console.error(\n            `Skipping row ${index} because it is missing column \"${\n              item.name\n            }\": ${JSON.stringify(row)}`\n          );\n          return false;\n        }\n\n        return true;\n      })\n    )\n    .map(\n      (row, index) =>\n        schema.reduce((rowWithKeys, item) => {\n          const value = row[item.name];\n          const formattedValue =\n            item.format?.(value, item.name, index) ?? value;\n\n          return {\n            ...rowWithKeys,\n            [item.name]: formattedValue,\n          };\n        }, {}) as {\n          [K in T[number][\"name\"]]: Extract<\n            T[number],\n            { name: K }\n          >[\"format\"] extends infer F\n            ? F extends FormatFunction\n              ? ReturnType<F>\n              : string\n            : string;\n        }\n    );\n}\n","export default {\n  ABW: \"LAC\",\n  AFG: \"APC\",\n  AGO: \"SSA\",\n  AIA: \"LAC\",\n  ALB: \"ECA\",\n  AND: \"ECA\",\n  ARE: \"MNA\",\n  ARG: \"LAC\",\n  ARM: \"ECA\",\n  ASM: \"APC\",\n  ATA: \"ROW\",\n  ATF: \"ROW\",\n  ATG: \"LAC\",\n  AUS: \"APC\",\n  AUT: \"EUE\",\n  AZE: \"ECA\",\n  BDI: \"SSA\",\n  BEL: \"EUE\",\n  BEN: \"SSA\",\n  BES: \"LAC\",\n  BFA: \"SSA\",\n  BGD: \"APC\",\n  BGR: \"EUE\",\n  BHR: \"MNA\",\n  BHS: \"LAC\",\n  BIH: \"ECA\",\n  BLM: \"LAC\",\n  BLR: \"ECA\",\n  BLZ: \"LAC\",\n  BMU: \"LAC\",\n  BOL: \"LAC\",\n  BRA: \"LAC\",\n  BRB: \"LAC\",\n  BRN: \"APC\",\n  BTN: \"APC\",\n  BVT: \"ROW\",\n  BWA: \"SSA\",\n  CAF: \"SSA\",\n  CAN: \"NAC\",\n  CCK: \"APC\",\n  CHE: \"EUE\",\n  CHL: \"LAC\",\n  CHN: \"GCH\",\n  CIV: \"SSA\",\n  CMR: \"SSA\",\n  COD: \"SSA\",\n  COG: \"SSA\",\n  COK: \"APC\",\n  COL: \"LAC\",\n  COM: \"SSA\",\n  CPV: \"SSA\",\n  CRI: \"LAC\",\n  CUB: \"LAC\",\n  CUW: \"LAC\",\n  CXR: \"APC\",\n  CYM: \"LAC\",\n  CYP: \"EUE\",\n  CZE: \"EUE\",\n  DEU: \"EUE\",\n  DJI: \"SSA\",\n  DMA: \"LAC\",\n  DNK: \"EUE\",\n  DOM: \"LAC\",\n  DZA: \"MNA\",\n  ECU: \"LAC\",\n  EGY: \"MNA\",\n  ERI: \"SSA\",\n  ESH: \"MNA\",\n  ESP: \"EUE\",\n  EST: \"EUE\",\n  ETH: \"SSA\",\n  FIN: \"EUE\",\n  FJI: \"APC\",\n  FLK: \"LAC\",\n  FRA: \"EUE\",\n  FRO: \"ECA\",\n  FSM: \"APC\",\n  GAB: \"SSA\",\n  GBR: \"EUE\",\n  GEO: \"ECA\",\n  GHA: \"SSA\",\n  GIB: \"ECA\",\n  GIN: \"SSA\",\n  GLP: \"LAC\",\n  GMB: \"SSA\",\n  GNB: \"SSA\",\n  GNQ: \"SSA\",\n  GRC: \"EUE\",\n  GRD: \"LAC\",\n  GRL: \"ECA\",\n  GTM: \"LAC\",\n  GUF: \"LAC\",\n  GUM: \"APC\",\n  GUY: \"LAC\",\n  HKG: \"GCH\",\n  HMD: \"ROW\",\n  HND: \"LAC\",\n  HRV: \"EUE\",\n  HTI: \"LAC\",\n  HUN: \"EUE\",\n  IDN: \"APC\",\n  IND: \"APC\",\n  IOT: \"SSA\",\n  IRL: \"EUE\",\n  IRN: \"MNA\",\n  IRQ: \"MNA\",\n  ISL: \"ECA\",\n  ISR: \"MNA\",\n  ITA: \"EUE\",\n  JAM: \"LAC\",\n  JOR: \"MNA\",\n  JPN: \"APC\",\n  KAS: \"APC\",\n  KAZ: \"ECA\",\n  KEN: \"SSA\",\n  KGZ: \"ECA\",\n  KHM: \"APC\",\n  KIR: \"APC\",\n  KNA: \"LAC\",\n  KOR: \"APC\",\n  KWT: \"MNA\",\n  LAO: \"APC\",\n  LBN: \"MNA\",\n  LBR: \"SSA\",\n  LBY: \"MNA\",\n  LCA: \"LAC\",\n  LIE: \"ECA\",\n  LKA: \"APC\",\n  LSO: \"SSA\",\n  LTU: \"EUE\",\n  LUX: \"EUE\",\n  LVA: \"EUE\",\n  MAC: \"GCH\",\n  MAF: \"LAC\",\n  MAR: \"MNA\",\n  MCO: \"ECA\",\n  MDA: \"ECA\",\n  MDG: \"SSA\",\n  MDV: \"APC\",\n  MEX: \"NAC\",\n  MHL: \"APC\",\n  MKD: \"ECA\",\n  MLI: \"SSA\",\n  MLT: \"EUE\",\n  MMR: \"APC\",\n  MNE: \"ECA\",\n  MNG: \"APC\",\n  MNP: \"APC\",\n  MOZ: \"SSA\",\n  MRT: \"SSA\",\n  MSR: \"LAC\",\n  MTQ: \"LAC\",\n  MUS: \"SSA\",\n  MWI: \"SSA\",\n  MYS: \"APC\",\n  MYT: \"SSA\",\n  NAM: \"SSA\",\n  NCL: \"APC\",\n  NEC: \"NES\",\n  NER: \"SSA\",\n  NFK: \"APC\",\n  NGA: \"SSA\",\n  NIC: \"LAC\",\n  NIU: \"APC\",\n  NLD: \"EUE\",\n  NOR: \"EUE\",\n  NPL: \"APC\",\n  NRU: \"APC\",\n  NZL: \"APC\",\n  OMN: \"MNA\",\n  PAK: \"APC\",\n  PAN: \"LAC\",\n  PCN: \"APC\",\n  PER: \"LAC\",\n  PHL: \"APC\",\n  PLW: \"APC\",\n  PNG: \"APC\",\n  POL: \"EUE\",\n  PRI: \"LAC\",\n  PRK: \"APC\",\n  PRT: \"EUE\",\n  PRY: \"LAC\",\n  PSE: \"MNA\",\n  PYF: \"APC\",\n  QAT: \"MNA\",\n  REU: \"SSA\",\n  ROU: \"EUE\",\n  RUS: \"ECA\",\n  RWA: \"SSA\",\n  SAU: \"MNA\",\n  SDN: \"SSA\",\n  SEN: \"SSA\",\n  SGP: \"APC\",\n  SGS: \"LAC\",\n  SHN: \"SSA\",\n  SLB: \"APC\",\n  SLE: \"SSA\",\n  SLV: \"LAC\",\n  SMR: \"ECA\",\n  SOM: \"SSA\",\n  SPM: \"LAC\",\n  SRB: \"ECA\",\n  SSD: \"SSA\",\n  STP: \"SSA\",\n  SUR: \"LAC\",\n  SVK: \"EUE\",\n  SVN: \"EUE\",\n  SWE: \"EUE\",\n  SWZ: \"SSA\",\n  SXM: \"LAC\",\n  SYC: \"SSA\",\n  SYR: \"MNA\",\n  TCA: \"LAC\",\n  TCD: \"SSA\",\n  TGO: \"SSA\",\n  THA: \"APC\",\n  TJK: \"ECA\",\n  TKL: \"APC\",\n  TKM: \"ECA\",\n  TLS: \"APC\",\n  TON: \"APC\",\n  TTO: \"LAC\",\n  TUN: \"MNA\",\n  TUR: \"ECA\",\n  TUV: \"APC\",\n  TWN: \"GCH\",\n  TZA: \"SSA\",\n  UGA: \"SSA\",\n  UKR: \"ECA\",\n  URY: \"LAC\",\n  USA: \"NAC\",\n  UZB: \"ECA\",\n  VAT: \"ECA\",\n  VCT: \"LAC\",\n  VEN: \"LAC\",\n  VGB: \"LAC\",\n  VIR: \"LAC\",\n  VNM: \"APC\",\n  VUT: \"APC\",\n  WLF: \"APC\",\n  WSM: \"APC\",\n  XKV: \"ECA\",\n  YEM: \"MNA\",\n  ZAF: \"SSA\",\n  ZMB: \"SSA\",\n  ZWE: \"SSA\",\n} as const;\n","import economyRegions from \"@/config/economy-regions\";\nimport economies from \"@/config/economies\";\nimport regions from \"@/config/regions\";\nimport sectors from \"@/config/sectors\";\nimport type { Item } from \"@/components/Select\";\nimport { getKeys } from \"./keys\";\n\ntype ItemWithoutLabel = { value: string; items?: ItemWithoutLabel[] };\ntype ReadOnlyItemWithoutLabel = {\n  value: string;\n  items?: readonly ReadOnlyItemWithoutLabel[];\n};\n\nconst defaultSort = (a: Item, b: Item) => {\n  if (!a.label || !b.label) {\n    return 0;\n  }\n\n  if (a.label.toLowerCase() === \"other\" || a.label.toLowerCase() === \"others\") {\n    return 1;\n  }\n  if (b.label.toLowerCase() === \"other\" || b.label.toLowerCase() === \"others\") {\n    return -1;\n  }\n\n  return a.label.localeCompare(b.label);\n};\n\nconst filterItems = (\n  items: readonly ReadOnlyItemWithoutLabel[],\n  options: readonly string[]\n) => {\n  let filteredItems = [...items];\n  items.forEach((item) => {\n    const index = filteredItems.findIndex(\n      (i) => i.value.toLowerCase() === item.value.toLowerCase()\n    );\n    if (item.items) {\n      filteredItems[index] = {\n        ...item,\n        items: filterItems(item.items, options),\n      };\n    }\n\n    if (\n      !filteredItems[index].items?.length &&\n      !options.some((o) => o.toLowerCase() === item.value.toLowerCase())\n    ) {\n      filteredItems = filteredItems.filter((i) => i.value !== item.value);\n    }\n  });\n\n  return filteredItems;\n};\n\nconst formatItems = (\n  items: readonly ReadOnlyItemWithoutLabel[],\n  options: readonly string[],\n  labels: Record<string, string>,\n  sort: (a: Item, b: Item) => number = defaultSort\n) => {\n  return items\n    .reduce<Item[]>((formattedItems, item) => {\n      if (options.some((o) => o.toLowerCase() === item.value.toLowerCase())) {\n        formattedItems.push({\n          value: item.value.toLowerCase(),\n          label: labels[item.value],\n          ...(item.items?.length\n            ? { items: formatItems(item.items, options, labels, sort) }\n            : {}),\n        });\n      } else if (item.items?.length) {\n        formattedItems.push({\n          value: item.value.toLowerCase(),\n          isGroupLabel: true,\n          label: labels[item.value],\n          items: formatItems(item.items, options, labels, sort),\n        });\n      }\n\n      return formattedItems;\n    }, [])\n    .sort(sort);\n};\n\nconst sectorHierarchy = [\n  {\n    value: \"0AG\",\n    items: [\n      {\n        value: \"0MG\",\n        items: [\n          { value: \"01M\" },\n          { value: \"02M\" },\n          { value: \"03M\" },\n          { value: \"04M\" },\n          { value: \"05M\" },\n          { value: \"06M\" },\n          { value: \"07M\" },\n          { value: \"09M\" },\n          { value: \"10M\" },\n          { value: \"11M\" },\n          { value: \"12M\" },\n          { value: \"13M\" },\n        ],\n      },\n      {\n        value: \"0RS\",\n        items: [{ value: \"01R\" }, { value: \"02R\" }, { value: \"03R\" }],\n      },\n      {\n        value: \"08M\",\n      },\n    ],\n  },\n];\n\nexport function getSectorItems(options: readonly string[]) {\n  const filteredItems = filterItems(sectorHierarchy, options);\n  return formatItems(filteredItems, options, sectors);\n}\n\nconst regionCodes = Array.from(new Set(Object.values(economyRegions)));\nconst regionOrder = [\n  \"APC\",\n  \"GCH\",\n  \"NAC\",\n  \"LAC\",\n  \"EUE\",\n  \"ECA\",\n  \"MNA\",\n  \"SSA\",\n  \"ROW\",\n];\nconst regionSort = (a: Item, b: Item) => {\n  if (!a.value || !b.value) {\n    return defaultSort(a, b);\n  }\n\n  const aIndex = regionOrder.indexOf(a.value.toUpperCase());\n  const bIndex = regionOrder.indexOf(b.value.toUpperCase());\n  if (aIndex === -1 && bIndex === -1) {\n    return defaultSort(a, b);\n  }\n  if (aIndex === -1) {\n    return 1;\n  }\n  if (bIndex === -1) {\n    return -1;\n  }\n\n  return aIndex - bIndex;\n};\n\nconst economyRegionsHierarchy = regionCodes.reduce<ItemWithoutLabel[]>(\n  (acc, region) => {\n    acc.push({\n      value: region,\n      items: getKeys(economyRegions)\n        .filter((r) => economyRegions[r] === region)\n        .map((r) => ({ value: r })),\n    });\n    return acc;\n  },\n  []\n);\n\nconst economyRegionsHierarchyWithWld = [\n  {\n    value: \"WLD\",\n    items: economyRegionsHierarchy,\n  },\n];\n\nconst economyLabels = {\n  ...economies,\n  ...regions,\n};\n\nexport function getEconomyItems(options: readonly string[]) {\n  const filteredItems = filterItems(\n    options.some((o) => o.toLowerCase() === \"wld\")\n      ? economyRegionsHierarchyWithWld\n      : economyRegionsHierarchy,\n    options\n  );\n  return formatItems(filteredItems, options, economyLabels, regionSort);\n}\n","\n      import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../node_modules/sass-loader/dist/cjs.js!./styles.module.scss\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../node_modules/sass-loader/dist/cjs.js!./styles.module.scss\";\n       export default content && content.locals ? content.locals : undefined;\n","import clsx from \"clsx\";\nimport styles from \"./styles.module.scss\";\n\ninterface ChartHeaderProps {\n  title: string;\n  titleId?: string;\n  description?: string;\n  descriptionId?: string;\n  multipleControls?: boolean;\n}\n\nexport function ChartHeader({\n  title,\n  titleId,\n  description,\n  descriptionId,\n  multipleControls,\n  children,\n}: React.PropsWithChildren<ChartHeaderProps>) {\n  return (\n    <div\n      className={clsx(\n        styles.container,\n        multipleControls && styles.multiple,\n        !multipleControls && styles.single\n      )}\n    >\n      <div className={styles.text}>\n        <h2 className={styles.title} id={titleId}>\n          {title}\n        </h2>\n        {description && (\n          <p className={styles.description} id={descriptionId}>\n            {description}\n          </p>\n        )}\n      </div>\n\n      {children && <div className={styles.controls}>{children}</div>}\n    </div>\n  );\n}\n","import { useState, useEffect } from \"react\";\n\nexport function useMediaQuery(query: string) {\n  const [matches, setMatches] = useState(false);\n\n  useEffect(() => {\n    const media = window.matchMedia(query);\n\n    if (media.matches !== matches) {\n      setMatches(media.matches);\n    }\n\n    const listener = () => setMatches(media.matches);\n\n    window.addEventListener(\"resize\", listener);\n    return () => window.removeEventListener(\"resize\", listener);\n  }, [matches, query]);\n\n  return matches;\n}\n","\n      import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../node_modules/sass-loader/dist/cjs.js!./styles.module.scss\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../node_modules/sass-loader/dist/cjs.js!./styles.module.scss\";\n       export default content && content.locals ? content.locals : undefined;\n","import { useMediaQuery } from \"@/hooks/useMediaQuery\";\nimport { useRef, useState, forwardRef } from \"react\";\nimport { pointer } from \"d3\";\nimport styles from \"./styles.module.scss\";\n\ninterface TooltipProps {\n  style: React.CSSProperties;\n}\n\nconst marginX = 20;\nconst marginY = 10;\n\nexport function useTooltip<Data>(container?: HTMLDivElement | null) {\n  const [position, setPosition] = useState({\n    x: 0,\n    y: 0,\n  });\n  const [data, setData] = useState<Data | null>(null);\n  const [visible, setVisible] = useState(false);\n  const shouldHide = useRef(false);\n  const tooltipRef = useRef<HTMLDivElement | null>(null);\n\n  // Keep a flag in state to trigger a re-render after the ref has been set.\n  // Otherwise the ref will be null on the first render, and the tooltip won't\n  // know its width and height (rendering outside of the viewport on mobile).\n  const [, setHasRef] = useState(false);\n\n  const is600px = useMediaQuery(\"(min-width: 600px)\");\n\n  const showTooltip = (event: React.MouseEvent, data: Data) => {\n    shouldHide.current = false;\n    const [x, y] = pointer(event, container);\n    setData(data);\n    setPosition({ x, y });\n    setVisible(true);\n  };\n\n  const moveTooltip = (event: React.MouseEvent) => {\n    shouldHide.current = false;\n    const [x, y] = pointer(event, container);\n    setPosition({ x, y });\n    setVisible(true);\n  };\n\n  const hideTooltip = () => {\n    // Don't hide tooltip immediately if we're just moving from one tooltip to another to prevent flashing\n    shouldHide.current = true;\n    setTimeout(() => {\n      if (shouldHide.current) {\n        setVisible(false);\n        setData(null);\n        setHasRef(false);\n        shouldHide.current = false;\n      }\n    }, 50);\n  };\n\n  // Make tooltip appear on the left or top if it would otherwise go offscreen\n  const containerRect = container?.getBoundingClientRect();\n  const containerX = containerRect?.x || 0;\n  const containerY = containerRect?.y || 0;\n  const containerWidth = containerRect?.width || 0;\n  const tooltipWidth = tooltipRef.current?.getBoundingClientRect().width || 275;\n  const tooltipHeight =\n    tooltipRef.current?.getBoundingClientRect().height || 150;\n\n  let transformX =\n    position.x + containerX + tooltipWidth + marginX >= window.innerWidth\n      ? \"calc(-100% - 5px)\"\n      : \"15px\";\n  let left = position.x;\n\n  if (!is600px) {\n    const isOutOfViewRight =\n      position.x + containerX + tooltipWidth / 2 + marginX >= window.innerWidth;\n    const isOutOfViewLeft = position.x - tooltipWidth / 2 <= 0;\n\n    transformX = isOutOfViewRight ? \"0\" : \"-50%\";\n    left = isOutOfViewLeft\n      ? tooltipWidth / 2\n      : isOutOfViewRight\n      ? containerWidth - tooltipWidth\n      : left;\n  }\n\n  const transformY =\n    position.y + containerY + tooltipHeight + marginY >= window.innerHeight\n      ? \"calc(-100% - 5px)\"\n      : \"5px\";\n\n  return {\n    showTooltip,\n    moveTooltip,\n    hideTooltip,\n    tooltipData: data,\n    tooltipVisible: visible,\n    tooltipProps: {\n      style: {\n        ...styles,\n        left,\n        top: position.y,\n        transform: `translate(${transformX}, ${transformY})`,\n      },\n      ref: (el: HTMLDivElement) => {\n        tooltipRef.current = el;\n        if (el) {\n          setHasRef(true);\n        } else if (!el && tooltipRef.current) {\n          setHasRef(false);\n        }\n      },\n    },\n  };\n}\n\nfunction TooltipInner(\n  { style, children }: React.PropsWithChildren<TooltipProps>,\n  forwardedRef: React.Ref<HTMLDivElement>\n) {\n  return (\n    <div className={styles.container} style={style} ref={forwardedRef}>\n      {children}\n    </div>\n  );\n}\n\nexport const Tooltip = forwardRef(TooltipInner);\n","\n      import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../node_modules/sass-loader/dist/cjs.js!./styles.module.scss\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../node_modules/sass-loader/dist/cjs.js!./styles.module.scss\";\n       export default content && content.locals ? content.locals : undefined;\n","import styles from \"./styles.module.scss\";\n\nexport function NoData() {\n  return (\n    <div className={styles.container}>\n      <p>No data available</p>\n    </div>\n  );\n}\n","export default {\n  \"100110\": \"Durum wheat\",\n  \"100111\": \"Cereals; wheat and meslin, durum wheat, seed\",\n  \"100119\": \"Durum wheat; excl. seed\",\n  \"100190\": \"Wheat and meslin; excl. durum\",\n  \"100191\": \"Cereals; wheat and meslin, other than durum wheat, seed\",\n  \"100199\": \"Wheat and meslin; excl. durum and seed\",\n  \"100200\": \"Cereals; rye\",\n  \"100210\": \"Cereals; rye, seed\",\n  \"100290\": \"Cereals; rye, other than seed\",\n  \"100300\": \"Barley\",\n  \"100310\": \"Cereals; barley, seed\",\n  \"100390\": \"Barley; excl. seed\",\n  \"100400\": \"Cereals; oats\",\n  \"100410\": \"Cereals; oats, seeds\",\n  \"100490\": \"Cereals; oats, other than seed\",\n  \"100510\": \"Cereals; maize (corn), seed\",\n  \"100590\": \"Maize; excl. seed corn\",\n  \"100610\": \"Cereals; rice in the husk (paddy or rough)\",\n  \"100620\": \"Cereals; husked (brown) rice\",\n  \"100630\": \"Rice; semi-milled or wholly milled\",\n  \"100640\": \"Cereals; rice, broken\",\n  \"100700\": \"Cereals; grain sorghum\",\n  \"100710\": \"Cereals; grain sorghum, seed\",\n  \"100790\": \"Cereals; grain sorghum, other than seed\",\n  \"100810\": \"Cereals; buckwheat\",\n  \"100820\": \"Cereals; millet\",\n  \"100821\": \"Cereals; millet, seed\",\n  \"100829\": \"Cereals; millet, other than seed\",\n  \"100830\": \"Cereals; canary seeds\",\n  \"100840\": \"Cereals; fonio (Digitaria spp.)\",\n  \"100850\": \"Cereals; quinoa (Chenopodium quinoa)\",\n  \"100860\": \"Cereals; triticale\",\n  \"100890\": \"Cereals; n.e.c. in chapter 10\",\n  \"110100\": \"Wheat or meslin flour\",\n  \"110210\": \"Cereal flour; of rye\",\n  \"110220\": \"Cereal flour; of maize (corn)\",\n  \"110230\": \"Cereal flour; of rice\",\n  \"110290\": \"Cereal flours; other than wheat, meslin, and maize (corn)\",\n  \"110311\": \"Cereal groats and meal; of wheat\",\n  \"110312\": \"Cereal groats and meal; of oats\",\n  \"110313\": \"Cereal groats and meal; of maize (corn)\",\n  \"110314\": \"Cereal groats and meal; of rice\",\n  \"110319\": \"Cereal groats and meal; n.e.c. in heading no. 1103\",\n  \"110320\": \"Cereal pellets\",\n  \"110321\": \"Cereal pellets; of wheat\",\n  \"110329\": \"Cereal pellets; of cereals other than wheat\",\n  \"110411\": \"Cereal grains; rolled or flaked, of barley\",\n  \"110412\": \"Cereal grains; rolled or flaked, of oats\",\n  \"110419\": \"Cereal grains; rolled or flaked, other than oats\",\n  \"110421\":\n    \"Cereal grains; worked (eg hulled, pearled, sliced or kibbled) of barley\",\n  \"110422\":\n    \"Cereal grains; worked (e.g. hulled, pearled, sliced or kibbled) of oats\",\n  \"110423\":\n    \"Cereal grains; worked (e.g. hulled, pearled, sliced or kibbled) of maize (corn)\",\n  \"110429\":\n    \"Cereal grains; worked, other than rolled or flaked (e.g. Hulled, pearled, sliced or kibbled) of cereals, excluding oats and maize, and rice of heading no.1006\",\n  \"110430\": \"Cereal; germ of cereals, whole, rolled, flaked or ground\",\n  \"110510\": \"Flour, meal and powder; of potatoes\",\n  \"110520\": \"Flakes, granules and pellets; of potatoes\",\n  \"110610\":\n    \"Flour, meal and powder; of the dried leguminous vegetables of heading no. 0713\",\n  \"110620\":\n    \"Flour, meal and powder; of sago or of roots or tubers of heading no. 0714\",\n  \"110630\": \"Flour, meal and powder; of the products of chapter 8\",\n  \"110710\": \"Malt; not roasted\",\n  \"110720\": \"Malt; roasted\",\n  \"110811\": \"Starch; wheat\",\n  \"110812\": \"Starch; maize (corn) starch\",\n  \"110813\": \"Starch; potato\",\n  \"110814\": \"Starch; manioc (cassava)\",\n  \"110819\": \"Starch; n.e.c. in item no. 1108.11 to 1108.14\",\n  \"110820\": \"Inulin\",\n  \"110900\": \"Wheat gluten; whether or not dried\",\n  \"120100\": \"Soybeans\",\n  \"120110\": \"Soya beans; seed, whether or not broken\",\n  \"120190\": \"Soybeans; excl. seed\",\n  \"120210\": \"Ground-nuts; in shell, not roasted or otherwise cooked\",\n  \"120220\":\n    \"Ground-nuts; shelled, not roasted or otherwise cooked, whether or not broken\",\n  \"120230\":\n    \"Ground-nuts; seed, not roasted or otherwise cooked, whether or not shelled or broken\",\n  \"120241\":\n    \"Ground-nuts; other than seed, not roasted or otherwise cooked, in shell\",\n  \"120242\":\n    \"Ground-nuts; other than seed, not roasted or otherwise cooked, shelled, whether or not broken,\",\n  \"120300\": \"Copra\",\n  \"120400\": \"Oil seeds; linseed, whether or not broken\",\n  \"120500\": \"Rape or colza seeds\",\n  \"120510\": \"Low erucic acid rape or colza seeds\",\n  \"120590\":\n    \"Oil seeds; rape or colza seeds, other than low erucic, whether or not broken\",\n  \"120600\": \"Oil seeds; sunflower seeds, whether or not broken\",\n  \"120710\": \"Oil seeds; palm nuts and kernels, whether or not broken\",\n  \"120720\": \"Oil seeds; cotton seeds, whether or not broken\",\n  \"120721\": \"Oil seeds; cotton seeds, seed, whether or not broken\",\n  \"120729\": \"Oil seeds; cotton seeds, other than seed, whether or not broken\",\n  \"120730\": \"Oil seeds; castor oil seeds, whether or not broken\",\n  \"120740\": \"Oil seeds; sesamum seeds, whether or not broken\",\n  \"120750\": \"Oil seeds; mustard seeds, whether or not broken\",\n  \"120760\":\n    \"Oil seeds; safflower (Carthamus tinctorius) seeds, whether or not broken\",\n  \"120770\": \"Oil seeds; melon seeds, whether or not broken\",\n  \"120791\": \"Oil seeds; poppy seeds, whether or not broken\",\n  \"120792\": \"Oleaginous fruits; shea nuts (karite nuts)\",\n  \"120799\":\n    \"Oil seeds and oleaginous fruits; n.e.c. in heading no. 1207, whether or not broken\",\n  \"120810\": \"Flours and meals; of soya beans\",\n  \"120890\":\n    \"Flours and meals of oil seeds or oleaginous fruits; excluding soya beans and mustard seeds\",\n  \"120910\": \"Seed; sugar beet seeds, of a kind used for sowing\",\n  \"120911\": \"Seed; sugar beet seed, of a kind used for sowing\",\n  \"120919\":\n    \"Seed; beet seed, (excluding sugar beet), of a kind used for sowing\",\n  \"120921\":\n    \"Seeds of forage plants; lucerne (alfalfa) seeds, of a kind used for sowing\",\n  \"120922\":\n    \"Seeds of forage plants; clover (Trifolium spp.) seeds, of a kind used for sowing\",\n  \"120923\": \"Seeds of forage plants; fescue seeds, of a kind used for sowing\",\n  \"120924\":\n    \"Seeds of forage plants; Kentucky blue grass (Poa pratensis L.) seeds, of a kind used for sowing\",\n  \"120925\":\n    \"Seeds of forage plants; rye grass (Lolium multiflorum Lam., Lolium perenne L.) seeds, of a kind used for sowing\",\n  \"120926\": \"Seed; timothy grass seed, of a kind used for sowing\",\n  \"120929\":\n    \"Seeds of forage plants; other than lucerne, clover, fescue, Kentucky blue grass, and rye grass seeds, of a kind used for sowing\",\n  \"120930\":\n    \"Seeds of herbaceous plants; cultivated principally for their flowers, of a kind used for sowing\",\n  \"120991\": \"Seeds; vegetable seeds, of a kind used for sowing\",\n  \"120999\": \"Seeds; n.e.c. in heading 1209, of a kind used for sowing\",\n  \"121010\": \"Hop cones; neither ground nor powdered nor in the form of pellets\",\n  \"121020\": \"Hop cones; ground, powdered or in the form of pellets; lupulin\",\n  \"121110\":\n    \"Liquorice roots used primarily in perfumery, in pharmacy or for insecticidal, fungicidal or similar purposes; fresh or dried, whether or not cut, crushed or powdered\",\n  \"121120\":\n    \"Ginseng roots, of a kind used primarily in perfumery, in pharmacy or for insecticidal, fungicidal or similar purposes, fresh, chilled, frozen or dried, whether or not cut, crushed or powdered\",\n  \"121130\":\n    \"Coca leaf; of a kind used primarily in perfumery, in pharmacy or for insecticidal, fungicidal or similar purposes, fresh, chilled, frozen or dried, whether or not cut, crushed or powdered\",\n  \"121140\":\n    \"Poppy straw; of a kind used primarily in perfumery, in pharmacy or for insecticidal, fungicidal or similar purposes, fresh, chilled, frozen or dried, whether or not cut, crushed or powdered\",\n  \"121150\":\n    \"Ephedra, of a kind used primarily in perfumery, in pharmacy or for insecticidal, fungicidal or similar purposes, fresh, chilled, frozen or dried, whether or not cut, crushed or powdered\",\n  \"121160\":\n    \"Bark of African cherry (Prunus africana); of a kind used primarily in perfumery, in pharmacy or for insecticidal, fungicidal or similar purposes, fresh, chilled, frozen or dried, whether or not cut, crushed or powdered\",\n  \"121190\":\n    \"Plants and parts (including seeds and fruits) n.e.c. in heading no. 1211, of a kind used primarily in perfumery, in pharmacy or for insecticidal, fungicidal or similar purposes, fresh, chilled, frozen or dried, whether or not cut, crushed or powdered\",\n  \"121210\":\n    \"Locust beans, including locust bean seeds; of a kind used primarily for human consumption, fresh, chilled, frozen or dried, whether or not ground\",\n  \"121220\":\n    \"Seaweeds and other algae; of a kind used primarily for human consumption, fresh, chilled, frozen or dried, whether or not ground\",\n  \"121221\":\n    \"Seaweeds and other algae; fit for human consumption, fresh, chilled, frozen or dried, whether or not ground\",\n  \"121229\":\n    \"Seaweeds and other algae; not fit for human consumption, fresh, chilled, frozen or dried, whether or not ground\",\n  \"121230\":\n    \"Apricot, peach (including nectarine) or plum stones and kernels; of a kind used primarily for human consumption\",\n  \"121291\":\n    \"Sugar beet; fit for human consumption, fresh, chilled, frozen or dried, whether or not ground\",\n  \"121292\":\n    \"Locust beans (carob); fit for human consumption, fresh, chilled, frozen or dried, whether or not ground\",\n  \"121293\":\n    \"Sugar cane; fit for human consumption, fresh, chilled, frozen or dried, whether or not ground\",\n  \"121294\":\n    \"Chicory roots (Chicorium intybus sativum); fit for human consumption, fresh, chilled, frozen or dried, whether or not ground\",\n  \"121299\":\n    \"Vegetable products; fit for human consumption, n.e.c. in heading no. 1212, fresh, chilled, frozen or dried, whether or not ground\",\n  \"121300\":\n    \"Cereal straw and husks; unprepared, whether or not chopped, ground, pressed or in the form of pellets\",\n  \"121410\": \"Lucerne (alfalfa) meal and pellets\",\n  \"121490\":\n    \"Forage products including swedes, mangolds, fodder roots, hay, sainfoin, clover, forage kale, lupines, vetches etc., pelletised or otherwise\",\n  \"130110\": \"Lac\",\n  \"130120\": \"Gum Arabic\",\n  \"130190\":\n    \"Natural gums, resins, gum-resins and oleoresins, n.e.c. in heading no. 1301\",\n  \"130211\": \"Vegetable saps and extracts; opium\",\n  \"130212\": \"Vegetable saps and extracts; of liquorice\",\n  \"130213\": \"Vegetable saps and extracts; of hops\",\n  \"130214\": \"Vegetable saps and extracts; of ephedra\",\n  \"130219\": \"Vegetable saps and extracts; n.e.c. in item no. 1302.1\",\n  \"130220\": \"Pectic substances; pectinates and pectates\",\n  \"130231\":\n    \"Mucilages and thickeners; agar-agar, whether or not modified, derived from vegetable products\",\n  \"130232\":\n    \"Mucilages and thickeners; whether or not modified, derived from locust beans, locust bean seeds or guar seeds\",\n  \"130239\":\n    \"Mucilages and thickeners; whether or not modified, derived from vegetable products, n.e.c. in item no. 1302.3\",\n  \"140110\": \"Bamboo used primarily for plaiting\",\n  \"140120\": \"Rattans used primarily for plaiting\",\n  \"140190\":\n    \"Vegetable materials of a kind used primarily for plaiting; n.e.c. in heading no. 1401\",\n  \"140200\":\n    \"Vegetable materials of a kind used primarily as stuffing or as padding; (eg kapok, vegetable hair and eel grass), whether or not put up as a layer with or without supporting material\",\n  \"140210\":\n    \"Kapok used primarily as stuffing or as padding; whether or not put up as a layer with or without supporting material\",\n  \"140290\":\n    \"Vegetable products; (excluding kapok), of a kind used primarily as stuffing or as padding, whether or not put up as a layer, with or without supporting material\",\n  \"140291\":\n    \"Vegetable hair of a kind used primarily as stuffing or as padding; whether or not put up as a layer with or without supporting material\",\n  \"140299\":\n    \"Vegetable materials (excluding kapok and vegetable hair) used primarily as stuffing or as padding; whether or not put up as a layer with or without supporting materials\",\n  \"140300\":\n    \"Vegetable materials of a kind used primarily in brooms or brushes; (eg broomcorn, piassava, couch-grass and istle), whether or not in hanks or bundles\",\n  \"140310\":\n    \"Broomcorn (sorghum vulgare var. technicum), of a kind used primarily in brooms or in brushes; whether or not in hanks or bundles\",\n  \"140390\":\n    \"Vegetable materials; (excluding broomcorn) of a kind used primarily in brooms or in brushes, whether or not in hanks or bundles\",\n  \"140410\":\n    \"Vegetable products; raw materials used primarily in dyeing or tanning\",\n  \"140420\": \"Vegetable products; cotton linters\",\n  \"140490\": \"Vegetable products; n.e.c. in chapter 14\",\n  \"150100\":\n    \"Animal fat; pig and poultry fat (including lard), other than that of heading no. 0209 or 1503\",\n  \"150110\": \"Pig fat; lard, other than that of heading 0209 and 1503\",\n  \"150120\": \"Pig fat; not lard, other than that of heading 0209 or 1503\",\n  \"150190\": \"Poultry fat; other than that of heading 0209 or 1503\",\n  \"150200\":\n    \"Fats of bovine animals, sheep or goats; other than those of heading no. 1503\",\n  \"150210\": \"Tallow; other than those of heading 1503\",\n  \"150290\":\n    \"Fats of bovine animals, sheep or goats; excluding tallow, and other than those of heading 1503\",\n  \"150300\":\n    \"Lard stearin, lard oil, oleostearin, oleo-oil and tallow oil; not emulsified or mixed or otherwise prepared\",\n  \"150410\":\n    \"Oils of fish; fish-liver oils and their fractions, whether or not refined, but not chemically modified\",\n  \"150420\":\n    \"Fats and oils and their fractions; of fish, (excluding liver-oils)\",\n  \"150430\": \"Fats and oils and their fractions; of marine mammals\",\n  \"150500\":\n    \"Wool grease and fatty substances derived therefrom (including lanolin)\",\n  \"150510\": \"Animal fats and oils; wool grease, crude\",\n  \"150590\":\n    \"Animal fats and oils; wool grease (other than crude) and fatty substances derived therefrom (including lanolin)\",\n  \"150600\":\n    \"Animal fats and oils and their fractions; whether or not refined, but not chemically modified, n.e.c. in chapter 15\",\n  \"150710\": \"Soybean oil; crude\",\n  \"150790\":\n    \"Vegetable oils; soya-bean oil and its fractions, other than crude, whether or not refined, but not chemically modified\",\n  \"150810\":\n    \"Vegetable oils; ground-nut oil and its fractions, crude, not chemically modified\",\n  \"150890\":\n    \"Vegetable oils; ground-nut oil and its fractions, other than crude, whether or not refined, but not chemically modified\",\n  \"150910\":\n    \"Vegetable oils; olive oil and its fractions, virgin, whether or not refined, but not chemically modified\",\n  \"150920\":\n    \"Vegetable oils; olive oil and its fractions, extra virgin olive oil, whether or not refined, but not chemically modified\",\n  \"150930\":\n    \"Vegetable oils; olive oil and its fractions, virgin olive oil, whether or not refined, but not chemically modified\",\n  \"150940\":\n    \"Vegetable oils; olive oil and its fractions, virgin olive oils n.e.c. in heading 1509, whether or not refined, but not chemically modified\",\n  \"150990\":\n    \"Vegetable oils; olive oil and its fractions, other than virgin, whether or not refined, but not chemically modified\",\n  \"151000\":\n    \"Vegetable oils; oils and their fractions n.e.c. in chapter 15, obtained solely from olives, whether or not refined, but not chemically modified, including blends of these oils or fractions with oils or fractions of heading no. 1509\",\n  \"151010\":\n    \"Vegetable oils; crude olive pomace oil and their fractions, obtained solely from olives, whether or not refined, but not chemically modified\",\n  \"151090\":\n    \"Vegetable oils; oils and their fractions n.e.c. in heading 1510, obtained solely from olives, whether or not refined, but not chemically modified, including blends of these oils or fractions with oils or fractions of heading no. 1509\",\n  \"151110\": \"Palm oil; crude\",\n  \"151190\": \"Palm oil and its fractions; excl. crude\",\n  \"151211\":\n    \"Vegetable oils; sunflower seed or safflower oil and their fractions, crude, not chemically modified\",\n  \"151219\":\n    \"Vegetable oils; sunflower seed or safflower oil and their fractions, other than crude, whether or not refined, but not chemically modified\",\n  \"151221\":\n    \"Vegetable oils; cotton-seed oil and its fractions; crude, whether or not gossypol has been removed, not chemically modified\",\n  \"151229\":\n    \"Vegetable oils; cotton-seed oil and its fractions, other than crude, whether or not refined, but not chemically modified\",\n  \"151311\":\n    \"Vegetable oils; coconut (copra) oil and its fractions, crude, not chemically modified\",\n  \"151319\":\n    \"Vegetable oils; coconut (copra) oil and its fractions, other than crude, whether or not refined, but not chemically modified\",\n  \"151321\":\n    \"Vegetable oils; palm kernel or babassu oil and their fractions, crude, not chemically modified\",\n  \"151329\":\n    \"Vegetable oils; palm kernel or babassu oil and their fractions, other than crude, whether or not refined, but not chemically modified\",\n  \"151410\":\n    \"Vegetable oils; rape, colza or mustard oil and their fractions, crude, not chemically modified\",\n  \"151411\":\n    \"Vegetable oils; low erucic acid rape or colza oil and its fractions, crude\",\n  \"151419\":\n    \"Vegetable oils; low erucic acid rape or colza oil and its fractions, other than crude, but not chemically modified\",\n  \"151490\":\n    \"Vegetable oils; rape, colza or mustard oil and their fractions, other than crude, whether or not refined, but not chemically modified\",\n  \"151491\":\n    \"Vegetable oils; excluding low erucic acid rape or colza oil and its fractions, crude\",\n  \"151499\":\n    \"Vegetable oils; excluding low erucic acid rape or colza oil and its fractions, other than crude, but not chemically modified\",\n  \"151511\":\n    \"Vegetable oils; linseed oil and its fractions, crude, not chemically modified\",\n  \"151519\":\n    \"Vegetable oils; linseed oil and its fractions, other than crude, whether or not refined, but not chemically modified\",\n  \"151521\":\n    \"Vegetable oils; maize (corn) oil and its fractions, crude, not chemically modified\",\n  \"151529\":\n    \"Vegetable oils; maize (corn) oil and its fractions, other than crude, whether or not refined, but not chemically modified\",\n  \"151530\":\n    \"Vegetable oils; castor oil and its fractions, whether or not refined, but not chemically modified\",\n  \"151540\":\n    \"Vegetable oils; tung oil and its fractions, whether or not refined, but not chemically modified\",\n  \"151550\":\n    \"Vegetable oils; sesame oil and its fractions, whether or not refined, but not chemically modified\",\n  \"151560\":\n    \"Vegetable oils; jojoba oil and its fractions, whether or not refined, but not chemically modified\",\n  \"151590\":\n    \"Vegetable fats and oils and their fractions; fixed, n.e.c. in heading no. 1515, whether or not refined, but not chemically modified\",\n  \"151610\":\n    \"Animal fats and oils and their fractions; partly or wholly hydrogenated, inter-esterified, re-esterified or elaidinised, whether or not refined, but not further prepared\",\n  \"151620\":\n    \"Vegetable fats and oils and their fractions; partly or wholly hydrogenated, inter-esterified, re-esterified or elaidinised, whether or not refined, but not further prepared\",\n  \"151630\":\n    \"Microbial fats and oils and their fractions; partly or wholly hydrogenated, inter-esterified, re-esterified or elaidinised, whether or not refined, but not further prepared\",\n  \"151710\": \"Margarine; excluding liquid margarine\",\n  \"151790\":\n    \"Edible mixtures or preparations of animal or vegetable fats or oils or of fractions of different fats or oils of this chapter, other than edible fats or oils of heading no. 1516\",\n  \"151800\":\n    \"Animal or vegetable fats and oils and their fractions; oxidised, boiled or otherwise chemically modified, (excluding those of heading no. 1516), inedible mixtures or preparations of fats or oils\",\n  \"151911\": \"Stearic acid\",\n  \"151912\": \"Oleic acid\",\n  \"151913\": \"Tall oil fatty acids\",\n  \"151919\": \"Industrial monocarboxylic fatty acids n.e.s. in heading no. 1519\",\n  \"151920\": \"Acid oils from refining\",\n  \"151930\": \"Industrial fatty alcohols\",\n  \"152000\": \"Glycerol, crude; glycerol waters and glycerol lyes\",\n  \"152010\": \"Glycerol (glycerine); crude; glycerol waters and glycerol lyes\",\n  \"152090\": \"Glycerol; n.e.s. in heading no. 1520, including synthetic\",\n  \"152110\":\n    \"Vegetable waxes (other than triglycerides); whether or not refined or coloured\",\n  \"152190\":\n    \"Waxes, other than vegetable, n.e.c. in heading no. 1521; whether or not refined or coloured\",\n  \"152200\":\n    \"Degras; residues resulting from the treatment of fatty substances or animal or vegetable waxes\",\n  \"160100\":\n    \"Meat preparations; sausages and similar products, of meat, meat offal or blood, and food preparations based on these products\",\n  \"160210\":\n    \"Meat preparations; homogenised preparations of meat, meat offal or blood\",\n  \"160220\":\n    \"Meat preparations; of the prepared or preserved liver of any animal (excluding homogenised preparations)\",\n  \"160231\":\n    \"Meat preparations; of turkeys, prepared or preserved meat or meat offal (excluding livers and homogenised preparations)\",\n  \"160232\":\n    \"Meat preparations; of the poultry of heading no. 0105, (i.e. of fowls of the species Gallus domesticus)\",\n  \"160239\":\n    \"Meat preparations; of poultry (excluding turkeys), prepared or preserved meat or meat offal (excluding livers and homogenised preparations)\",\n  \"160241\":\n    \"Meat preparations; of swine, hams and cuts thereof, prepared or preserved (excluding homogenised preparations)\",\n  \"160242\":\n    \"Meat preparations; of swine, shoulders and cuts thereof, prepared or preserved (excluding homogenised preparations)\",\n  \"160249\":\n    \"Meat preparations; of swine, meat or meat offal (including mixtures), prepared or preserved, n.e.c. in heading no. 1602\",\n  \"160250\":\n    \"Meat preparations; of bovine animals, meat or meat offal, prepared or preserved (excluding livers and homogenised preparations)\",\n  \"160290\":\n    \"Meat preparations; of meat, meat offal or the blood of any animal, n.e.c. in heading no. 1602\",\n  \"160300\":\n    \"Extracts and juices; of meat, fish or crustaceans, molluscs or other aquatic invertebrates\",\n  \"160411\":\n    \"Fish preparations; salmon, prepared or preserved, whole or in pieces (but not minced)\",\n  \"160412\":\n    \"Fish preparations; herrings, prepared or preserved, whole or in pieces (but not minced)\",\n  \"160413\":\n    \"Fish preparations; sardines, sardinella and brisling or sprats, prepared or preserved, whole or in pieces (but not minced)\",\n  \"160414\":\n    \"Fish preparations; tunas, skipjack and Atlantic bonito (sarda spp.), prepared or preserved, whole or in pieces (but not minced)\",\n  \"160415\":\n    \"Fish preparations; mackerel, prepared or preserved, whole or in pieces (but not minced)\",\n  \"160416\":\n    \"Fish preparations; anchovies, prepared or preserved, whole or in pieces (but not minced)\",\n  \"160417\":\n    \"Fish preparations; eels, prepared or preserved, whole or in pieces (but not minced)\",\n  \"160418\":\n    \"Fish preparations; shark fins, prepared or preserved, whole or in pieces (but not minced)\",\n  \"160419\":\n    \"Fish preparations; fish prepared or preserved, whole or in pieces (but not minced), n.e.c. in heading no. 1604\",\n  \"160420\":\n    \"Fish preparations; fish minced or in forms n.e.c. in heading no. 1604, prepared or preserved\",\n  \"160430\": \"Fish preparations; caviar and caviar substitutes\",\n  \"160431\": \"Fish preparations; caviar\",\n  \"160432\": \"Fish preparations; caviar substitutes, prepared from fish eggs\",\n  \"160510\": \"Crustacean preparations; crab, prepared or preserved\",\n  \"160520\":\n    \"Crustacean preparations; shrimps and prawns, prepared or preserved\",\n  \"160521\":\n    \"Crustacean preparations; shrimps and prawns, prepared or preserved, not in airtight containers\",\n  \"160529\":\n    \"Crustacean preparations; shrimps and prawns, prepared or preserved, in airtight containers\",\n  \"160530\": \"Crustacean preparations; lobster, prepared or preserved\",\n  \"160540\":\n    \"Crustacean preparations; other than crab, shrimps, prawns, and lobsters, prepared or preserved\",\n  \"160551\": \"Mollusc preparations; oysters, prepared or preserved\",\n  \"160552\":\n    \"Mollusc preparations; scallops, including queen scallops, prepared or preserved\",\n  \"160553\": \"Mollusc preparations; mussels, prepared or preserved\",\n  \"160554\":\n    \"Mollusc preparations; cuttle fish and squid, prepared or preserved\",\n  \"160555\": \"Mollusc preparations; octopus, prepared or preserved\",\n  \"160556\":\n    \"Mollusc preparations; clams, cockles and arkshells, prepared or preserved\",\n  \"160557\": \"Mollusc preparations; abalone, prepared or preserved\",\n  \"160558\":\n    \"Mollusc preparations; snails, other than sea snails, prepared or preserved\",\n  \"160559\":\n    \"Mollusc preparations; n.e.c. in item no. 1605.5, preparations such as pastes, sausages, prepared meals and the like\",\n  \"160561\": \"Aquatic invertebrates; sea cucumbers, prepared or preserved\",\n  \"160562\": \"Aquatic invertebrates; sea urchins, prepared or preserved\",\n  \"160563\": \"Aquatic invertebrates; jellyfish, prepared or preserved\",\n  \"160569\":\n    \"Aquatic invertebrates; other than crustaceans, molluscs, sea cucumbers, sea urchins, and jellyfish, prepared or preserved\",\n  \"160590\":\n    \"Molluscs and other aquatic invertebrates; prepared or preserved (excluding crustaceans)\",\n  \"170111\":\n    \"Sugars; cane sugar, raw, in solid form, not containing added flavouring or colouring matter\",\n  \"170112\":\n    \"Sugars; beet sugar, raw, in solid form, not containing added flavouring or colouring matter\",\n  \"170113\":\n    \"Sugars; cane sugar, raw, in solid form, as specified in Subheading Note 2 to this chapter, not containing added flavouring or colouring matter\",\n  \"170114\": \"Raw cane sugar; solid form\",\n  \"170191\":\n    \"Sugars; sucrose, chemically pure, in solid form, containing added flavouring or colouring matter\",\n  \"170199\": \"Sucrose\",\n  \"170210\":\n    \"Sugars; lactose, chemically pure, in solid form; lactose syrup, not containing added flavouring or colouring matter\",\n  \"170211\":\n    \"Sugars; lactose and lactose syrup, containing by weight 99% or more lactose, expressed as anhydrous lactose, calculated on the dry matter\",\n  \"170219\":\n    \"Sugars; lactose and lactose syrup, containing by weight less than 99% lactose, expressed as anhydrous lactose, calculated on the dry matter\",\n  \"170220\":\n    \"Sugars; maple sugar, chemically pure, in solid form; maple syrup, not containing added flavouring or colouring matter\",\n  \"170230\":\n    \"Sugars; glucose and glucose syrup, not containing fructose or containing in the dry state less than 20% by weight of fructose, the syrup not containing added flavouring or colouring matter\",\n  \"170240\":\n    \"Sugars; glucose and glucose syrup, containing in the dry state at least 20% but less than 50% by weight of fructose, excluding invert sugar, the syrup not containing added flavouring or colouring matter\",\n  \"170250\": \"Sugars; fructose, chemically pure, in solid form\",\n  \"170260\":\n    \"Sugars; fructose, other than chemically pure fructose, and fructose syrup (containing in the dry state more than 50% by weight of fructose), excluding invert sugar\",\n  \"170290\":\n    \"Sugars; n.e.c. in heading no. 1702, including invert sugar and other sugar and sugar syrup blends containing, in the dry state, 50% by weight of fructose\",\n  \"170310\":\n    \"Sugars; molasses, from sugar cane, resulting from the extraction or refining of sugar\",\n  \"170390\":\n    \"Sugars; molasses, from sugar beet, resulting from the extraction or refining of sugar\",\n  \"170410\":\n    \"Sugar confectionery; chewing gum, whether or not sugar-coated, not containing cocoa\",\n  \"170490\": \"Sugar confectionery; no cocoa content, excl. chewing gum\",\n  \"180100\": \"Cocoa beans\",\n  \"180200\": \"Cocoa; shells, husks, skins and other cocoa waste\",\n  \"180310\": \"Cocoa; paste, not defatted\",\n  \"180320\": \"Cocoa; paste, wholly or partly defatted\",\n  \"180400\": \"Cocoa; butter, fat and oil\",\n  \"180500\":\n    \"Cocoa; powder, not containing added sugar or other sweetening matter\",\n  \"180610\": \"Cocoa; powder, containing added sugar or other sweetening matter\",\n  \"180620\":\n    \"Chocolate & other food preparations containing cocoa; in blocks, slabs or bars weighing more than 2kg or in liquid, paste, powder, granular or other bulk form in containers or immediate packings, content exceeding 2kg\",\n  \"180631\":\n    \"Chocolate and other food preparations containing cocoa; in blocks, slabs or bars, filled, weighing 2kg or less\",\n  \"180632\":\n    \"Chocolate and other food preparations containing cocoa; in blocks, slabs or bars, (not filled), weighing 2kg or less\",\n  \"180690\":\n    \"Other chocolate and cocoa food preparations (exclusionary category)\",\n  \"190110\": \"Baby food\",\n  \"190120\":\n    \"Food preparations; mixes and doughs for the preparation of bread, pastry, cakes, biscuits and other bakers' wares\",\n  \"190190\":\n    \"Food preparations; of flour, meal, starch, malt extract or milk products, for uses n.e.c. in heading no. 1901\",\n  \"190211\":\n    \"Food preparations; pasta, containing eggs, uncooked, not stuffed or otherwise prepared\",\n  \"190219\":\n    \"Food preparations; pasta, uncooked (excluding that containing eggs), not stuffed or otherwise prepared\",\n  \"190220\":\n    \"Food preparations; pasta, stuffed (with meat or other substances), whether or not cooked or otherwise prepared\",\n  \"190230\":\n    \"Food preparations; pasta (excluding stuffed), cooked or otherwise prepared\",\n  \"190240\": \"Food preparations; couscous\",\n  \"190300\":\n    \"Food preparations; tapioca and substitutes thereof, prepared from starch in the form of flakes, grains, pearls, siftings or similar\",\n  \"190410\":\n    \"Food preparations; obtained by the swelling or roasting of cereals or cereal products\",\n  \"190420\":\n    \"Food preparations; obtained from unroasted cereal flakes or from mixtures of unroasted cereal flakes and roasted cereal flakes or swelled cereals\",\n  \"190430\":\n    \"Prepared foods obtained by the swelling or roasting of cereals or cereal products (e.g. corn flakes); cereals, not maize (corn), in grain form or in the form of flakes or other worked grains, from bulgur wheat\",\n  \"190490\":\n    \"Food preparations; cereal or cereal products (excluding maize), in grain form, pre-cooked or otherwise prepared\",\n  \"190510\": \"Food preparations; crispbread, whether or not containing cocoa\",\n  \"190520\":\n    \"Food preparations; gingerbread and the like, whether or not containing cocoa\",\n  \"190530\":\n    \"Food preparations; sweet biscuits, waffles and wafers, whether or not containing cocoa\",\n  \"190531\":\n    \"Food preparations; sweet biscuits, whether or not containing cocoa\",\n  \"190532\":\n    \"Food preparations; waffles and wafers, whether or not containing cocoa\",\n  \"190540\":\n    \"Food preparations; rusks, toasted bread and similar toasted products, whether or not containing cocoa\",\n  \"190590\":\n    \"Communion wafers, rice paper, sealing wafers, and similar products\",\n  \"200110\":\n    \"Vegetable preparations; cucumbers and gherkins, prepared or preserved by vinegar or acetic acid\",\n  \"200120\":\n    \"Vegetable preparations; onions, prepared or preserved by vinegar or acetic acid\",\n  \"200190\":\n    \"Vegetable preparations; vegetables, fruit, nuts and other edible parts of plants, prepared or preserved by vinegar or acetic acid (excluding cucumbers and gherkins)\",\n  \"200210\":\n    \"Vegetable preparations; tomatoes, whole or in pieces, prepared or preserved otherwise than by vinegar or acetic acid\",\n  \"200290\":\n    \"Vegetable preparations; tomatoes, (other than whole or in pieces), prepared or preserved otherwise than by vinegar or acetic acid\",\n  \"200310\":\n    \"Vegetable preparations; mushrooms of the genus Agaricus, prepared or preserved otherwise than by vinegar or acetic acid\",\n  \"200320\":\n    \"Vegetable preparations; truffles, prepared or preserved otherwise than by vinegar or acetic acid\",\n  \"200390\":\n    \"Vegetable preparations; mushrooms and truffles, other than mushrooms of the genus Agaricus, prepared or preserved otherwise than by vinegar or acetic acid\",\n  \"200410\":\n    \"Vegetable preparations; potatoes, prepared or preserved otherwise than by vinegar or acetic acid, frozen\",\n  \"200490\":\n    \"Vegetable preparations; vegetables and mixtures of vegetables (excluding potatoes), prepared or preserved otherwise than by vinegar or acetic acid, frozen\",\n  \"200510\":\n    \"Vegetable preparations; homogenised vegetables, prepared or preserved otherwise than by vinegar or acetic acid, not frozen\",\n  \"200520\":\n    \"Vegetable preparations; potatoes, prepared or preserved otherwise than by vinegar or acetic acid, not frozen\",\n  \"200530\": \"Vegetable preparations; sauerkraut\",\n  \"200540\":\n    \"Vegetable preparations; peas (pisum sativum), prepared or preserved otherwise than by vinegar or acetic acid, not frozen\",\n  \"200551\":\n    \"Vegetable preparations; beans, shelled, prepared or preserved otherwise than by vinegar or acetic acid, not frozen\",\n  \"200559\":\n    \"Vegetable preparations; beans, (not shelled), prepared or preserved otherwise than by vinegar or acetic acid, not frozen\",\n  \"200560\":\n    \"Vegetable preparations; asparagus, prepared or preserved otherwise than by vinegar or acetic acid, not frozen\",\n  \"200570\":\n    \"Vegetable preparations; olives, prepared or preserved otherwise than by vinegar or acetic acid, not frozen\",\n  \"200580\":\n    \"Vegetable preparations; sweetcorn (zea mays var. saccharata), prepared or preserved otherwise than by vinegar or acetic acid, not frozen\",\n  \"200590\":\n    \"Vegetable preparations; vegetables and mixtures of vegetables n.e.s. in heading no. 2005, prepared or preserved otherwise than by vinegar or acetic acid, not frozen\",\n  \"200591\":\n    \"Vegetable preparations; bamboo shoots, prepared or preserved otherwise than by vinegar or acetic acid, not frozen\",\n  \"200599\":\n    \"Vegetable preparations; vegetables and mixtures of vegetables n.e.c. in heading no. 2005, prepared or preserved otherwise than by vinegar or acetic acid, not frozen\",\n  \"200600\":\n    \"Vegetables, fruit, nuts, fruit-peel and other parts of plants, preserved by sugar (drained, glace or crystallised)\",\n  \"200710\":\n    \"Jams, fruit jellies, marmalades, fruit or nut puree and fruit or nut pastes; homogenised, cooked preparations, whether or not containing added sugar or other sweetening matter\",\n  \"200791\":\n    \"Jams, jellies, marmalades, purees and pastes; of citrus fruit, being cooked preparations (excluding homogenised), whether or not containing added sugar or other sweetening matter\",\n  \"200799\":\n    \"Jams, fruit jellies, marmalades, purees and pastes; of fruit or nuts n.e.c. in heading no. 2007, cooked preparations (excluding homogenised), whether or not containing added sugar or other sweetening matter\",\n  \"200811\":\n    \"Nuts; ground-nuts, whether or not containing added sugar, other sweetening matter or spirit\",\n  \"200819\":\n    \"Nuts and other seeds; whether or not containing added sugar, other sweetening matter or spirit (excluding ground-nuts except in mixtures)\",\n  \"200820\":\n    \"Fruit; pineapples, prepared or preserved in ways n.e.c. in heading no. 2007, whether or not containing added sugar, other sweetening matter or spirit\",\n  \"200830\":\n    \"Fruit; citrus, prepared or preserved in ways n.e.c. in heading no. 2007, whether or not containing added sugar, other sweetening matter or spirit\",\n  \"200840\":\n    \"Fruit; pears, prepared or preserved in ways n.e.c. in heading no. 2007, whether or not containing added sugar, other sweetening matter or spirit\",\n  \"200850\":\n    \"Fruit; apricots, prepared or preserved in ways n.e.c. in heading no. 2007, whether or not containing added sugar, other sweetening matter or spirit\",\n  \"200860\":\n    \"Fruit; cherries, prepared or preserved in ways n.e.c. in heading no. 2007, whether or not containing added sugar, other sweetening matter or spirit\",\n  \"200870\":\n    \"Fruit; peaches, including nectarines, prepared or preserved in ways n.e.c. in heading no. 2007 and 2008, whether or not containing added sugar, other sweetening matter or spirit\",\n  \"200880\":\n    \"Fruit; strawberries, prepared or preserved in ways n.e.c. in heading no. 2007, whether or not containing added sugar, other sweetening matter or spirit\",\n  \"200891\":\n    \"Fruit, palm hearts; prepared or preserved, whether or not containing added sugar, other sweetening matter or spirit\",\n  \"200892\":\n    \"Fruit, nuts and other edible parts of plants; mixtures (other than those of subheading no 2008.19), prepared or preserved in ways n.e.c. in heading no. 2007 and 2008, whether or not containing added sugar, other sweetening matter or spirit, n.e.c.\",\n  \"200893\":\n    \"Fruit; cranberries (Vaccinium macrocarpon, Vaccinium oxycoccos, Vaccinium vitis-idaea), prepared or preserved, whether or not containing added sugar, other sweetening matter or spirit\",\n  \"200897\":\n    \"Fruit, nuts and other edible parts of plants; mixtures (other than those of subheading no 2008.19); prepared or preserved in ways n.e.c. in headings 2007 and 2008, whether or not containing added sugar, or other sweetening matter or spirit, n.e.c.\",\n  \"200899\":\n    \"Fruit, nuts and other edible parts of plants; prepared or preserved, whether or not containing added sugar, other sweetening matter or spirit, n.e.c. in heading no. 2008\",\n  \"200911\":\n    \"Juice; orange, frozen, unfermented, (not containing added spirit), whether or not containing added sugar or other sweetening matter\",\n  \"200912\":\n    \"Juice; orange, not frozen, of a Brix value not exceeding 20, unfermented, not containing added spirit, whether or not containing added sugar or other sweetening matter\",\n  \"200919\":\n    \"Juice; orange, not frozen, of a Brix value exceeding 20, unfermented, not containing added spirit, whether or not containing added sugar or other sweetening matter\",\n  \"200920\":\n    \"Juice; grapefruit, unfermented, (not containing added spirit), whether or not containing added sugar or other sweetening matter\",\n  \"200921\":\n    \"Juice; grapefruit (including pomelo), of a Brix value not exceeding 20, unfermented, (not containing added spirit), whether or not containing added sugar or other sweetening matter\",\n  \"200929\":\n    \"Juice; grapefruit (including pomelo), of a Brix value exceeding 20, unfermented, not containing added spirit, whether or not containing added sugar or other sweetening matter\",\n  \"200930\":\n    \"Juice; of single citrus fruit (excluding orange or grapefruit), unfermented, (not containing added spirit), whether or not containing added sugar or other sweetening matter\",\n  \"200931\":\n    \"Juice; of single citrus fruit (excluding orange or grapefruit), of a Brix value not exceeding 20, unfermented, not containing added spirit, whether or not containing added sugar or other sweetening matter\",\n  \"200939\":\n    \"Juice; of single citrus fruit (excluding orange or grapefruit), of a Brix value exceeding 20, unfermented, not containing added spirit, whether or not containing added sugar or other sweetening matter\",\n  \"200940\":\n    \"Juice; pineapple, unfermented, (not containing added spirit), whether or not containing added sugar or other sweetening matter\",\n  \"200941\":\n    \"Juice; pineapple, of a Brix value not exceeding 20, unfermented, (not containing added spirit), whether or not containing added sugar or other sweetening matter\",\n  \"200949\":\n    \"Juice; pineapple, of a Brix value exceeding 20, unfermented, not containing added spirit, whether or not containing added sugar or other sweetening matter\",\n  \"200950\":\n    \"Juice; tomato, unfermented, not containing added spirit, whether or not containing added sugar or other sweetening matter\",\n  \"200960\":\n    \"Juice; grape (including grape must), unfermented, not containing added spirit, whether or not containing added sugar or other sweetening matter\",\n  \"200961\":\n    \"Juice; grape, of a Brix value not exceeding 30, unfermented, (not containing added spirit), whether or not containing added sugar or other sweetening matter\",\n  \"200969\":\n    \"Juice; grape, of a Brix value exceeding 30, unfermented, not containing added spirit, whether or not containing added sugar or other sweetening matter\",\n  \"200970\":\n    \"Juice; apple, unfermented, not containing added spirit, whether or not containing added sugar or other sweetening matter\",\n  \"200971\":\n    \"Juice; apple, of a Brix value not exceeding 20, unfermented, (not containing added spirit), whether or not containing added sugar or other sweetening matter\",\n  \"200979\":\n    \"Juice; apple, of a Brix value exceeding 20, unfermented, not containing added spirit, whether or not containing added sugar or other sweetening matter\",\n  \"200980\":\n    \"Juice; of any single fruit or vegetable n.e.c. in heading no. 2009, unfermented, not containing added spirit, whether or not containing added sugar or other sweetening matter\",\n  \"200981\":\n    \"Juice; Cranberry (Vaccinium macrocarpon, Vaccinium oxycoccos, Vaccinium vitis-idaea) juice, unfermented, not containing added spirit, whether or not containing added sugar or other sweetening matter\",\n  \"200989\":\n    \"Juice; of any single fruit or vegetable n.e.c. in heading no. 2009, unfermented, not containing added spirit, whether or not containing added sugar or other sweetening matter\",\n  \"200990\":\n    \"Juices; mixtures of fruits or vegetables, unfermented, not containing added spirit, whether or not containing added sugar or other sweetening matter\",\n  \"210110\":\n    \"Extracts, essences and concentrates; of coffee and preparations with a basis of these extracts, essences or concentrates or with a basis of coffee\",\n  \"210111\":\n    \"Extracts, essences and concentrates; of coffee, and preparations with a basis of these extracts, essences or concentrates or with a basis of coffee\",\n  \"210112\":\n    \"Preparations with a basis of extracts, essences or concentrates or with a basis of coffee\",\n  \"210120\":\n    \"Extracts, essences and concentrates; of tea or mate, and preparations with a basis of these extracts, essences or concentrates or with a basis of tea or mate\",\n  \"210130\":\n    \"Chicory, roasted and other roasted coffee substitutes; extracts, essences and concentrates thereof\",\n  \"210210\": \"Yeasts; active\",\n  \"210220\": \"Yeasts; inactive, other single-cell micro-organisms, dead\",\n  \"210230\": \"Baking powders; prepared\",\n  \"210310\": \"Sauces; soya\",\n  \"210320\": \"Sauces; tomato ketchup and other tomato sauces\",\n  \"210330\": \"Mustard flour and meal and prepared mustard\",\n  \"210390\": \"Mixed condiments and seasonings\",\n  \"210410\": \"Soups and broths and preparations therefor\",\n  \"210420\": \"Homogenised composite food preparations\",\n  \"210500\": \"Ice cream and other edible ice; whether or not containing cocoa\",\n  \"210610\": \"Protein; concentrates and textured protein substances\",\n  \"210690\": \"Other food preparations (exclusionary category)\",\n  \"220110\":\n    \"Waters; mineral and aerated, including natural or artificial, (not containing added sugar or other sweetening matter nor flavoured)\",\n  \"220190\":\n    \"Waters; other than mineral and aerated, (not containing added sugar or other sweetening matter nor flavoured), ice and snow\",\n  \"220210\": \"Beverage waters; sweetened or flavoured\",\n  \"220290\":\n    \"Non-alcoholic beverages; n.e.c. in item no. 2202.10, not including fruit or vegetable juices of heading no. 2009\",\n  \"220291\": \"Non-alcoholic beverages; non-alcoholic beer\",\n  \"220299\":\n    \"Non-alcoholic beverages; other than non-alcoholic beer, n.e.c. in item no. 2202.10, not including fruit or vegetable juices of heading no. 2009\",\n  \"220300\": \"Beer made from malt\",\n  \"220410\": \"Wine; sparkling\",\n  \"220421\": \"Wine; containers <2l\",\n  \"220422\":\n    \"Wine; still, in containers holding more than 2 litres but not more than 10 litres\",\n  \"220429\": \"Wine; still, in containers holding more than 10 litres\",\n  \"220430\": \"Grape must; n.e.c. in heading no. 2009, n.e.c. in item no. 2204.2\",\n  \"220510\":\n    \"Vermouth and other wine of fresh grapes, flavoured with plants or aromatic substances, in containers holding 2 litres or less\",\n  \"220590\":\n    \"Vermouth and other wine of fresh grapes, flavoured with plants or aromatic substances, in containers holding more than 2 litres\",\n  \"220600\": \"Beverages, fermented; (e.g. cider, perry, mead, sake)\",\n  \"220710\":\n    \"Undenatured ethyl alcohol; of an alcoholic strength by volume of 80% vol. or higher\",\n  \"220720\": \"Ethyl alcohol and other spirits; denatured, of any strength\",\n  \"220810\":\n    \"Alcoholic preparations; compound, of a kind used for the manufacture of beverages\",\n  \"220820\": \"Spirits obtained by distilling grape wine or grape marc\",\n  \"220830\": \"Whiskies\",\n  \"220840\":\n    \"Rum and other spirits obtained by distilling fermented sugar-cane products\",\n  \"220850\": \"Gin and geneva\",\n  \"220860\": \"Vodka\",\n  \"220870\": \"Liqueurs and cordials\",\n  \"220890\":\n    \"Spirits, liqueurs and other spirituous beverages; n.e.c. in heading no. 2208\",\n  \"220900\": \"Vinegar and substitutes for vinegar; obtained from acetic acid\",\n  \"230110\": \"Flours, meals and pellets; of meat or meat offal, greaves\",\n  \"230120\":\n    \"Flours, meals and pellets; of fish or of crustaceans, molluscs or other aquatic invertebrates\",\n  \"230210\":\n    \"Bran, sharps and other residues; of maize (corn), whether or not in the form of pellets, derived from the sifting, milling or other workings thereof\",\n  \"230220\":\n    \"Bran, sharps and other residues; of rice, whether or not in the form of pellets, derived from the sifting, milling or other workings thereof\",\n  \"230230\":\n    \"Bran, sharps and other residues; of wheat, whether or not in the form of pellets, derived from the sifting, milling or other workings thereof\",\n  \"230240\":\n    \"Bran, sharps and other residues; of other cereals, whether or not in the form of pellets, derived from the sifting, milling or other workings thereof\",\n  \"230250\":\n    \"Bran, sharps and other residues; of leguminous plants, whether or not in the form of pellets, derived from the sifting, milling or other workings thereof\",\n  \"230310\":\n    \"Residues of starch manufacture and similar residues; whether or not in the form of pellets\",\n  \"230320\":\n    \"Beet-pulp, bagasse and other waste of sugar manufacture; whether or not in the form of pellets\",\n  \"230330\":\n    \"Brewing or distilling dregs and waste; whether or not in the form of pellets\",\n  \"230400\": \"Soya-bean oil-cake and other solid residues\",\n  \"230500\":\n    \"Oil-cake and other solid residues; whether or not ground or in the form of pellets, resulting from the extraction of ground-nut oil\",\n  \"230610\":\n    \"Oil-cake and other solid residues; whether or not ground or in the form of pellets, resulting from the extraction of cotton seed oils\",\n  \"230620\":\n    \"Oil-cake and other solid residues; whether or not ground or in the form of pellets, resulting from the extraction of linseed oils\",\n  \"230630\":\n    \"Oil-cake and other solid residues; whether or not ground or in the form of pellets, resulting from the extraction of sunflower seed oils\",\n  \"230640\":\n    \"Oil-cake and other solid residues; whether or not ground or in the form of pellets, resulting from the extraction of rape or colza seed oils\",\n  \"230641\":\n    \"Oil-cake and other solid residues; whether or not ground or in the form of pellets, resulting from the extraction of low erucic acid rape or colza seed oils\",\n  \"230649\":\n    \"Oil-cake and other solid residues; whether or not ground or in the form of pellets, resulting from the extraction of rape seed oils (other than low erucic acid rape or colza)\",\n  \"230650\":\n    \"Oil-cake and other solid residues; whether or not ground or in the form of pellets, resulting from the extraction of coconut or copra seed oils\",\n  \"230660\":\n    \"Oil-cake and other solid residues; whether or not ground or in the form of pellets, resulting from the extraction of palm nuts or kernels oils\",\n  \"230670\":\n    \"Oil cake and other solid residues; whether or not ground or in the form of pellets, resulting from the extraction of maize (corn) germ oils\",\n  \"230690\":\n    \"Oil-cake and other solid residues; whether or not ground or in the form of pellets, resulting from the extraction of oils, n.e.c. in heading no. 2306\",\n  \"230700\": \"Wine lees; argol\",\n  \"230800\":\n    \"Vegetable materials and vegetable waste, vegetable residues and by-products; whether or not in the form of pellets, of a kind used in animal feeding, not elsewhere specified or included\",\n  \"230810\":\n    \"Vegetable materials and vegetable waste, vegetable residues and bi-products; whether or not in the form of pellets, of a kind used in animal feeding, acorns and horse-chestnuts\",\n  \"230890\":\n    \"Vegetable materials and vegetable waste, vegetable residues and bi-products; whether or not in the form of pellets, of a kind used in animal feeding, other than acorns or horse-chestnuts\",\n  \"230910\": \"Dog or cat food; retail\",\n  \"230990\": \"Dog or cat food; excl. retail\",\n  \"240110\": \"Tobacco, (not stemmed or stripped)\",\n  \"240120\": \"Tobacco; partly of wholly stemmed or stripped\",\n  \"240130\": \"Tobacco refuse\",\n  \"240210\":\n    \"Cigars, cheroots and cigarillos; containing tobacco including the weight of every band, wrapper or attachment thereto\",\n  \"240220\": \"Cigarettes containing tobacco\",\n  \"240290\":\n    \"Cigars, cigarillos and cheroots; containing tobacco substitutes including the weight of every band, wrapper or attachment thereto\",\n  \"240310\":\n    \"Tobacco, smoking; whether or not containing tobacco substitutes in any proportion\",\n  \"240311\":\n    \"Tobacco; smoking, water pipe tobacco as specified in Subheading Note 1 to this Chapter, whether or not containing tobacco substitutes in any proportion\",\n  \"240319\":\n    \"Tobacco; smoking, other than water pipe tobacco, whether or not containing tobacco substitutes in any proportion\",\n  \"240391\": \"Tobacco; homogenised or reconstituted\",\n  \"240399\": \"Tobacco; other than homogenised or reconstituted or smoking\",\n  \"240411\":\n    \"Products containing tobacco or reconstituted tobacco, intended for inhalation without combustion\",\n  \"240412\":\n    \"Products containing nicotine, other than tobacco or reconstituted tobacco, intended for inhalation without combustion\",\n  \"240419\":\n    \"Products containing tobacco or nicotine substitutes, intended for inhalation without combustion\",\n  \"240491\":\n    \"Products n.e.c. in heading 2404, intended for the intake of nicotine into the human body, for oral application\",\n  \"240492\":\n    \"Products n.e.c. in heading 2404, intended for the intake of nicotine into the human body, for transdermal application\",\n  \"240499\":\n    \"Products n.e.c. in heading 2404, intended for the intake of nicotine into the human body, by ways other than inhalation, and other than oral or transdermal application\",\n  \"250100\": \"Sodium chloride\",\n  \"250200\": \"Iron pyrites; unroasted\",\n  \"250300\": \"Sulphur; excl. sublimed, precipitated, and colloidal\",\n  \"250310\": \"Sulphur; crude or unrefined\",\n  \"250390\":\n    \"Sulphur; other kinds excluding crude, unrefined, sublimed, precipitated and colloidal\",\n  \"250410\": \"Graphite; natural, in powder or in flakes\",\n  \"250490\": \"Graphite; natural, in other forms, excluding powder or flakes\",\n  \"250510\": \"Sands; natural, silica and quartz sands, whether or not coloured\",\n  \"250590\":\n    \"Sands; natural, (other than silica and quartz sands), whether or not coloured, (other than metal-bearing sands of chapter 26)\",\n  \"250610\": \"Quartz; other than natural sands\",\n  \"250620\":\n    \"Quartzite; whether or not roughly trimmed or merely cut, by sawing or otherwise, into blocks or slabs of a rectangular (including square) shape\",\n  \"250621\": \"Quartzite; crude or roughly trimmed\",\n  \"250629\":\n    \"Quartzite; cut, by sawing or otherwise, into blocks or slabs of a rectangular (including square) shape, (excluding crude or roughly trimmed)\",\n  \"250700\": \"Kaolin and other kaolinic clays; whether or not calcined\",\n  \"250810\":\n    \"Clays (excluding expanded clays of heading no. 6806); bentonite, whether or not calcined\",\n  \"250820\":\n    \"Clays (excluding expanded clays of heading no. 6806); decolourising\",\n  \"250830\":\n    \"Clays (excluding expanded clays of heading no. 6806); fireclay, whether or not calcined\",\n  \"250840\":\n    \"Clays (excluding expanded clays of heading no. 6806); n.e.c. in heading no. 2508, whether or not calcined\",\n  \"250850\":\n    \"Clays (excluding expanded clays of heading no. 6806); andalusite, kyanite and sillimanite, whether or not calcined\",\n  \"250860\": \"Clays (excluding expanded clays of heading no. 6806); mullite\",\n  \"250870\":\n    \"Clays (excluding expanded clays of heading no. 6806); chamotte or dinas earths\",\n  \"250900\": \"Chalk\",\n  \"251010\":\n    \"Natural calcium phosphates, natural aluminium calcium phosphates and phosphatic chalk; unground\",\n  \"251020\":\n    \"Natural calcium phosphates, natural aluminium calcium phosphates and phosphatic chalk; ground\",\n  \"251110\": \"Barium sulphate (barytes); natural\",\n  \"251120\":\n    \"Barium carbonate (witherite); natural, whether or not calcined, other than barium oxide of heading no. 2816\",\n  \"251200\":\n    \"Siliceous fossil meals (e.g. kieselguhr, tripolite and diatomite) and similar siliceous earths; whether or not calcined, of an apparent specific gravity of 1 or less\",\n  \"251310\": \"Pumice stone, whether or not heat treated\",\n  \"251311\":\n    \"Pumice stone; crude or in irregular pieces, including crushed pumice (bimskies), whether or not heat-treated\",\n  \"251319\":\n    \"Pumice stone; in forms other than specified in item no. 2513.11, whether or not heat-treated\",\n  \"251320\":\n    \"Emery, natural corundum, natural garnet and other natural abrasives, whether or not heat-treated\",\n  \"251321\":\n    \"Emery, corundum, garnet and other abrasives; natural, crude or in irregular pieces, whether or not heat-treated\",\n  \"251329\":\n    \"Emery, corundum, garnet and other abrasives; natural, in other forms excluding crude or in irregular pieces, whether or not heat-treated\",\n  \"251400\":\n    \"Slate; whether or not roughly trimmed or merely cut, by sawing or otherwise, into blocks or slabs of a rectangular (including square) shape\",\n  \"251511\":\n    \"Marble and travertine; having a specific gravity of 2.5 or more, crude or roughly trimmed by sawing or otherwise, into blocks or slabs of a rectangular (including square) shape\",\n  \"251512\": \"Marble and travertine blocks; specific gravity >2.5\",\n  \"251520\":\n    \"Ecaussine and other calcareous monumental or building stone; alabaster, having a specific gravity of 2.5 or more\",\n  \"251611\": \"Granite; crude or roughly trimmed\",\n  \"251612\":\n    \"Granite; merely cut, by sawing or otherwise, into blocks or slabs of a rectangular (including square) shape\",\n  \"251620\":\n    \"Sandstone;. whether or not roughly trimmed, cut, by sawing etc, into blocks or slabs of a rectangular (including square) shape\",\n  \"251621\": \"Sandstone; crude or roughly trimmed\",\n  \"251622\":\n    \"Sandstone; merely cut, by sawing or otherwise, into blocks or slabs of a rectangular (including square) shape\",\n  \"251690\":\n    \"Monumental or building stone; n.e.c. in heading no. 2516, whether or not roughly trimmed or merely cut, by sawing or otherwise, into blocks or slabs of a rectangular (including square) shape\",\n  \"251710\": \"Pebbles, gravel, broken or crushed stone\",\n  \"251720\":\n    \"Macadam of slag, dross or similar industrial waste; whether or not incorporating the materials in item no. 2517.10\",\n  \"251730\": \"Tarred macadam\",\n  \"251741\":\n    \"Stones; of marble, in granules, chippings and powder, whether or not heat-treated\",\n  \"251749\":\n    \"Stones; of heading no. 2515 or 2516 (excluding marble), in granules, chippings and powder, whether or not heat-treated\",\n  \"251810\":\n    \"Dolomite, not calcined or sintered; including dolomite roughly trimmed, or merely cut by sawing or otherwise into blocks or slabs of rectangular (including square) shape\",\n  \"251820\":\n    \"Dolomite, calcined or sintered; including dolomite roughly trimmed, or merely cut by sawing or otherwise into blocks or slabs of rectangular (including square) shape\",\n  \"251830\": \"Dolomite ramming mix\",\n  \"251910\": \"Magnesium carbonate (magnesite); natural\",\n  \"251990\": \"Magnesia; fused or sintered\",\n  \"252010\": \"Gypsum; anhydrite\",\n  \"252020\":\n    \"Plasters; (consisting of calcined gypsum or calcium sulphate), whether or not coloured, with or without small quantities of accelerators or retarders\",\n  \"252100\":\n    \"Limestone flux; limestone and other calcareous stone, of a kind used for the manufacture of lime or cement\",\n  \"252210\":\n    \"Quicklime; excluding calcium oxide and hydroxide of heading no. 2825\",\n  \"252220\":\n    \"Slaked lime; excluding calcium oxide and hydroxide of heading no. 2825\",\n  \"252230\":\n    \"Hydraulic lime; excluding calcium oxide and hydroxide of heading no. 2825\",\n  \"252310\": \"Cement clinkers\",\n  \"252321\": \"Cement; portland, white, whether or not artificially coloured\",\n  \"252329\": \"Portland cement; excl. white\",\n  \"252330\":\n    \"Cement; aluminous (ciment fondu), whether or not coloured or in the form of clinkers\",\n  \"252390\": \"Cement; hydraulic kinds n.e.c. in heading no. 2523\",\n  \"252400\": \"Asbestos\",\n  \"252410\": \"Asbestos; crocidolite (blue asbestos)\",\n  \"252490\": \"Asbestos; other than crocidolite (blue asbestos)\",\n  \"252510\": \"Mica; crude and rifted into sheets or splittings\",\n  \"252520\": \"Mica; powder\",\n  \"252530\": \"Mica; waste\",\n  \"252610\":\n    \"Steatite; natural, (not crushed or powdered), whether or not roughly trimmed or merely cut, by sawing or otherwise, into blocks or slabs of a rectangular (including square) shape; talc\",\n  \"252620\":\n    \"Steatite; natural, crushed, powdered, whether or not roughly trimmed or merely cut, by sawing or otherwise, into blocks or slabs of a rectangular (including square) shape; talc\",\n  \"252700\": \"Cryolite and chiolite; natural\",\n  \"252800\":\n    \"Natural borates and concentrates thereof (whether or not calcined), but not including borates separated from natural brine; natural boric acid containing not more than 85 % of H3BO3 calculated on the dry weight\",\n  \"252810\": \"Sodium borates; natural, whether or not calcined\",\n  \"252890\":\n    \"Borates; natural, and concentrates thereof, n.e.c. in heading no. 2528, excluding borates separated from natural brine; natural boric acid containing not more than 85% of H3Bo3 calculated on the dry weight\",\n  \"252910\": \"Feldspar\",\n  \"252921\": \"Fluorspar; containing by weight 97% or less of calcium fluoride\",\n  \"252922\": \"Fluorspar; containing by weight more than 97% of calcium fluoride\",\n  \"252930\": \"Leucite; nepheline and nepheline syenite\",\n  \"253010\": \"Vermiculite, perlite and chlorites; unexpanded\",\n  \"253020\": \"Kieserite, epsomite (natural magnesium sulphates)\",\n  \"253030\": \"Earth colours\",\n  \"253040\": \"Natural micaceous iron oxides\",\n  \"253090\": \"Other salts (exclusionary category)\",\n  \"260111\": \"Iron ores and concentrates; non-agglomerated\",\n  \"260112\": \"Iron ores and concentrates; agglomerated\",\n  \"260120\": \"Iron pyrites; roasted\",\n  \"260200\": \"Manganese ores and concentrates\",\n  \"260300\": \"Copper ores and concentrates\",\n  \"260400\": \"Nickel ores and concentrates\",\n  \"260500\": \"Cobalt ores and concentrates\",\n  \"260600\": \"Aluminium ores and concentrates\",\n  \"260700\": \"Lead ores and concentrates\",\n  \"260800\": \"Zinc ores and concentrates\",\n  \"260900\": \"Tin ores and concentrates\",\n  \"261000\": \"Chromium ores and concentrates\",\n  \"261100\": \"Tungsten ores and concentrates\",\n  \"261210\": \"Uranium ores and concentrates\",\n  \"261220\": \"Thorium ores and concentrates\",\n  \"261310\": \"Molybdenum ores and concentrates; roasted\",\n  \"261390\": \"Molybdenum ores and concentrates; not roasted\",\n  \"261400\": \"Titanium ores and concentrates\",\n  \"261510\": \"Zirconium ores and concentrates\",\n  \"261590\": \"Niobium, tantalum, vanadium ores and concentrates\",\n  \"261610\": \"Silver ores and concentrates\",\n  \"261690\": \"Precious metal ores and concentrates; excl. silver\",\n  \"261710\": \"Antimony ores and concentrates\",\n  \"261790\": \"Ores and concentrates n.e.c. in chapter 26; other than antimony\",\n  \"261800\":\n    \"Slag, granulated (slag sand); from the manufacture or iron or steel\",\n  \"261900\":\n    \"Slag, dross; (other than granulated slag), scalings and other waste from the manufacture of iron or steel\",\n  \"262011\":\n    \"Slag, ash and residues; (not from the manufacture of iron or steel), containing mainly zinc, hard zinc spelter\",\n  \"262019\":\n    \"Slag, ash and residues; (not from the manufacture of iron or steel), containing mainly zinc, other than hard zinc spelter\",\n  \"262020\":\n    \"Ash and residues; (not from the manufacture of iron or steel), containing mainly lead\",\n  \"262021\":\n    \"Slag, ash and residues; (not from the manufacture of iron or steel), containing mainly lead; leaded gasoline sludges and leaded anti-knock compound sludges\",\n  \"262029\":\n    \"Slag, ash and residues; (not from the manufacture of iron or steel), containing mainly lead; excluding leaded gasoline sludges and leaded anti-knock compound sludges\",\n  \"262030\":\n    \"Slag, ash and residues; (not from the manufacture of iron or steel), containing mainly copper\",\n  \"262040\":\n    \"Slag, ash and residues; (not from the manufacture of iron or steel), containing mainly aluminium\",\n  \"262050\":\n    \"Ash and residues; (not from the manufacture of iron or steel), containing mainly vanadium\",\n  \"262060\":\n    \"Slag, ash and residues; (not from the manufacture of iron or steel), containing arsenic, mercury, thallium or their mixtures, of a kind used for the extraction of arsenic or those metals or for the manufacture of their chemical compounds\",\n  \"262090\":\n    \"Ash and residues; (not from the manufacture or iron or steel), containing mainly metals or metal compounds n.e.s. in heading no. 2620\",\n  \"262091\":\n    \"Slag, ash and residues; (not from the manufacture of iron or steel), containing antimony, beryllium, cadmium, chromium or their mixtures\",\n  \"262099\":\n    \"Slag, ash and residues; (not from the manufacture of iron or steel), containing mainly metals or their compounds, n.e.c. in heading no. 2620\",\n  \"262100\": \"Slag and ash; including seaweed ash (kelp), n.e.s. in chapter 26\",\n  \"262110\":\n    \"Slag and ash; ash and residues from the incineration of municipal waste\",\n  \"262190\":\n    \"Slag and ash n.e.c. in chapter 26; including seaweed ash (kelp) but excluding ash and residues from the incineration of municipal waste\",\n  \"270111\": \"Coal; anthracite\",\n  \"270112\": \"Coal; bituminous\",\n  \"270119\": \"Coal; lower-rank; excl. lignite\",\n  \"270120\":\n    \"Briquettes, ovoids and similar solid fuels; manufactured from coal\",\n  \"270210\": \"Lignite; not agglomerated\",\n  \"270220\": \"Lignite; agglomerated, excluding jet\",\n  \"270300\": \"Peat\",\n  \"270400\": \"Coke; fuel\",\n  \"270500\":\n    \"Gases; coal, water, producer and similar gases (excluding petroleum and other gaseous hydrocarbons)\",\n  \"270600\": \"Tar from coal, lignite, peat, or other minerals\",\n  \"270710\":\n    \"Oils and products of the distillation of high temperature coal tar; benzol (benzene)\",\n  \"270720\":\n    \"Oils and products of the distillation of high temperature coal tar; toluol (toluene)\",\n  \"270730\":\n    \"Oils and products of the distillation of high temperature coal tar; xylol (xylenes)\",\n  \"270740\":\n    \"Oils and products of the distillation of high temperature coal tar; naphthalene\",\n  \"270750\":\n    \"Aromatic hydrocarbon mixtures; n.e.c. in heading no. 2707, of which 65% or more by volume (including losses) distils at 250 degrees Celsius by the ISO 3405 method (equivalent to the ASTM D 86 method)\",\n  \"270760\":\n    \"Oils and other products of the distillation of high temperature coal tar; phenols\",\n  \"270791\":\n    \"Oils and other products of the distillation of high temperature coal tar; creosote oils\",\n  \"270799\": \"Coal tar distillation products (exclusionary category)\",\n  \"270810\": \"Pitch; obtained from coal tar or from other mineral tars\",\n  \"270820\": \"Pitch coke; obtained from coal tar or from other mineral tars\",\n  \"270900\": \"Crude oil\",\n  \"271000\": \"Refined petroleum products\",\n  \"271011\":\n    \"Petroleum oils and oils from bituminous minerals, not crude or waste oils; preparations n.e.c. with 70% or more (weight), of petroleum oils or oils from bituminous minerals; being the basic constituents of the preparations: light oils and preparations\",\n  \"271012\":\n    \"Refined petroleum; light products, incl. gasoline, naphtha, solvents; not containing biodiesel\",\n  \"271013\": \"Light petroleum products; excl. aviation or motor fuel\",\n  \"271014\": \"Motor gasoline\",\n  \"271015\": \"White spirit **LEGACY NON-WCO CODE**\",\n  \"271016\": \"Naphtha\",\n  \"271019\":\n    \"Refined petroleum; heavy products, incl. diesel, kerosene; not containing biodiesel\",\n  \"271020\": \"Refined petroleum; heavy products, containing biodiesel\",\n  \"271021\": \"Jet fuel\",\n  \"271022\": \"Kerosene, for furnaces **LEGACY NON-WCO CODE**\",\n  \"271025\":\n    \"Kerosene lamp oil, motor kerosene, light diesel, etc **LEGACY NON-WCO CODE**\",\n  \"271026\": \"Diesel, light (no. 1 spec)\",\n  \"271027\": \"Diesel (no.2 spec)\",\n  \"271029\": \"Fuel oil\",\n  \"271091\":\n    \"Waste Oils; of petroleum or obtained from bituminous minerals, not crude; and preparations n.e.c., weight 70% or preparations of the same, containing polychlorinated biphenyls (PCBs), polychorinated terphenyls (PCTs) or polybrominated biphenyls (PBBs)\",\n  \"271093\": \"Heavy furnace oil\",\n  \"271094\": \"Petroleum oil used in road building **LEGACY NON-WCO CODE**\",\n  \"271095\": \"Lubricants\",\n  \"271096\": \"Petroleum lubricating greases **LEGACY NON-WCO CODE**\",\n  \"271099\":\n    \"Waste Oils; of petroleum or obtained from bituminous minerals, not crude and preparations n.e.c., weight 70% or preparations of the same, not containing polychlorinated biphenyls (PCBs), polychorinated terphenyls (PCTs) or polybrominated biphenyls (PBBs)\",\n  \"271111\": \"Natural gas; liquefied\",\n  \"271112\": \"Propane; liquefied\",\n  \"271113\": \"Butanes; liquefied\",\n  \"271114\": \"Ethylene, propylene, butylene, and butadiene; liquefied\",\n  \"271119\": \"Other liquified gas products\",\n  \"271121\": \"Natural gas; gaseous state\",\n  \"271129\": \"Petroleum gases and gaseous hydrocarbons; excl. natural gas\",\n  \"271210\": \"Petroleum jelly\",\n  \"271220\": \"Paraffin wax; containing <0.75% oil\",\n  \"271290\": \"Paraffin wax; containing >0.75% oil\",\n  \"271311\": \"Petroleum coke; not calcined\",\n  \"271312\": \"Petroleum coke; calcined\",\n  \"271320\": \"Petroleum bitumen\",\n  \"271390\": \"Residues from petroleum and bitumen refinement\",\n  \"271410\": \"Bituminous or oil shale and tar sands\",\n  \"271490\": \"Bitumen and asphalt, natural; asphaltites and asphaltic rock\",\n  \"271500\":\n    \"Bituminous mixtures based on natural asphalt, on natural bitumen, on petroleum bitumen, on mineral tar or on mineral tar pitch (e.g. bituminous mastics, cut-backs)\",\n  \"271600\": \"Electrical energy\",\n  \"280110\": \"Chlorine\",\n  \"280120\": \"Iodine\",\n  \"280130\": \"Fluorine; bromine\",\n  \"280200\": \"Sulphur; sublimed or precipitated, colloidal sulphur\",\n  \"280300\": \"Carbon; carbon blacks and other forms of carbon n.e.c.\",\n  \"280410\": \"Hydrogen\",\n  \"280421\": \"Gases, rare; argon\",\n  \"280429\": \"Gases, rare; other than argon\",\n  \"280430\": \"Nitrogen\",\n  \"280440\": \"Oxygen\",\n  \"280450\": \"Boron; tellurium\",\n  \"280461\": \"Silicon; containing by weight not less than 99.99% of silicon\",\n  \"280469\": \"Silicon; containing by weight less than 99.99% of silicon\",\n  \"280470\": \"Phosphorus\",\n  \"280480\": \"Arsenic\",\n  \"280490\": \"Selenium\",\n  \"280511\": \"Alkali or alkali-earth metals; sodium\",\n  \"280512\": \"Alkali or alkali-earth metals; calcium\",\n  \"280519\": \"Alkali or alkali-earth metals; other than sodium and calcium\",\n  \"280521\": \"Alkaline-earth metals; calcium\",\n  \"280522\": \"Alkaline-earth metals; strontium and barium\",\n  \"280530\":\n    \"Earth-metals, rare; scandium and yttrium, whether or not intermixed or interalloyed\",\n  \"280540\": \"Mercury\",\n  \"280610\": \"Hydrogen chloride (hydrochloric acid)\",\n  \"280620\": \"Chlorosulphuric acid\",\n  \"280700\": \"Sulphuric acid; oleum\",\n  \"280800\": \"Nitric acid; sulphonitric acids\",\n  \"280910\": \"Diphosphorus pentoxide\",\n  \"280920\": \"Phosphoric acid and polyphosphoric acids\",\n  \"281000\": \"Oxides of boron; boric acids\",\n  \"281111\": \"Hydrogen fluoride (hydrofluoric acid)\",\n  \"281112\": \"Hydrogen cyanide (hydrocyanic acid)\",\n  \"281119\": \"Inorganic acids; other than hydrogen fluoride\",\n  \"281121\": \"Carbon dioxide\",\n  \"281122\": \"Silicon dioxide\",\n  \"281123\": \"Sulphur dioxide\",\n  \"281129\":\n    \"Inorganic oxygen compounds; of non-metals, n.e.c. in item no. 2811.2\",\n  \"281210\": \"Chlorides and chloride oxides\",\n  \"281211\": \"Carbonyl dichloride (phosgene)\",\n  \"281212\": \"Phosphorus oxychloride\",\n  \"281213\": \"Phosphorus trichloride\",\n  \"281214\": \"Phosphorus pentachloride\",\n  \"281215\": \"Sulphur monochloride\",\n  \"281216\": \"Sulphur dichloride\",\n  \"281217\": \"Thionyl chloride\",\n  \"281219\":\n    \"Arsenic trichloride and other chlorides and chloride oxides, n.e.c. in item no. 2812\",\n  \"281290\": \"Halides and halide oxides of non-metals; excluding chloride\",\n  \"281310\": \"Carbon disulphide\",\n  \"281390\":\n    \"Sulphides of non-metals, (excluding carbon); commercial phosphorus trisulphide\",\n  \"281410\": \"Ammonia; anhydrous\",\n  \"281420\": \"Ammonia; in aqueous solution\",\n  \"281511\": \"Sodium hydroxide (caustic soda); solid\",\n  \"281512\":\n    \"Sodium hydroxide (caustic soda); in aqueous solution (soda lye or liquid soda)\",\n  \"281520\": \"Potassium hydroxide (caustic potash)\",\n  \"281530\": \"Peroxides of sodium or potassium\",\n  \"281610\": \"Hydroxide and peroxide of magnesium\",\n  \"281620\": \"Oxide, hydroxide and peroxide of strontium\",\n  \"281630\": \"Oxide, hydroxide and peroxide of barium\",\n  \"281640\": \"Oxides, hydroxides and peroxides, of strontium or barium\",\n  \"281700\": \"Zinc; oxide and peroxide\",\n  \"281810\": \"Aluminium oxide; artificial corundum\",\n  \"281820\": \"Aluminium oxide; other than artificial corundum\",\n  \"281830\": \"Aluminium hydroxide\",\n  \"281910\": \"Chromium trioxide\",\n  \"281990\": \"Chromium oxides and hydroxides; excluding chromium trioxide\",\n  \"282010\": \"Manganese dioxide\",\n  \"282090\": \"Manganese oxides; excluding manganese dioxide\",\n  \"282110\": \"Iron oxides and hydroxides\",\n  \"282120\":\n    \"Earth colours; containing 70% or more by weight of combined iron evaluated as Fe2o3\",\n  \"282200\": \"Cobalt oxides and hydroxides; commercial cobalt oxides\",\n  \"282300\": \"Titanium oxides\",\n  \"282410\": \"Lead; lead monoxide (litharge, massicot)\",\n  \"282420\": \"Lead; red and orange\",\n  \"282490\": \"Lead oxides; n.e.c. in heading no. 2824\",\n  \"282510\": \"Hydrazine and hydroxylamine and their inorganic salts\",\n  \"282520\": \"Lithium oxide and hydroxide\",\n  \"282530\": \"Vanadium oxides and hydroxides\",\n  \"282540\": \"Nickel oxides and hydroxides\",\n  \"282550\": \"Copper oxides and hydroxides\",\n  \"282560\": \"Germanium oxides and zirconium dioxide\",\n  \"282570\": \"Molybdenum oxides and hydroxides\",\n  \"282580\": \"Antimony oxides\",\n  \"282590\":\n    \"Inorganic bases, metal oxides, hydroxides and peroxides; n.e.c. in heading no. 2825\",\n  \"282611\": \"Fluorides; of ammonium or of sodium\",\n  \"282612\": \"Fluorides; of aluminium\",\n  \"282619\": \"Fluorides; other than of aluminium\",\n  \"282620\": \"Fluorosilicates of sodium or of potassium\",\n  \"282630\": \"Sodium hexafluoroaluminate (synthetic cryolite)\",\n  \"282690\":\n    \"Fluorides; fluorosilicates, fluoroaluminates and other complex fluorine salts, n.e.c. in heading no. 2826\",\n  \"282710\": \"Chlorides; of ammonium\",\n  \"282720\": \"Chlorides; of calcium\",\n  \"282731\": \"Chlorides; of magnesium\",\n  \"282732\": \"Chlorides; of aluminium\",\n  \"282733\": \"Chlorides; of iron\",\n  \"282734\": \"Chlorides; of cobalt\",\n  \"282735\": \"Chlorides; of nickel\",\n  \"282736\": \"Chlorides; of zinc\",\n  \"282737\": \"Chlorides; of tin\",\n  \"282738\": \"Chlorides; of barium\",\n  \"282739\":\n    \"Chlorides; other than of ammonium, calcium, magnesium, aluminium and nickel\",\n  \"282741\": \"Chloride oxides and chloride hydroxides; of copper\",\n  \"282749\": \"Chloride oxides and chloride hydroxides; other than of copper\",\n  \"282751\": \"Bromides; of sodium or of potassium\",\n  \"282759\": \"Bromides and bromide oxides; other than item no. 2827.51\",\n  \"282760\": \"Iodides and iodide oxides\",\n  \"282810\":\n    \"Hypochlorites; commercial calcium hypochlorite and other calcium hypochlorites\",\n  \"282890\": \"Hypochlorites; n.e.c. in heading no. 2828\",\n  \"282911\": \"Chlorates; of sodium\",\n  \"282919\": \"Chlorates; other than sodium\",\n  \"282990\": \"Perchlorates; bromates and perbromates; iodates and periodates\",\n  \"283010\": \"Sulphides; of sodium, whether or not chemically defined\",\n  \"283020\": \"Sulphides; of zinc\",\n  \"283030\": \"Sulphides; of cadmium\",\n  \"283090\":\n    \"Sulphides and polysulphides; whether or not chemically defined, other than sulphides of sodium\",\n  \"283110\": \"Dithionites and sulphoxylates; of sodium\",\n  \"283190\": \"Dithionites and sulphoxylates; other than sodium\",\n  \"283210\": \"Sulphites; of sodium\",\n  \"283220\": \"Sulphites; other than of sodium\",\n  \"283230\": \"Thiosulphates\",\n  \"283311\": \"Sodium sulphates; disodium sulphate\",\n  \"283319\": \"Sodium sulphates; other than disodium sulphate\",\n  \"283321\": \"Sulphates; of magnesium\",\n  \"283322\": \"Sulphates; of aluminium\",\n  \"283323\": \"Sulphates; of chromium\",\n  \"283324\": \"Sulphates; of nickel\",\n  \"283325\": \"Sulphates; of copper\",\n  \"283326\": \"Sulphates; of zinc\",\n  \"283327\": \"Sulphates; of barium\",\n  \"283329\": \"Sulphates; n.e.c. in item no. 2833.2\",\n  \"283330\": \"Alums\",\n  \"283340\": \"Peroxosulphates (persulphates)\",\n  \"283410\": \"Nitrites\",\n  \"283421\": \"Nitrates; of potassium\",\n  \"283422\": \"Nitrates; of bismuth\",\n  \"283429\": \"Nitrates; of other than potassium\",\n  \"283510\":\n    \"Phosphinates (hypophosphites) and phosphonates (phosphites), whether or not chemically defined\",\n  \"283521\": \"Phosphates; of triammonium\",\n  \"283522\":\n    \"Phosphates; of mono- or disodium, whether or not chemically defined\",\n  \"283523\": \"Phosphates; of trisodium\",\n  \"283524\": \"Phosphates; of potassium, whether or not chemically defined\",\n  \"283525\":\n    \"Phosphates; calcium hydrogenorthophosphate (dicalcium phosphate), whether or not chemically defined\",\n  \"283526\":\n    \"Phosphates; of calcium n.e.c. in item no. 2835.25, whether or not chemically defined\",\n  \"283529\":\n    \"Phosphates; (other than of mono- or disodium, other than of potassium or of calcium hydrogenorthophosphate (dicalcium phosphate) and excluding other phosphates of calcium), whether or not chemically defined\",\n  \"283531\":\n    \"Polyphosphates; sodium triphosphate (sodium tripolyphosphate), whether or not chemically defined\",\n  \"283539\":\n    \"Polyphosphates; other than sodium triphosphate (sodium tripolyphosphate), whether or not chemically defined\",\n  \"283610\":\n    \"Carbonates; commercial ammonium carbonate and other ammonium carbonates\",\n  \"283620\": \"Carbonates; disodium carbonate\",\n  \"283630\": \"Carbonates; sodium hydrogen carbonate (sodium bicarbonate)\",\n  \"283640\": \"Carbonates; potassium carbonate\",\n  \"283650\": \"Carbonates; calcium carbonate\",\n  \"283660\": \"Carbonates; barium carbonate\",\n  \"283670\": \"Carbonates; lead carbonate\",\n  \"283691\": \"Carbonates; lithium carbonate\",\n  \"283692\": \"Carbonates; strontium carbonate\",\n  \"283693\": \"Carbonates; bismuth carbonate\",\n  \"283699\":\n    \"Carbonates; n.e.c. in heading no. 2836 and other than lithium or strontium\",\n  \"283711\": \"Cyanides and cyanide oxides; of sodium\",\n  \"283719\": \"Cyanides and cyanide oxides; other than of sodium\",\n  \"283720\": \"Complex cyanides\",\n  \"283800\": \"Fulminates, cyanates and thiocyanates\",\n  \"283911\": \"Silicates; sodium metasilicates\",\n  \"283919\": \"Silicates; of sodium (excluding sodium metasilicates)\",\n  \"283920\": \"Silicates; of potassium\",\n  \"283990\":\n    \"Silicates; commercial alkali metal silicates, other than of sodium\",\n  \"284011\": \"Borates; disodium tetraborate (refined borax), anhydrous\",\n  \"284019\":\n    \"Borates; disodium tetraborate (refined borax), other than anhydrous\",\n  \"284020\": \"Borates; n.e.c. in heading no. 2840\",\n  \"284030\": \"Peroxoborates (perborates)\",\n  \"284110\": \"Salts; aluminates\",\n  \"284120\": \"Salts; chromates of zinc or of lead\",\n  \"284130\": \"Salts; sodium dichromate\",\n  \"284140\": \"Salts; potassium dichromate\",\n  \"284150\":\n    \"Salts; chromates, dichromates, peroxochromates; n.e.c. in heading no. 2841\",\n  \"284160\": \"Salts; manganites, manganates and permanganates\",\n  \"284161\":\n    \"Salts; of oxometallic or peroxometallic acids, manganites, manganates and permanganates, potassium permanganate\",\n  \"284169\":\n    \"Salts; of oxometallic or peroxometallic acids, manganites, manganates and permanganates, other than potassium permanganate\",\n  \"284170\": \"Salts; molybdates\",\n  \"284180\": \"Salts; tungstates (wolframates)\",\n  \"284190\":\n    \"Salts of oxometallic or peroxometallic acids; n.e.c. in heading no. 2841\",\n  \"284210\":\n    \"Salts of inorganic acids or peroxoacids, double or complex silicates, including aluminosilicates, whether or not chemically defined, excluding azides\",\n  \"284290\":\n    \"Salts; of inorganic acids or peroxoacids, other than double or complex silicates, including aluminosilicates, whether or not chemically, excluding azides\",\n  \"284310\": \"Colloidal precious metals; whether or not chemically defined\",\n  \"284321\": \"Silver compounds; silver nitrates\",\n  \"284329\": \"Silver compounds; excluding silver nitrates\",\n  \"284330\": \"Gold compounds\",\n  \"284390\":\n    \"Inorganic or organic compounds of precious metals, n.e.c.; amalgams\",\n  \"284410\":\n    \"Uranium; natural uranium and its compounds, alloys, dispersions (including cermets), ceramic products and mixtures containing natural uranium or natural uranium compounds\",\n  \"284420\":\n    \"Uranium; enriched in U235, plutonium, their compounds, alloys dispersions (including cermets), ceramic products and mixtures containing uranium enriched in U235, plutonium or compounds of these products\",\n  \"284430\":\n    \"Uranium; depleted in U235, thorium, their compounds, alloys, dispersions (including cermets), ceramic products and mixtures containing uranium depleted in U235, thorium; compounds of these products\",\n  \"284440\":\n    \"Radioactive elements, isotopes, compounds, n.e.c. in heading no. 2844 alloys, dispersions (including cermets), ceramic products and mixtures containing these elements, isotopes or compounds; radioactive residues\",\n  \"284441\":\n    \"Radioactive elements; tritium and its compounds; alloys, dispersions (including cermets), ceramic products and mixtures containing tritium or its compounds\",\n  \"284442\":\n    \"Radioactive elements; actinium-225, 227, californium-253, curium-240, 241, 242, 243, 244, einsteinium-253, 254, gadolinium-148, polonium-208, 209, 210, radium-223, uranium-230 or 232, compounds; alloys, dispersions, ceramic products and mixtures\",\n  \"284443\":\n    \"Radioactive elements, isotopes and compounds; other alloys, dispersions (including cermets), ceramic products and mixtures containing these elements, isotopes or compounds\",\n  \"284444\":\n    \"Radioactive elements, isotopes, compounds n.e.c. in heading no. 2844, alloys, dispersions (including cermets), ceramic products, mixtures containing the elements, isotopes, compounds; radioactive residues\",\n  \"284450\": \"Spent (irradiated) fuel elements (cartridges) of nuclear reactors\",\n  \"284510\": \"Heavy water (deuterium oxide)\",\n  \"284520\": \"Boron enriched in boron-10 and its compounds\",\n  \"284530\": \"Lithium enriched in lithium-6 and its compounds\",\n  \"284540\": \"Helium-3\",\n  \"284590\":\n    \"Isotopes (excluding those of heading no. 2844); compounds, inorganic or organic, of such isotopes, whether or not chemically defined\",\n  \"284610\": \"Cerium compounds\",\n  \"284690\":\n    \"Compounds, inorganic or organic (excluding cerium), of rare-earth metals, of yttrium, scandium or of mixtures of these metals\",\n  \"284700\": \"Hydrogen peroxide; whether or not solidified with urea\",\n  \"284800\":\n    \"Phosphides; whether or not chemically defined, excluding ferrophosphorus\",\n  \"284810\":\n    \"Phosphides; of copper (phosphor copper), containing more than 15% by weight of phosphorus, whether or not chemically defined, excluding ferrophosphorus\",\n  \"284890\":\n    \"Phosphides; of metals or non-metals (excluding copper), whether or not chemically defined (excluding ferrophosphorus)\",\n  \"284910\": \"Carbides; of calcium, whether or not chemically defined\",\n  \"284920\": \"Carbides; of silicon, whether or not chemically defined\",\n  \"284990\":\n    \"Carbides; whether or not chemically defined, other than of calcium or silicon\",\n  \"285000\":\n    \"Hydrides, nitrides, azides, silicides and borides, whether or not chemically defined, other than compounds which are also carbides of heading no. 2849\",\n  \"285100\":\n    \"Inorganic compounds n.e.s. (including distilled or conductivity water and water of similar purity); liquid air (rare gases removed or not); compressed air; amalgams, other than precious metal amalgams\",\n  \"285200\": \"Compounds, inorganic or organic, of mercury, excluding amalgams\",\n  \"285210\":\n    \"Inorganic or organic compounds of mercury, excluding amalgams, chemically defined\",\n  \"285290\":\n    \"Inorganic or organic compounds of mercury; excluding amalgams, not chemically defined,\",\n  \"285300\":\n    \"Inorganic compounds n.e.c. (including distilled or conductivity water and water of similar purity); liquid air (rare gases removed or not); compressed air; amalgams, other than precious metal amalgams\",\n  \"285310\": \"Inorganic compounds; cyanogen chloride (chlorcyan)\",\n  \"285390\":\n    \"Phosphides, chemically defined or not, not ferrophosphorus; other inorganic compounds n.e.c. (including distilled, conductivity water and water of like purity); liquid air, rare gases removed or not; compressed air; amalgams, not precious metal amalgams\",\n  \"290110\": \"Acyclic hydrocarbons; saturated\",\n  \"290121\": \"Acyclic hydrocarbons; unsaturated, ethylene\",\n  \"290122\": \"Acyclic hydrocarbons; unsaturated, propene (propylene)\",\n  \"290123\":\n    \"Acyclic hydrocarbons; unsaturated, butene (butylene) and isomers thereof\",\n  \"290124\": \"Acyclic hydrocarbons; unsaturated, buta-1,3-diene and isoprene\",\n  \"290129\": \"Acyclic hydrocarbons; unsaturated, n.e.c. in heading no. 2901\",\n  \"290211\": \"Cyclic hydrocarbons; cyclohexane\",\n  \"290219\":\n    \"Cyclic hydrocarbons; cyclanes, cyclenes and cycloterpenes, excluding cyclohexane\",\n  \"290220\": \"Cyclic hydrocarbons; benzene\",\n  \"290230\": \"Cyclic hydrocarbons; toluene\",\n  \"290241\": \"Cyclic hydrocarbons; o-xylene\",\n  \"290242\": \"Cyclic hydrocarbons; m-xylene\",\n  \"290243\": \"P-xylene\",\n  \"290244\": \"Cyclic hydrocarbons; mixed xylene isomers\",\n  \"290250\": \"Cyclic hydrocarbons; styrene\",\n  \"290260\": \"Cyclic hydrocarbons; ethylbenzene\",\n  \"290270\": \"Cyclic hydrocarbons; cumene\",\n  \"290290\": \"Cyclic hydrocarbons; n.e.c. in heading no. 2902\",\n  \"290311\":\n    \"Saturated chlorinated derivatives of acyclic hydrocarbons; chloromethane (methyl chloride) and chloroethane (ethyl chloride)\",\n  \"290312\":\n    \"Saturated chlorinated derivatives of acyclic hydrocarbons; dichloromethane (methylene chloride)\",\n  \"290313\":\n    \"Saturated chlorinated derivatives of acyclic hydrocarbons; chloroform (trichloromethane)\",\n  \"290314\":\n    \"Saturated chlorinated derivatives of acyclic hydrocarbons; carbon tetrachloride\",\n  \"290315\":\n    \"Saturated chlorinated derivatives of acyclic hydrocarbons; ethylene dichloride (ISO) (1,2-dichloroethane)\",\n  \"290316\":\n    \"Saturated chlorinated derivatives of acyclic hydrocarbons; 1,2-dichloropropane (propylene dichloride) and dichlorobutanes\",\n  \"290319\":\n    \"Saturated chlorinated derivatives of acyclic hydrocarbons; n.e.c. in item no. 2903.1\",\n  \"290321\":\n    \"Unsaturated chlorinated derivatives of acyclic hydrocarbons; vinyl chloride (chloroethylene)\",\n  \"290322\":\n    \"Unsaturated chlorinated derivatives of acyclic hydrocarbons; trichloroethylene\",\n  \"290323\":\n    \"Unsaturated chlorinated derivatives of acyclic hydrocarbons; tetrachloroethylene (perchloroethylene)\",\n  \"290329\":\n    \"Unsaturated chlorinated derivatives of acyclic hydrocarbons; n.e.c. in item no. 2903.2\",\n  \"290330\":\n    \"Fluorinated, brominated or iodinated derivatives of acyclic hydrocarbons\",\n  \"290331\":\n    \"Fluorinated, brominated or iodinated derivatives of acyclic hydrocarbons; ethylene dibromide (ISO) (1,2-dibromoethane)\",\n  \"290339\":\n    \"Fluorinated, brominated or iodinated derivatives of acyclic hydrocarbons; other than ethylene dibromide (ISO) (1,2-dibromoethane)\",\n  \"290340\":\n    \"Halogenated derivatives of acyclic hydrocarbons containing two or more different halogens\",\n  \"290341\":\n    \"Halogenated derivatives of acyclic hydrocarbons containing two or more different halogens; trichlorofluoromethane (CFC-11)\",\n  \"290342\":\n    \"Halogenated derivatives of acyclic hydrocarbons containing two or more different halogens; dichlorodifluoromethane (CFC-12)\",\n  \"290343\":\n    \"Halogenated derivatives of acyclic hydrocarbons containing two or more different halogens; trichlorotrifluoroethanes (CFC-113)\",\n  \"290344\":\n    \"Halogenated derivatives of acyclic hydrocarbons containing two or more different halogens; dichlorotetrafluoroethanes and chloropentafluoroethane\",\n  \"290345\":\n    \"Halogenated derivatives of acyclic hydrocarbons containing two or more different halogens; perhalogenated only with fluorine and chlorine, n.e.c. in item no. 2903.4\",\n  \"290346\":\n    \"Halogenated derivatives of acyclic hydrocarbons containing two or more different halogens; bromochlorodifluoromethane, bromotrifluoromethane and dibromotetrafluoroethanes\",\n  \"290347\":\n    \"Halogenated derivatives of acyclic hydrocarbons containing two or more different halogens; perhalogenated derivatives n.e.c. in item no. 2903.41 to 2903.46\",\n  \"290348\":\n    \"Saturated fluorinated derivatives of acyclic hydrocarbons; 1,1,1,3,3-pentafluorobutane (HFC-365mfc) and 1,1,1,2,2,3,4,5,5,5-decafluoropentane (HFC-43-10mee)\",\n  \"290349\":\n    \"Halogenated derivatives of acyclic hydrocarbons containing two or more different halogens; n.e.c. in item no. 2903.4\",\n  \"290351\":\n    \"Halogenated derivatives of cyclanic, cyclenic or cycloterpenic hydrocarbons; 1,2,3,4,5,6-hexachlorocyclohexane (HCH (ISO)), including lindane (ISO, INN)\",\n  \"290352\":\n    \"Halogenated derivatives of cyclanic, cyclenic or cycloterpenic hydrocarbons; aldrin (ISO), chlordane (ISO) and heptachlor (ISO)\",\n  \"290359\":\n    \"Halogenated derivatives of cyclanic, cyclenic, or cycloterpenic hydrocarbons; n.e.c. in item no. 2903.5\",\n  \"290361\":\n    \"Halogenated derivatives of aromatic hydrocarbons; chlorobenzene, o-dichlorobenzene and p-dichlorobenzene\",\n  \"290362\":\n    \"Halogenated derivatives of aromatic hydrocarbons; hexachlorobenzene (ISO) and DDT (ISO) (clofenotane (INN), 1,1,1-trichloro-2,2-bis(p-chlorophenyl)ethane)\",\n  \"290369\":\n    \"Halogenated derivatives of aromatic hydrocarbons; n.e.c. in item no. 2903.6\",\n  \"290371\":\n    \"Halogenated derivatives of acyclic hydrocarbons containing two or more different halogens; chlorodifluoromethane\",\n  \"290372\":\n    \"Halogenated derivatives of acyclic hydrocarbons containing two or more different halogens; dichlorotrifluoroethane\",\n  \"290373\":\n    \"Halogenated derivatives of acyclic hydrocarbons containing two or more different halogens; dichlorofluoroethanes\",\n  \"290374\":\n    \"Halogenated derivatives of acyclic hydrocarbons containing two or more different halogens; chlorodifluoroethanes\",\n  \"290375\":\n    \"Halogenated derivatives of acyclic hydrocarbons containing two or more different halogens; dichloropentafluoropropanes\",\n  \"290376\":\n    \"Halogenated derivatives of acyclic hydrocarbons containing two or more different halogens; bromochlorodifluoromethane, bromotrifluoromethane, and dibromotetrafluoroethanes\",\n  \"290377\":\n    \"Halogenated derivatives of acyclic hydrocarbons containing two or more different halogens; n.e.c. in headings 290371 to 290376, perhalogenated only with fluorine and chlorine\",\n  \"290378\":\n    \"Halogenated derivatives of acyclic hydrocarbons containing two or more different halogens; perhalogenated derivatives, other than those only with fluorine and chlorine, n.e.c. in item no. 2903.71 to 2903.76\",\n  \"290379\":\n    \"Halogenated derivatives of acyclic hydrocarbons containing two or more different halogens; n.e.c. in item no. 2903.7\",\n  \"290381\":\n    \"Halogenated derivatives of cyclanic, cyclenic or cycloterpenic hydrocarbons; 1,2,3,4,5,6-Hexachlorocyclohexane (HCH (ISO)), including lindane (ISO, INN)\",\n  \"290382\":\n    \"Halogenated derivatives of cyclanic, cyclenic or cycloterpenic hydrocarbons; aldrin (ISO), chlordane (ISO), and heptachlor (ISO)\",\n  \"290383\":\n    \"Halogenated derivatives of cyclanic, cyclenic or cycloterpenic hydrocarbons; mirex (ISO)\",\n  \"290389\":\n    \"Halogenated derivatives of cyclanic, cyclenic or cycloterpenic hydrocarbons; n.e.c. in item no. 2903.8\",\n  \"290391\":\n    \"Halogenated derivatives of aromatic hydrocarbons; chlorobenzene, o-dichlorobenzene, and p-dichlorobenzene\",\n  \"290392\":\n    \"Halogenated derivatives of aromatic hydrocarbons; hexachlorobenzene (ISO) and DDT (ISO) (clofenotane (INN), and 1,1,1-trichloro-2,2-bis(p-chlorophenyl)ethane)\",\n  \"290393\":\n    \"Halogenated derivatives of aromatic hydrocarbons; pentachlorobenzene (ISO)\",\n  \"290394\":\n    \"Halogenated derivatives of aromatic hydrocarbons; hexabromobiphenyls\",\n  \"290399\":\n    \"Halogenated derivatives of aromatic hydrocarbons; n.e.c. in item no. 2903.91, 2903.92, 2903.93 and 2903.94\",\n  \"290410\":\n    \"Derivatives of hydrocarbons; containing only sulpho groups, their salts and ethyl esters, whether or not halogenated\",\n  \"290420\":\n    \"Derivatives of hydrocarbons; containing only nitro or only nitroso groups, whether or not halogenated\",\n  \"290431\":\n    \"Derivatives of hydrocarbons; perfluorooctane sulphonic acid, whether or not halogenated\",\n  \"290432\":\n    \"Derivatives of hydrocarbons; ammonium perfluorooctane sulphonate, whether or not halogenated\",\n  \"290433\":\n    \"Derivatives of hydrocarbons; lithium perfluorooctane sulphonate, whether or not halogenated\",\n  \"290434\":\n    \"Derivatives of hydrocarbons; potassium perfluorooctane sulphonate, whether or not halogenated\",\n  \"290435\":\n    \"Derivatives of hydrocarbons; salts of perfluorooctane sulphonic acid n.e.c in heading no. 2904, whether or not halogenated\",\n  \"290436\":\n    \"Derivatives of hydrocarbons; perfluorooctane sulphonyl fluoride, whether or not halogenated\",\n  \"290490\":\n    \"Derivatives of hydrocarbons; n.e.c. in heading no. 2904, whether or not halogenated\",\n  \"290491\":\n    \"Derivatives of hydrocarbons; trichloronitromethane (chloropicrin), whether or not halogenated\",\n  \"290499\":\n    \"Derivatives of hydrocarbons n.e.c. in heading no. 2904, whether or not halogenated\",\n  \"290511\": \"Methyl alcohol\",\n  \"290512\":\n    \"Alcohols; saturated monohydric, propan-1-ol (propyl alcohol) and propan-2-ol (isopropyl alcohol)\",\n  \"290513\": \"Alcohols; saturated monohydric, butan-1-ol (n-butyl alcohol)\",\n  \"290514\":\n    \"Alcohols; saturated monohydric, butanols excluding item no. 2905.13\",\n  \"290515\":\n    \"Alcohols; saturated monohydric, pentanol (amyl alcohol) and isomers thereof\",\n  \"290516\":\n    \"Alcohols; saturated monohydric, octanol (octyl alcohol) and isomers thereof\",\n  \"290517\":\n    \"Alcohols; saturated monohydric, dodecan-1-ol (lauryl alcohol), hexadecan-1-ol (cetyl alcohol) and octadecan-1-ol (stearyl alcohol)\",\n  \"290519\": \"Alcohols; saturated monohydric, n.e.c. in item no. 2905.1\",\n  \"290521\": \"Alcohols; unsaturated monohydric, allyl alcohol\",\n  \"290522\": \"Alcohols; unsaturated monohydric, acyclic terpene alcohols\",\n  \"290529\":\n    \"Alcohols; acyclic, unsaturated monohydric, (other than acyclic terpene alcohols)\",\n  \"290531\": \"Alcohols; acyclic, diols; ethylene glycol (ethanediol)\",\n  \"290532\": \"Alcohols; acyclic, diols; propylene glycol (propane-1, 2-diol)\",\n  \"290539\":\n    \"Alcohols; acyclic, diols, other than ethylene glycol (ethandiol) or propylene glycol (propane-1,2-diol)\",\n  \"290541\":\n    \"Alcohols; polyhydric, 2-ethyl-2- (hydroxymethyl) propane-1,3-diol (trimethylolpropane)\",\n  \"290542\": \"Alcohols; polyhydric, pentaerythritol\",\n  \"290543\": \"Alcohols; polyhydric, mannitol\",\n  \"290544\": \"Alcohols; polyhydric, d-glucitol (sorbitol)\",\n  \"290545\": \"Alcohols; polyhydric, glycerol\",\n  \"290549\": \"Alcohols; polyhydric, n.e.c. in item no. 2905.4\",\n  \"290550\":\n    \"Alcohols; acyclic; halogenated, sulphonated, nitrated or nitrosated derivatives thereof\",\n  \"290551\":\n    \"Alcohols; acyclic; halogenated, sulphonated, nitrated or nitrosated derivatives thereof, ethchlorvynol (INN)\",\n  \"290559\":\n    \"Alcohols; acyclic; halogenated, sulphonated, nitrated or nitrosated derivatives thereof, other than ethchlorvynol (INN)\",\n  \"290611\":\n    \"Alcohols; cyclanic, cyclenic or cycloterpenic and derivatives, menthol\",\n  \"290612\":\n    \"Alcohols; cyclanic, cyclenic or cycloterpenic and derivatives, cyclohexanol, methylcyclohexanols and dimethylcyclohexanols\",\n  \"290613\":\n    \"Alcohols; cyclanic, cyclenic or cycloterpenic and derivatives, sterols and inositols\",\n  \"290614\":\n    \"Alcohols; cyclanic, cyclenic or cycloterpenic and derivatives, terpineols\",\n  \"290619\":\n    \"Alcohols; cyclanic, cyclenic or cycloterpenic and derivatives, n.e.c. in item no. 2906.1\",\n  \"290621\": \"Alcohols; aromatic alcohols and derivatives, benzyl alcohol\",\n  \"290629\": \"Alcohols; aromatic and derivatives, other than benzyl alcohol\",\n  \"290711\": \"Monophenols; phenol (hydroxybenzene) and its salts\",\n  \"290712\": \"Monophenols; cresols and their salts\",\n  \"290713\":\n    \"Monophenols; octylphenol, nonylphenol and their isomers, salts thereof\",\n  \"290714\": \"Monophenols; xylenols and their salts\",\n  \"290715\": \"Monophenols; naphthols and their salts\",\n  \"290719\": \"Monophenols; n.e.c. in item no. 2907.1\",\n  \"290721\": \"Polyphenols; resorcinol and its salts\",\n  \"290722\": \"Polyphenols; hydroquinone (quinol) and its salts\",\n  \"290723\":\n    \"Polyphenols; 4,4'-isopropylidenediphenol (bisphenol A, diphenylolpropane) and its salts\",\n  \"290729\": \"Phenol-alcohols and polyphenols n.e.c. in item number 2907.2\",\n  \"290730\": \"Phenol-alcohols\",\n  \"290810\":\n    \"Phenol or phenol-alcohol derivatives; containing only halogen substituents and their salts\",\n  \"290811\":\n    \"Phenol or phenol-alcohol derivatives containing only halogen substituents and their salts; pentachlorophenol (ISO)\",\n  \"290819\":\n    \"Phenol or phenol-alcohol derivatives containing only halogen substituents and their salts; other than pentachlorophenol (ISO)\",\n  \"290820\":\n    \"Phenol or phenol-alcohol derivatives; containing only sulpho groups, their salts and esters\",\n  \"290890\":\n    \"Phenol or phenol-alcohol derivatives; containing only nitrated or nitrosated groups, their salts and esters\",\n  \"290891\":\n    \"Phenol or phenol-alcohol derivatives, sulphonated, nitrated or nitrosated derivatives thereof; dinoseb (ISO) and its salts\",\n  \"290892\":\n    \"Phenol or phenol-alcohol derivatives, sulphonated, nitrated or nitrosated derivatives thereof; 4,6-dinitro-o-cresol (DNOC (ISO)) and its salts\",\n  \"290899\":\n    \"Phenol or phenol-alcohol derivatives, sulphonated, nitrated or nitrosated derivatives thereof; other than dinoseb (ISO), and 4,6-dinitro-o-cresol (DNOC (ISO)), and their salts\",\n  \"290911\":\n    \"Ethers; acyclic, and their halogenated, sulphonated, nitrated or nitrosated derivatives, diethyl ether\",\n  \"290919\":\n    \"Ethers; acyclic, and their halogenated, sulphonated, nitrated or nitrosated derivatives, other than diethyl ether\",\n  \"290920\":\n    \"Ethers; cyclanic, cyclenic or cycloterpenic and their halogenated, sulphonated, nitrated or nitrosated derivatives\",\n  \"290930\":\n    \"Ethers; aromatic, and their halogenated, sulphonated, nitrated or nitrosated derivatives\",\n  \"290941\":\n    \"Ether-alcohols and their halogenated, sulphonated, nitrated or nitrosated derivatives; 2,2-oxydiethanol (diethylene glycol, digol)\",\n  \"290942\":\n    \"Ether-alcohols and their halogenated, sulphonated, nitrated or nitrosated derivatives; monomethyl ethers of ethylene glycol or of diethylene glycol\",\n  \"290943\":\n    \"Ether-alcohols and their halogenated, sulphonated, nitrated or nitrosated derivatives; monobutyl ethers of ethylene glycol or of diethylene glycol\",\n  \"290944\":\n    \"Ether-alcohols and their halogenated, sulphonated, nitrated or nitrosated derivatives; monoalkylethers of ethylene glycol or of diethylene glycol n.e.c. in heading no. 2909\",\n  \"290949\":\n    \"Ether-alcohols and their halogenated, sulphonated, nitrated or nitrosated derivatives; n.e.c. in item no. 2909.4\",\n  \"290950\":\n    \"Ether-phenols, ether-alcohol-phenols and their halogenated, sulphonated, nitrated or nitrosated derivatives\",\n  \"290960\":\n    \"Alcohol peroxides, ether peroxides, ketone peroxides and their halogenated, sulphonated, nitrated or nitrosated derivatives\",\n  \"291010\":\n    \"Epoxides, epoxyalcohols, epoxyphenols and epoxyethers; with a three-membered ring and their halogenated, sulphonated, nitrated or nitrosated derivatives; oxirane (ethylene oxide)\",\n  \"291020\":\n    \"Epoxides, epoxyalcohols, epoxyphenols and epoxyethers; with a three-membered ring and their halogenated, sulphonated, nitrated or nitrosated derivatives, methyloxirane (propylene oxide)\",\n  \"291030\":\n    \"Epoxides, epoxyalcohols, epoxyphenols and epoxyethers; with a three-membered ring and their halogenated, sulphonated, nitrated or nitrosated derivatives, 1-chloro-2,3-epoxypropane (epichlorohydrin)\",\n  \"291040\":\n    \"Epoxides, epoxyalcohols, epoxyphenols and epoxyethers; with a three-membered ring and their halogenated, sulphonated, nitrated or nitrosated derivatives, dieldrin (ISO, INN)\",\n  \"291050\":\n    \"Epoxides, epoxyalcohols, epoxyphenols and epoxyethers; with a three-membered ring and their halogenated, sulphonated, nitrated or nitrosated derivatives, endrin (ISO)\",\n  \"291090\":\n    \"Epoxides, epoxyalcohols, epoxyphenols and epoxyethers; with a three-membered ring and their halogenated, sulphonated, nitrated or nitrosated derivatives, n.e.c. in heading no. 2910\",\n  \"291100\":\n    \"Acetals and hemiacetals; whether or not with other oxygen function, and their halogenated, sulphonated, nitrated or nitrosated derivatives\",\n  \"291211\":\n    \"Aldehydes; acyclic, without other oxygen function, methanal (formaldehyde)\",\n  \"291212\":\n    \"Aldehydes; acyclic, without other oxygen function, ethanal (acetaldehyde)\",\n  \"291213\":\n    \"Aldehydes; acyclic, without other oxygen function, butanal (butyraldehyde, normal isomer)\",\n  \"291219\":\n    \"Aldehydes; acyclic, without other oxygen function, n.e.c. in item no. 2912.1\",\n  \"291221\": \"Aldehydes; cyclic, without other oxygen function, benzaldehyde\",\n  \"291229\":\n    \"Aldehydes; cyclic, without other oxygen function, other than benzaldehyde\",\n  \"291230\": \"Aldehyde-alcohols\",\n  \"291241\":\n    \"Aldehydes; aldehyde-ethers, aldehyde-phenols and aldehydes with other oxygen function, vanillin (4-hydroxy-3-methoxybenzaldehyde)\",\n  \"291242\":\n    \"Aldehydes; aldehyde-ethers, aldehyde-phenols and aldehydes with other oxygen function, ethylvanillin (3-ethoxy-4-hydroxybenzaldehyde)\",\n  \"291249\":\n    \"Aldehyde-alcohols, aldehyde-ethers, aldehyde-phenols and aldehydes with other oxygen function; other than vanillin (4-hydroxy-3-methoxybenzaldehyde) and ethylvanillin (3-ethoxy-4-hydroxybenzaldehyde)\",\n  \"291250\": \"Aldehydes; cyclic polymers of aldehydes\",\n  \"291260\": \"Paraformaldehyde\",\n  \"291300\":\n    \"Aldehydes; halogenated, sulphonated, nitrated or nitrosated derivatives of products of heading no. 2912\",\n  \"291411\": \"Ketones; acyclic, without other oxygen function, acetone\",\n  \"291412\":\n    \"Ketones; acyclic, without other oxygen function, butanone (methyl ethyl ketone)\",\n  \"291413\":\n    \"Ketones; acyclic, without other oxygen function, 4-methylpentan-2-one (methyl isobutyl ketone)\",\n  \"291419\":\n    \"Ketones; acyclic, without other oxygen function, n.e.c. in item no. 2914.1\",\n  \"291421\":\n    \"Ketones; cyclanic, cyclenic or cycloterpenic, without other oxygen function, camphor\",\n  \"291422\":\n    \"Ketones; cyclanic, cyclenic or cycloterpenic, without other oxygen function, cyclohexanone and methylcyclohexanones\",\n  \"291423\":\n    \"Ketones; cyclanic, cyclenic or cycloterpenic, without other oxygen function, ionones and methylionones\",\n  \"291429\":\n    \"Ketones; cyclanic, cyclenic or cycloterpenic, without other oxygen function, other than cyclohexanone, methylcyclohexanones, ionones, and methylionones\",\n  \"291430\": \"Ketones; aromatic, without other oxygen function\",\n  \"291431\":\n    \"Ketones; aromatic, (without other oxygen function), phenylacetone (phenylpropan-2-one)\",\n  \"291439\":\n    \"Ketones; aromatic, (without other oxygen function), excluding phenylacetone (phenylpropan-2-one)\",\n  \"291440\": \"Ketone-alcohols and ketone-aldehydes\",\n  \"291441\":\n    \"Ketone-alcohols and ketone-aldehydes; 4- hydroxy-4-methylpentan-2-one (diacetone alcohol)\",\n  \"291449\": \"Ketone-alcohols and ketone-aldehydes; n.e.s. in item no. 2914.41\",\n  \"291450\": \"Ketone-phenols and ketones with other oxygen function\",\n  \"291461\": \"Quinones; anthraquinone\",\n  \"291462\": \"Quinones; coenzyme Q10 (ubidecarenone (INN))\",\n  \"291469\":\n    \"Quinones; other than anthraquinone and coenzyme Q10 (ubidecarenone (INN))\",\n  \"291470\":\n    \"Ketones and quinones; halogenated, sulphonated, nitrated or nitrosated derivatives\",\n  \"291471\":\n    \"Ketones and quinones; halogenated, sulphonated, nitrated or nitrosated derivatives; chlordecone (ISO)\",\n  \"291479\":\n    \"Ketones and quinones; halogenated, sulphonated, nitrated or nitrosated derivatives, other than chlordecone (ISO)\",\n  \"291511\": \"Acids; saturated acyclic monocarboxylic acids; formic acid\",\n  \"291512\":\n    \"Acids; saturated acyclic monocarboxylic acids; salts of formic acids\",\n  \"291513\":\n    \"Acids; saturated acyclic monocarboxylic acids; esters of formic acid\",\n  \"291521\": \"Acids; saturated acyclic monocarboxylic acids; acetic acid\",\n  \"291522\": \"Acids; saturated acyclic monocarboxylic acids; sodium acetate\",\n  \"291523\": \"Acids; saturated acyclic monocarboxylic acids; cobalt acetates\",\n  \"291524\": \"Acids; saturated acyclic monocarboxylic acids; acetic anhydride\",\n  \"291529\":\n    \"Acids; saturated acyclic monocarboxylic acids; acetic acid and its salts n.e.c. in item no. 2915.2\",\n  \"291531\": \"Acids; saturated acyclic monocarboxylic acids; ethyl acetate\",\n  \"291532\": \"Acids; saturated acyclic monocarboxylic acids; vinyl acetate\",\n  \"291533\": \"Acids; saturated acyclic monocarboxylic acids; n-butyl acetate\",\n  \"291534\": \"Acids; saturated acyclic monocarboxylic acids; isobutyl acetate\",\n  \"291535\":\n    \"Acids; saturated acyclic monocarboxylic acids; 2-ethoxyethyl acetate\",\n  \"291536\":\n    \"Acids; saturated acyclic monocarboxylic acids; dinoseb (ISO) acetate\",\n  \"291539\":\n    \"Acids; saturated acyclic monocarboxylic acids; esters of acetic acid n.e.c. in item no. 2915.3\",\n  \"291540\":\n    \"Acids; saturated acyclic monocarboxylic acids; mono-, di- or trichloroacetic acids, their salts and esters\",\n  \"291550\":\n    \"Acids; saturated acyclic monocarboxylic acids; propionic acid, its salts and esters\",\n  \"291560\":\n    \"Acids; saturated acyclic monocarboxylic acids; butanoic acids, pentanoic acids, their salts and esters\",\n  \"291570\":\n    \"Acids; saturated acyclic monocarboxylic acids; palmitic acid, stearic acid, their salts and esters\",\n  \"291590\":\n    \"Acids; saturated acyclic monocarboxylic acids; anhydrides, halides, peroxides, peroxyacids and halogenated, sulphonated, nitrated or nitrosated derivatives, n.e.c. in heading no. 2915\",\n  \"291611\":\n    \"Acids; unsaturated acyclic monocarboxylic acids; acrylic acid and its salts\",\n  \"291612\":\n    \"Acids; unsaturated acyclic monocarboxylic acids; esters of acrylic acid\",\n  \"291613\":\n    \"Acids; unsaturated acyclic monocarboxylic acids; methacrylic acid and its salts\",\n  \"291614\":\n    \"Acids; unsaturated acyclic monocarboxylic acids; esters of methacrylic acid\",\n  \"291615\":\n    \"Acids; unsaturated acyclic monocarboxylic acids; oleic, linoleic or linolenic acids, their salts and esters\",\n  \"291616\":\n    \"Acids; unsaturated acyclic monocarboxylic, cyclic monocarboxylic, their anhydrides, halides, peroxides and peroxyacids; their halogenated, sulphonated, nitrated or nitrosated derivatives, binapacryl (ISO)\",\n  \"291619\":\n    \"Acids; unsaturated acyclic monocarboxylic, cyclic monocarboxylic, their anhydrides, halides, peroxides and peroxyacids; their halogenated, sulphonated, nitrated or nitrosated derivatives, n.e.c. in item no. 2916.1\",\n  \"291620\":\n    \"Acids; cyclanic, cyclenic or cycloterpenic monocarboxylic acids, their anhydrides, halides, peroxides, peroxyacids and their derivatives\",\n  \"291631\":\n    \"Acids; aromatic monocarboxylic acids, benzoic acid, its salts and esters\",\n  \"291632\":\n    \"Acids; aromatic monocarboxylic acids, benzoyl peroxide and benzoyl chloride\",\n  \"291633\":\n    \"Acids; aromatic monocarboxylic acids; phenylacetic acid, its salts and esters\",\n  \"291634\":\n    \"Acids; aromatic monocarboxylic acids, phenylacetic acid and its salts\",\n  \"291635\": \"Acids; aromatic monocarboxylic acids, esters of phenylacetic acid\",\n  \"291636\": \"Acids; aromatic monocarboxylic acids, binapacryl (ISO)\",\n  \"291639\":\n    \"Acids; aromatic monocarboxylic acids, and their anhydrides, halides, peroxides, peroxyacids and their derivatives, other than benzoic acid, its salts and esters, benzoyl peroxide and benzoyl chloride, phenylacetic acid and its salts\",\n  \"291711\":\n    \"Acids; acyclic polycarboxylic acids; oxalic acid, its salts and esters\",\n  \"291712\":\n    \"Acids; acyclic polycarboxylic acids; adipic acid, its salts and esters\",\n  \"291713\":\n    \"Acids; acyclic polycarboxylic acids; azelaic acid, sebacic acid, their salts and esters\",\n  \"291714\": \"Acids; acyclic polycarboxylic acids; maleic anhydride\",\n  \"291719\": \"Acids; acyclic polycarboxylic acids; n.e.c. in item no. 2917.1\",\n  \"291720\":\n    \"Acids; cyclanic, cyclenic or cycloterpenic polycarboxylic acids, their anhydrides, halides, peroxides, peroxyacids and derivatives\",\n  \"291731\": \"Acids; aromatic polycarboxylic acids; dibutyl orthophthalates\",\n  \"291732\": \"Acids; aromatic polycarboxylic acids; dioctyl orthophthalates\",\n  \"291733\":\n    \"Acids; aromatic polycarboxylic acids; dinonyl or didecyl orthophthalates\",\n  \"291734\":\n    \"Acids; aromatic polycarboxylic acids; other esters of orthophthalic acids\",\n  \"291735\": \"Acids; aromatic polycarboxylic acids; phthalic anhydride\",\n  \"291736\":\n    \"Acids; aromatic polycarboxylic acids; terephthalic acid and its salts\",\n  \"291737\": \"Acids; aromatic polycarboxylic acids; dimethyl terephthalate\",\n  \"291739\": \"Acids; aromatic polycarboxylic acids; n.e.c. in item no. 2917.3\",\n  \"291811\":\n    \"Acids; carboxylic acids, (with alcohol function but without other oxygen function), lactic acid, its salts and esters\",\n  \"291812\":\n    \"Acids; carboxylic acids, (with alcohol function but without other oxygen function), tartaric acid\",\n  \"291813\":\n    \"Acids; carboxylic acids, (with alcohol function but without other oxygen function); salts and esters of tartaric acid\",\n  \"291814\":\n    \"Acids; carboxylic acids, (with alcohol function but without other oxygen function), citric acid\",\n  \"291815\":\n    \"Acids; carboxylic acids, (with alcohol function but without other oxygen function), salts and esters of citric acid\",\n  \"291816\":\n    \"Acids; carboxylic acids, (with alcohol function but without other oxygen function), gluconic acid, its salts and esters\",\n  \"291817\":\n    \"Acids; carboxylic acids, (with alcohol function but without other oxygen function), 2,2-Diphenyl-2-hydroxyacetic acid (benzilic acid)\",\n  \"291818\":\n    \"Acids; carboxylic acids, (with alcohol function but without other oxygen function), chlorobenzilate (ISO)\",\n  \"291819\":\n    \"Acids; carboxylic acids, (with alcohol function but without other oxygen function), other than lactic, tartaric, citric, and gluconic acids and their salts and esters\",\n  \"291821\":\n    \"Acids; carboxylic acids, (with phenol function but without other oxygen function), salicylic acid and its salts\",\n  \"291822\":\n    \"Acids; carboxylic acids, (with phenol function but without other oxygen function), o-acetylsalicylic acid, its salts and esters\",\n  \"291823\":\n    \"Acids; carboxylic acids, (with phenol function but without other oxygen function), other esters of salicylic acid and its salts n.e.c. in item no. 2918.2\",\n  \"291829\":\n    \"Acids; carboxylic acids, (with phenol function but without other oxygen function), their anhydrides, halides, peroxides, peroxyacids and their derivatives, n.e.c. in item no. 2918.2\",\n  \"291830\":\n    \"Acids; carboxylic acids, (with aldehyde or ketone function but without other oxygen function), their anhydrides, halides, peroxides, peroxyacids and their derivatives\",\n  \"291890\":\n    \"Acids; carboxylic acids, with additional oxygen function and their anhydrides, halides, peroxides and peroxyacids, n.e.s. in heading no. 2918\",\n  \"291891\":\n    \"Acids; carboxylic acids, with additional oxygen function (not alcohol, phenol, aldehyde or ketone) and their anhydrides, halides, peroxides and peroxyacids; 2,4,5-T (ISO) (2,4,5-trichlorophenoxyacetic acid), its salts and esters\",\n  \"291899\":\n    \"Acids; carboxylic acids, with additional oxygen function (not alcohol, phenol, aldehyde or ketone) and their anhydrides, halides, peroxides and peroxyacids; their halogenated, sulphonated, nitrated or nitrosated derivatives; other than 2,4,5-T (ISO)\",\n  \"291900\":\n    \"Esters; phosphoric, and their salts, including lactophosphates, their halogenated, sulphonated, nitrated or nitrosated derivatives\",\n  \"291910\":\n    \"Esters; phosphoric, and their salts, including lactophosphates, their halogenated, sulphonated, nitrated or nitrosated derivatives; tris(2,3-dibromopropyl) phosphate\",\n  \"291990\":\n    \"Esters; phosphoric, and their salts, including lactophosphates, their halogenated, sulphonated, nitrated or nitrosated derivatives; other than tris(2,3-dibromopropyl) phosphate\",\n  \"292010\":\n    \"Esters; thiophosphoric (phosphorothioates) and their salts; their halogenated, sulphonated, nitrated or nitrosated derivatives\",\n  \"292011\":\n    \"Esters; thiophosphoric esters (phosphorothioates) and their salts, their halogenated, sulphonated, nitrated or nitrosated derivatives, parathion (ISO) and parathion-methyl (ISO) (methyl-parathion)\",\n  \"292019\":\n    \"Esters; thiophosphoric esters (phosphorothioates) and their salts; other than parathion (ISO) and parathion-methyl (ISO) (methyl-parathion)\",\n  \"292021\":\n    \"Esters; phosphite esters and their salts; their halogenated, sulphonated, nitrated or nitrosated derivatives, dimethyl phosphite\",\n  \"292022\":\n    \"Esters; phosphite esters and their salts; their halogenated, sulphonated, nitrated or nitrosated derivatives, diethyl phosphite\",\n  \"292023\":\n    \"Esters; phosphite esters and their salts; their halogenated, sulphonated, nitrated or nitrosated derivatives, trimethyl phosphite\",\n  \"292024\":\n    \"Esters; phosphite esters and their salts; their halogenated, sulphonated, nitrated or nitrosated derivatives, triethyl phosphite\",\n  \"292029\":\n    \"Esters; phosphite esters and their salts; their halogenated, sulphonated, nitrated or nitrosated derivatives, n.e.c. in heading no. 2920\",\n  \"292030\":\n    \"Esters; of other inorganic acids of non-metals (excluding esters of hydrogen halides) and their salts; their halogenated, sulphonated, nitrated or nitrosated derivatives, endosulfan (ISO)\",\n  \"292090\":\n    \"Esters; other than thiophosphoric esters (phosphorothioates) and phosphite esters and their salts, their halogenated, sulphonated, nitrated or nitrosated derivatives, n.e.c. in heading no. 2920\",\n  \"292111\":\n    \"Amine-function compounds; acyclic monoamines and their derivatives, methylamine, di- or trimethylamine and their salts\",\n  \"292112\":\n    \"Amine-function compounds; acyclic monoamines and their derivatives, and salts thereof, 2-(N,N-Dimethylamino)ethylchloride hydrochloride\",\n  \"292113\":\n    \"Amine-function compounds; acyclic monoamines and their derivatives, and salts thereof, 2-(N,N-Diethylamino)ethylchloride hydrochloride\",\n  \"292114\":\n    \"Amine-function compounds; acyclic monoamines and their derivatives, and salts thereof, 2-(N,N-Diisopropylamino)ethylchloride hydrochloride\",\n  \"292119\":\n    \"Amine-function compounds; acyclic monoamines and their derivatives, and salts thereof, n.e.c. in item no. 2921.1\",\n  \"292121\":\n    \"Amine-function compounds; acyclic polyamines and their derivatives, ethylenediamine and its salts\",\n  \"292122\":\n    \"Amine-function compounds; acyclic polyamines and their derivatives, hexamethylenediamine and its salts\",\n  \"292129\":\n    \"Amine-function compounds; acyclic polyamines and their derivatives, and salts thereof, n.e.c. in item no. 2921.2\",\n  \"292130\":\n    \"Amine-function compounds; cyclanic, cyclenic or cycloterpenic mono- or polyamines and their derivatives; salts thereof\",\n  \"292141\":\n    \"Amine-function compounds; aromatic monoamines and their derivatives, aniline and its salts\",\n  \"292142\":\n    \"Amine-function-compounds; aromatic monoamines and their derivatives, aniline derivatives and their salts\",\n  \"292143\":\n    \"Amine-function compounds; aromatic monoamines and their derivatives, toluidines and their derivatives; salts thereof\",\n  \"292144\":\n    \"Amine-function compounds; aromatic monoamines and their derivatives, diphenylamine and its derivatives; salts thereof\",\n  \"292145\":\n    \"Amine-function compounds; aromatic monoamines and their derivatives; 1-naphthylamine (alpha-naphthylamine), 2-naphthylamine (beta-naphthaylamine) and their derivatives; salts thereof\",\n  \"292146\":\n    \"Amine-function compounds; aromatic monoamines and derivatives; amphetamine (INN), benzphetamine (INN), dexamphetamine (INN), etilamphetamine (INN), fencamfamin (INN), lefetamine (INN), levamphetamine (INN), mefenorex (INN), phentermine (INN); salts of\",\n  \"292149\":\n    \"Amine-function compounds; aromatic monoamines and their derivatives; salts thereof; n.e.c. in item no. 2921.4\",\n  \"292151\":\n    \"Amine-function compounds; aromatic amines and their derivatives; o-, m-, p-phenylenediamine, diaminotoluenes and their derivatives; salts thereof\",\n  \"292159\":\n    \"Amine-function compounds; aromatic polyamines and their derivatives, other than item no. 2921.51\",\n  \"292211\":\n    \"Amino-alcohols, other than those containing more than one kind of oxygen function; their ethers and esters; salts thereof, monoethanolamine and its salts\",\n  \"292212\":\n    \"Amino-alcohols, other than those containing more than one kind of oxygen function; their ethers and esters; salts thereof, diethanolamine and its salts\",\n  \"292213\":\n    \"Amino-alcohols, other than those containing more than one kind of oxygen function; their ethers and esters; salts thereof, triethanolamine and its salts\",\n  \"292214\":\n    \"Amino-alcohols, other than those containing more than one kind of oxygen function; their ethers and esters; salts thereof; dextropropoxyphene (INN) and its salts\",\n  \"292215\":\n    \"Amino-alcohols, other than those containing more than one kind of oxygen function; their ethers and esters; salts thereof, triethanolamine\",\n  \"292216\":\n    \"Amino-alcohols, other than those containing more than one kind of oxygen function; their ethers and esters; salts thereof, Diethanolammonium perfluorooctane sulphonate\",\n  \"292217\":\n    \"Amino-alcohols, other than those containing more than one kind of oxygen function; their ethers and esters; salts thereof, Methyldiethanolamine and ethyldiethanolamine\",\n  \"292218\":\n    \"Amino-alcohols, other than those containing more than one kind of oxygen function; their ethers and esters; salts thereof, 2-(N,N- Diisopropylamino)ethanol\",\n  \"292219\":\n    \"Amino-alcohols, other than those containing more than one kind of oxygen function, their ethers and esters; salts thereof, n.e.c. in item no. 2922.1\",\n  \"292221\":\n    \"Amino-naphthols and other amino-phenols, other than those containing more than one kind of oxygen function; their ethers and esters; salts thereof, aminohydroxynaphthalenesulphonic acids and their salts\",\n  \"292222\":\n    \"Amino-naphthols and other amino-phenols, other than those containing more than one kind of oxygen function; their ethers and esters; salts thereof, anisidines, dianisidines, phenetidines and their salts\",\n  \"292229\":\n    \"Amino-naphthols and other amino-phenols, other than those containing more than one kind of oxygen function, their ethers and esters; salts thereof n.e.c. in item no. 2922.2\",\n  \"292230\":\n    \"Amino-aldehydes, amino-ketones and amino-quinones; other than those containing more than one kind of oxygen function; salts thereof\",\n  \"292231\":\n    \"Amino-aldehydes, amino-ketones and amino-quinones; other than those containing more than one kind of oxygen function; salts thereof\",\n  \"292239\":\n    \"Amino-aldehydes, amino-ketones and amino-quinones; other than those containing more than one kind of oxygen function; salts thereof, excluding amfepramone (INN), methadone (INN), and normethadone (INN) and salts thereof\",\n  \"292241\":\n    \"Amino-acids, other than those containing more than one kind of oxygen function, and their esters; lysine and its esters; salts thereof\",\n  \"292242\":\n    \"Amino-acids, other than those containing more than one kind of oxygen function, and their esters; glutamic acid and its esters; salts thereof\",\n  \"292243\":\n    \"Amino-acids, other than those containing more than one kind of oxygen function, and their esters; anthranilic acid and its esters; salts thereof\",\n  \"292244\":\n    \"Amino-acids, other than those containing more than one kind of oxygen function, and their esters; tilidine (INN) and its esters; salts thereof\",\n  \"292249\":\n    \"Amino-acids, other than those containing more than one kind of oxygen function, their esters; salts thereof, excluding lysine, glutamic acid, anthranalic acid and tilidine, their esters and salts thereof\",\n  \"292250\":\n    \"Amino-alcohol-phenols, amino-acid-phenols and other amino-compounds with oxygen function\",\n  \"292310\":\n    \"Quaternary ammonium salts and hydroxides; choline and its salts, whether or not chemically defined\",\n  \"292320\":\n    \"Lecithins and other phosphoaminolipids, whether or not chemically defined\",\n  \"292330\":\n    \"Quaternary ammonium salts and hydroxides; tetraethylammonium perfluorooctane sulphonate, whether or not chemically defined\",\n  \"292340\":\n    \"Quaternary ammonium salts and hydroxides; didecyldimethylammonium perfluorooctane sulphonate, whether or not chemically defined\",\n  \"292390\":\n    \"Quaternary ammonium salts and hydroxides; whether or not chemically defined n.e.c. in heading no. 2923\",\n  \"292410\":\n    \"Acyclic amides (including acyclic carbamates) and their derivatives; salts thereof\",\n  \"292411\":\n    \"Acyclic amides (including acyclic carbamates) and their derivatives; salts thereof; meprobamate (INN)\",\n  \"292412\":\n    \"Acyclic amides (including acyclic carbamates) and their derivatives; salts thereof; fluoroacetamide (ISO), monocrotophos (ISO) and phosphamidon (ISO)\",\n  \"292419\":\n    \"Acyclic amides (including acyclic carbamates) and their derivatives; salts thereof, other than meprobamate (INN), fluoroacetamide (ISO), monocrotophos (ISO) or phosphamidon (ISO)\",\n  \"292421\":\n    \"Cyclic amides (including cyclic carbamates) and their derivatives, ureines and their derivatives; salts thereof\",\n  \"292422\":\n    \"Cyclic amides (including cyclic carbamates) and their derivatives; 2-acetamidobenzoic acid\",\n  \"292423\":\n    \"Cyclic amides (including cyclic carbamates) and their derivatives; 2-acetamidobenzoic acid (N-acetylanthranillic acid) and its salts\",\n  \"292424\":\n    \"Cyclic amides (including cyclic carbamates) and their derivatives; ethinamate and its salts\",\n  \"292425\":\n    \"Cyclic amides (including cyclic carbamates) and their derivatives; alachlor (ISO) and its salts\",\n  \"292429\":\n    \"Cyclic amides (including cyclic carbamates) and their derivatives; other than the derivatives and salts of ureines, 2-acetamidobenzoic acid (N-acetylanthancillic acid),ethinamate S, and alachlor (ISO) and their derivatives and salts\",\n  \"292511\": \"Imides and their derivatives; saccharin and its salts\",\n  \"292512\": \"Imides and their derivatives; glutethimide (INN)\",\n  \"292519\":\n    \"Imides and their derivatives; other than saccharin and glutethimide (INN)\",\n  \"292520\": \"Imines and their derivatives; salts thereof\",\n  \"292521\": \"Imines and their derivatives; salts thereof; chlordimeform (ISO)\",\n  \"292529\":\n    \"Imines and their derivatives; salts thereof; other than chlordimeform (ISO)\",\n  \"292610\": \"Nitrile-function compounds; acrylonitrile\",\n  \"292620\": \"Nitrile-function compounds; 1-cyanoguanidine (dicyandiamide)\",\n  \"292630\":\n    \"Nitrile-function compounds; fenproporex (INN) and its salts; methadone (INN) intermediate (4-cyano-2-dimethylamino-4,4-diphenylbutane)\",\n  \"292640\": \"Nitrile-function compounds; alpha-phenylacetoacetonitrile\",\n  \"292690\": \"Nitrile-function compounds; n.e.c. heading no. 2926\",\n  \"292700\": \"Diazo-, azo- or azoxy compounds\",\n  \"292800\": \"Organic derivatives of hydrazine or of hydroxylamine\",\n  \"292910\": \"Nitrogen-function compounds; n.e.c. in chapter 29, isocyanates\",\n  \"292990\":\n    \"Nitrogen-function compounds; n.e.c. in chapter 29, excluding isocyanates\",\n  \"293010\": \"Organo-sulphur compounds; dithiocarbonates (xanthates)\",\n  \"293020\": \"Organo-sulphur compounds; thiocarbamates and dithiocarbamates\",\n  \"293030\": \"Organo-sulphur compounds; thiuram mono-, di- or tetrasulphides\",\n  \"293040\": \"Organo-sulphur compounds; methionine\",\n  \"293050\": \"Organo-sulphur compounds; captafol (ISO) and methamidophos (ISO)\",\n  \"293060\": \"Organo-sulphur compounds; 2-(N,N-Diethylamino)ethanethiol\",\n  \"293070\":\n    \"Organo-sulphur compounds; bis(2-hydroxyethyl)sulfide (thiodiglycol (INN))\",\n  \"293080\":\n    \"Organo-sulphur compounds; aldicarb (ISO), captafol (ISO) and methamidophos (ISO)\",\n  \"293090\": \"Organo-sulphur compounds; n.e.c. in heading no. 2930\",\n  \"293100\": \"Organo-inorganic compounds; n.e.c. in heading no. 2930\",\n  \"293110\": \"Organo-inorganic compounds; tetramethyl lead and tetraethyl lead\",\n  \"293120\": \"Organo-inorganic compounds; tributyltin compounds\",\n  \"293131\":\n    \"Organo-inorganic compounds; organo-phosphorus derivatives, dimethyl methylphosphonate\",\n  \"293132\":\n    \"Organo-inorganic compounds; organo-phosphorus derivatives, dimethyl propylphosphonate\",\n  \"293133\":\n    \"Organo-inorganic compounds; organo-phosphorus derivatives, diethyl ethylphosphonate\",\n  \"293134\":\n    \"Organo-inorganic compounds; organo-phosphorus derivatives, sodium-3-(hydroxysilyl)propyl methylphosphonate\",\n  \"293135\":\n    \"Organo-inorganic compounds; organo-phosphorus derivatives, 2,4,6-tripropyl-1,3,5,2,4,6-trioxatriphosphinane 2,4,6-trioxide\",\n  \"293136\":\n    \"Organo-inorganic compounds; organo-phosphorus derivatives, (5-ethyl-2-methyl-2-oxido-1,3,2-dioxaphosphinan-5-yl)methyl methyl methylphosphonate\",\n  \"293137\":\n    \"Organo-inorganic compounds; organo-phosphorus derivatives, bis[(5-Ethyl-2-methyl-2-oxido-1,3,2-dioxaphosphinan-5-yl)methyl methyl methylphosphonate]\",\n  \"293138\":\n    \"Organo-inorganic compounds; organo-phosphorus derivatives, salt of methylphosphonic acid and (aminoiminomethyl)urea (1 : 1)\",\n  \"293139\":\n    \"Organo-inorganic compounds; other organo-phosphorus derivatives, n.e.c. in heading no. 2931\",\n  \"293141\":\n    \"Non-halogenated organo-phosphorous derivatives; dimethyl methylphosphonate\",\n  \"293142\":\n    \"Non-halogenated organo-phosphorous derivatives; dimethyl propylphosphonate\",\n  \"293143\":\n    \"Non-halogenated organo-phosphorous derivatives; diethyl ethylphosphonate\",\n  \"293144\":\n    \"Non-halogenated organo-phosphorous derivatives; methylphosphonic acid\",\n  \"293145\":\n    \"Non-halogenated organo-phosphorous derivatives; salt of methylphosphonic acid and (aminominomethyl) urea (1:1)\",\n  \"293146\":\n    \"Non-halogenated organo-phosphorous derivatives; 2,4,6-tripropyl-1,3,5,2,4,6-trioxatriphosphinane 2,4,6-trioxide\",\n  \"293147\": \"Halogenated organo\",\n  \"293148\":\n    \"Non-halogenated organo-phosphorous derivatives; 3,9-dimethyl-2,4,8,10-tetraoxa-3,9-diphosphaspiro[5.5] undecane 3,9-dioxide\",\n  \"293149\":\n    \"Non-halogenated organo-phosphorous derivatives; other non-halogenated organo-phosphorous derivatives, n.e.c. in item no. 2931.4\",\n  \"293151\":\n    \"Halogenated organo-phosphorous derivatives; methylphosphonic dichloride\",\n  \"293152\":\n    \"Halogenated organo-phosphorous derivatives; propylphosphonic dichloride\",\n  \"293153\":\n    \"Halogenated organo-phosphorous derivatives; O-(3-chloropropyl) O-[4-nitro-3-(trifluoromethyl)phenyl] methylphosphonothionate\",\n  \"293154\": \"Halogenated organo-phosphorous derivatives; trichlorfon (ISO)\",\n  \"293159\":\n    \"Halogenated organo-phosphorous derivatives; other halogenated organo-phosphorous derivatives, n.e.c. in item no. 2931.5\",\n  \"293190\":\n    \"Organo-inorganic compounds; other than tetramethyl lead, tetraethyl lead, tributyltin compounds, and other organo-phosphorus derivatives\",\n  \"293211\":\n    \"Heterocyclic compounds; with oxygen hetero-atom(s) only, containing an unfused furan ring (whether or not hydrogenated) in the structure, tetrahydrofuran\",\n  \"293212\":\n    \"Heterocyclic compounds; with oxygen hetero-atom(s) only, containing an unfused furan ring (whether or not hydrogenated) in the structure, 2-furaldehyde (furfuraldehyde)\",\n  \"293213\":\n    \"Heterocyclic compounds; with oxygen hetero-atom(s) only, containing an unfused furan ring (whether or not hydrogenated) in the structure, furfuryl alcohol and tetrahydrofurfuryl alcohol\",\n  \"293214\":\n    \"Heterocyclic compounds; with oxygen hetero-atom(s) only, containing an unfused furan ring (whether or not hydrogenated) in the structure, sucralose\",\n  \"293219\":\n    \"Heterocyclic compounds; with oxygen hetero-atom(s) only, containing an unfused furan ring (whether or not hydrogenated) in the structure, n.e.c. in item no. 2932.1\",\n  \"293220\":\n    \"Heterocyclic compounds; with oxygen hetero-atom(s) only, containing an unfused furan ring (whether or not hydrogenated) in the structure, lactones\",\n  \"293221\":\n    \"Heterocyclic compounds; lactones, coumarin, methylcoumarins and ethylcoumarins\",\n  \"293229\":\n    \"Heterocyclic compounds with oxygen hetero-atom(s) only; lactones, other than coumarin, methylcoumarins and ethylcoumarins\",\n  \"293290\": \"Heterocyclic compounds; n.e.s. in heading no. 2932\",\n  \"293291\":\n    \"Heterocyclic compounds; with oxygen hetero-atom(s) only, (other than lactones or compounds containing an unfused furan ring (whether or not hydrogenated) in the structure), isosafrole\",\n  \"293292\":\n    \"Heterocyclic compounds; with oxygen hetero-atom(s) only, (other than lactones or compounds containing an unfused furan ring (whether or not hydrogenated) in the structure), 1-(1,3-benzodiaxol-5-yl) propan-2-one\",\n  \"293293\":\n    \"Heterocyclic compounds; with oxygen hetero-atom(s) only, (other than lactones or compounds containing an unfused furan ring (whether or not hydrogenated) in the structure), piperonal\",\n  \"293294\":\n    \"Heterocyclic compounds; with oxygen hetero-atom(s) only, (other than lactones or compounds containing an unfused furan ring (whether or not hydrogenated) in the structure), safrole\",\n  \"293295\":\n    \"Heterocyclic compounds; with oxygen hetero-atom(s) only, (other than lactones or compounds containing an unfused furan ring (whether or not hydrogenated) in the structure), tetrahydrocannabinols (all isomers)\",\n  \"293296\":\n    \"Heterocyclic compounds; with oxygen hetero-atom(s) only, (other than lactones or compounds containing an unfused furan ring (whether or not hydrogenated) in the structure), carbofuran (ISO)\",\n  \"293299\":\n    \"Heterocyclic compounds; with oxygen hetero-atom(s) only, no lactones or unfused furan rings (hydrogenated or not) in the structure, other than isosafrole, 1-(1,3-benzodiaxol-5-yl) propan-2-one, piperonal, safrole, tetrahydrocannabinols (all isomers)\",\n  \"293311\":\n    \"Heterocyclic compounds; with nitrogen hetero-atom(s) only, containing an unfused pyrazole ring (whether or not hydrogenated) in the structure, phenazone (antipyrin) and its derivatives\",\n  \"293319\":\n    \"Heterocyclic compounds; with nitrogen hetero-atom(s) only, containing an unfused pyrazole ring (whether or not hydrogenated) in the structure, other than henazone (antipyrin) and its derivatives\",\n  \"293321\":\n    \"Heterocyclic compounds; with nitrogen hetero-atom(s) only, containing an unfused imidazole ring (whether or not hydrogenated) in the structure, hydantoin and its derivatives\",\n  \"293329\":\n    \"Heterocyclic compounds; with nitrogen hetero-atom(s) only, containing an unfused imidazole ring (whether or not hydrogenated) in the structure, other than hydantoin and its derivatives\",\n  \"293331\":\n    \"Heterocyclic compounds; containing an unfused pyridine ring (whether or not hydrogenated) in the structure, pyridine and its salts\",\n  \"293332\":\n    \"Heterocyclic compounds; containing an unfused pyridine ring (whether or not hydrogenated) in the structure, piperidine and its salts\",\n  \"293333\":\n    \"Heterocyclic compounds; containing an unfused pyridine ring (whether or not hydrogenated) in the structure, other than pyridine and its salts, other than piperidine and its salts\",\n  \"293334\":\n    \"Heterocyclic compounds; containing an unfused pyridine ring (whether or not hydrogenated) in the structure, other fentanyls and their derivatives\",\n  \"293335\":\n    \"Heterocyclic compounds; containing an unfused pyridine ring (whether or not hydrogenated) in the structure, 3-quinuclidinol\",\n  \"293336\":\n    \"Heterocyclic compounds; containing an unfused pyridine ring (whether or not hydrogenated) in the structure, 4-anilino-N-phenethylpiperidine (ANPP)\",\n  \"293337\":\n    \"Heterocyclic compounds; containing an unfused pyridine ring (whether or not hydrogenated) in the structure, N-phenethyl-4-piperdone (NPP)\",\n  \"293339\":\n    \"Heterocyclic compounds; containing an unfused pyridine ring (whether or not hydrogenated) in the structure, n.e.c. in 2933.3\",\n  \"293340\":\n    \"Heterocyclic compounds; containing a quinoline or isoquinoline ring-system (whether or not hydrogenated) in the structure, not further fused\",\n  \"293341\":\n    \"Heterocyclic compounds; containing a quinoline or isoquinoline ring-system (whether or not hydrogenated) in the structure, not further fused, levorphanol (INN) and its salts\",\n  \"293349\":\n    \"Heterocyclic compounds; containing a quinoline or isoquinoline ring-system (whether or not hydrogenated) in the structure, not further fused, other than levorphanol (INN) and its salts\",\n  \"293351\":\n    \"Heterocyclic compounds; containing a pyrimidine ring (whether or not hydrogenated) or piperazine ring in the structure, malonylurea (barbituric acid) and its derivatives; salts thereof\",\n  \"293352\":\n    \"Heterocyclic compounds; containing a pyrimidine ring (whether or not hydrogenated) or piperazine ring in the structure, malonylurea (barbituric acid) and its salts\",\n  \"293353\":\n    \"Allobarbital (INN), amobarbital (INN), barbital (INN), butalbital (INN), butobarbital, cyclobarbital (INN), methylphenobarbital (INN), pentobarbital (INN), phenobarbital (INN), secbutabarbital (INN), secobarbital (INN) and vinylbital (INN); salts thereof\",\n  \"293354\":\n    \"Heterocyclic compounds; containing a pyrimidine ring (whether or not hydrogenated) or piperazine ring in the structure, other derivatives of malonylurea (barbituric acid) and salts thereof, n.e.c. in 2933.53\",\n  \"293355\":\n    \"Heterocyclic compounds; containing a pyrimidine ring (whether or not hydrogenated) or piperazine ring in the structure; loprazolam (INN), mecloqualone (INN), methaqualone (INN), and zipeprol (INN); salts thereof\",\n  \"293359\":\n    \"Heterocyclic compounds; containing a pyrimidine ring (whether or not hydrogenated) or piperazine ring in the structure, (other than malonylurea and its derivatives, loprazolam, mecloqualone, methaqualone, zipeprol, and salts thereof) n.e.c. in 2933.5\",\n  \"293361\":\n    \"Heterocyclic compounds; containing an unfused triazine ring (whether or not hydrogenated) in the structure, melamine\",\n  \"293369\":\n    \"Heterocyclic compounds; containing an unfused triazine ring (whether or not hydrogenated) in the structure, others excluding melamine\",\n  \"293371\":\n    \"Heterocyclic compounds; lactams; 6-hexanelactam (epsilon-caprolactam)\",\n  \"293372\":\n    \"Heterocyclic compounds; lactams; clobazam (INN) and methyprylon (INN)\",\n  \"293379\": \"Lactams; excl. 6-hexanelactam, clobazam, and methyprylon\",\n  \"293390\": \"Heterocyclic compounds; n.e.s. in heading no. 2933\",\n  \"293391\":\n    \"Heterocyclic compounds; alprazolam (INN), camazepam (INN), chlordiazepoxide (INN), clonazepam (INN), clorazepate, delorazepam (INN), diazepam (INN), estazolam (INN), ethyl loflazepate (INN), fludiazepam (INN), flunitrazepam (INN), (cont)\",\n  \"293392\": \"Heterocyclic compounds; azinphos-methyl (ISO)\",\n  \"293399\": \"Other hetercyclic compounds (exclusionary category)\",\n  \"293410\":\n    \"Heterocyclic compounds; containing an unfused thiazole ring (whether or not hydrogenated) in the structure\",\n  \"293420\":\n    \"Heterocyclic compounds; containing in the structure, a benzothiazole ring-system (whether or not hydrogenated), not further fused\",\n  \"293430\":\n    \"Heterocyclic compounds; containing in the structure, a phenothiazine ring-system (whether or not hydrogenated), not further fused\",\n  \"293490\":\n    \"Nucleic acids and their salts, other heterocyclic compounds, n.e.s. in heading no. 2934\",\n  \"293491\": \"Other heterocyclic compounds, n.e.c. in 2934.1, 2934.2 and 2934.3\",\n  \"293492\":\n    \"Heterocyclic compounds; other fentanyls n.e.c. in 2934, and their derivatives\",\n  \"293499\":\n    \"Other nucleic acids and their salts; other heterocyclic compounds (exclusionary category)\",\n  \"293500\": \"Sulphonamides\",\n  \"293510\": \"Sulphonamides; N-methylperfluorooctane sulphonamide\",\n  \"293520\": \"Sulphonamides; N-ethylperfluorooctane sulphonamide\",\n  \"293530\":\n    \"Sulphonamides; N-ethyl-N-(2-hydroxyethyl) perfluorooctane sulphonamide\",\n  \"293540\":\n    \"Sulphonamides; N-(2-hydroxyethyl)-N-methylperfluorooctane sulphonamide\",\n  \"293550\": \"Sulphonamides; other perfluorooctane sulphonamides\",\n  \"293590\": \"Sulphonamides; n.e.c. in heading no. 2935\",\n  \"293610\": \"Provitamins; unmixed\",\n  \"293621\": \"Vitamins; vitamins A and their derivatives, unmixed\",\n  \"293622\": \"Vitamins; vitamin B1 and its derivatives, unmixed\",\n  \"293623\": \"Vitamins; vitamin B2 and its derivatives, unmixed\",\n  \"293624\":\n    \"Vitamins; D- or DL-pantothenic acid (vitamin B3 or vitamin B5) and its derivatives, unmixed\",\n  \"293625\": \"Vitamins; vitamin B6 and its derivatives, unmixed\",\n  \"293626\": \"Vitamins; vitamin B12 and its derivatives, unmixed\",\n  \"293627\": \"Vitamins; vitamin C and its derivatives, unmixed\",\n  \"293628\": \"Vitamins; vitamin E and its derivatives, unmixed\",\n  \"293629\":\n    \"Vitamins; n.e.c. in item no. 2936.2, and their derivatives, unmixed\",\n  \"293690\":\n    \"Vitamins; n.e.c. in heading no. 2936, including natural concentrates\",\n  \"293710\":\n    \"Hormones; pituitary (anterior) or similar hormones and their derivatives\",\n  \"293711\":\n    \"Polypeptide hormones, protein hormones and glycoprotein hormones, their derivatives and structural analogues; somatotropin, its derivatives and structural analogues\",\n  \"293712\":\n    \"Polypeptide hormones, protein hormones and glycoprotein hormones, their derivatives and structural analogues; insulin and its salts\",\n  \"293719\":\n    \"Polypeptide hormones; protein hormones and glycoprotein hormones; excl. insulin\",\n  \"293721\":\n    \"Steroidal hormones, their derivatives and structural analogues; cortisone, hydrocortisone, prednisone (dehydrocortisone) and prednisolone (dehydrohydrocortisone)\",\n  \"293722\":\n    \"Steroidal hormones, their derivatives and structural analogues; halogenated derivatives of corticosteroidal hormones\",\n  \"293723\":\n    \"Steroidal hormones, their derivatives and structural analogues; oestrogens and progestogens\",\n  \"293729\":\n    \"Steroidal hormones, their derivatives and structural analogues; other than cortisone, hydrocortisone, prednisone (dehydrocortisone), prednisolone (dehydrohydrocortisone), halogenated derivatives of corticosteroidal hormones, oestrogen and progestogens\",\n  \"293731\":\n    \"Hormones; catecholamine hormones, their derivatives and structural analogues, epinephrine\",\n  \"293739\":\n    \"Hormones; catecholamine hormones, their derivatives and structural analogues, other than epinephrine\",\n  \"293740\": \"Hormones; amino-acid derivatives\",\n  \"293750\":\n    \"Prostaglandins, thromboxanes and leukotrienes, their derivatives and structural analogues\",\n  \"293790\":\n    \"Hormones, prostaglandins, thromboxanes and leukotrienes, natural or reproduced by synthesis; derivatives and structural analogues thereof, including chain modified polypeptides, used primarily as hormones, n.e.c. in heading 2937\",\n  \"293791\":\n    \"Hormones and steroids used primarily as hormones; insulin and its salts\",\n  \"293792\":\n    \"Hormones and steroids used primarily as hormones; oestrogens and progestogens\",\n  \"293799\":\n    \"Hormones and steroids used primarily as hormones; (other than insulin and its salts, oestrogens and progestogens)\",\n  \"293810\": \"Glycosides; rutoside (rutin) and its derivatives\",\n  \"293890\":\n    \"Glycosides; natural or reproduced by synthesis, other than rutoside (rutin) and its derivatives\",\n  \"293910\":\n    \"Alkaloids, vegetable; of opium and their derivatives; salts thereof\",\n  \"293911\": \"Alkaloids; of opium and their derivatives; salts thereof\",\n  \"293919\":\n    \"Alkaloids; of opium and their derivatives; other than in 2939.11, salts thereof\",\n  \"293920\": \"Alkaloids; of cinchona and their derivatives; salts thereof\",\n  \"293921\":\n    \"Alkaloids, vegetable; of cinchona and their derivatives, quinine and its salts\",\n  \"293929\":\n    \"Alkaloids, vegetable; of cinchona and their derivatives; salts thereof, other than quinine and its salts\",\n  \"293930\": \"Alkaloids; caffeine and its salts\",\n  \"293940\": \"Alkaloids, vegetable; ephedrines and their salts\",\n  \"293941\": \"Alkaloids; ephedrine and its salts\",\n  \"293942\": \"Alkaloids; pseudoephedrine (INN) and its salts\",\n  \"293943\": \"Alkaloids; cathine (INN) and its salts\",\n  \"293944\": \"Alkaloids; norephedrine and its salts\",\n  \"293945\":\n    \"Alkaloids; of ephedrine and their derivatives; levometamfetamine, metamfetamine (INN), metamefetamine racemate and their salts\",\n  \"293949\":\n    \"Alkaloids; other than ephedrine, pseudoephedrine (INN), norephedrine, and cathine (INN) and their salts\",\n  \"293950\":\n    \"Alkaloids, vegetable; theophylline and aminophylline (theophyllineethylenediamine) and their derivatives; salts thereof\",\n  \"293951\":\n    \"Alkaloids; theophylline and aminophylline (theophylline-ethylenediamine) and their derivatives; salts thereof, fenetylline (INN) and its salts\",\n  \"293959\":\n    \"Alkaloids; theophylline and aminophylline (theophylline-ethylenediamine) and their derivatives; salts thereof, other than fenetylline\",\n  \"293960\":\n    \"Alkaloids, vegetable; of rye ergot and their derivatives; salts thereof\",\n  \"293961\":\n    \"Alkaloids; of rye ergot and their derivatives, ergometrine (INN) and its salts\",\n  \"293962\":\n    \"Alkaloids; of rye ergot and their derivatives, ergotamine (INN) and its salts\",\n  \"293963\":\n    \"Alkaloids; of rye ergot and their derivatives, lysergic acid and its salts\",\n  \"293969\":\n    \"Alkaloids; of rye ergot and their derivatives, salts thereof, n.e.c. in item no. 2939.6\",\n  \"293970\": \"Alkaloids, vegetable; nicotine and its salts\",\n  \"293971\":\n    \"Alkaloids; of vegetal origin, cocaine, ecgonine, levometamfetamine, metamfetamine (INN), metamfetamine racemate; salts, esters and other derivatives thereof\",\n  \"293972\":\n    \"Alkaloids; of vegetal origin, cocaine, ecgonine; salts, esters and other derivatives thereof\",\n  \"293979\":\n    \"Alkaloids; of vegetal origin, other than cocaine, ecgonine, levometamfetamine, metamfetamine (INN), metamfetamine racemate; salts, esters and other derivatives; n.e.c. in heading no. 2939\",\n  \"293980\":\n    \"Alkaloids; natural or reproduced by synthesis, and their salts, esters and other derivatives n.e.c. in heading no. 2939\",\n  \"293990\":\n    \"Alkaloids, vegetable; natural or reproduced by synthesis, and their salts, esters and other derivatives n.e.s. in heading no. 2939\",\n  \"293991\":\n    \"Alkaloids, vegetable; natural or reproduced by synthesis, and their salts, esters and other derivatives n.e.c. in heading no. 2939.1, 2939.2, 2939.3, 2939.4, 2939.5, 2939.6, 2939.7\",\n  \"293999\":\n    \"Alkaloids, vegetable; natural or reproduced by synthesis, and their salts, esters and other derivatives n.e.c. in heading no. 2939\",\n  \"294000\":\n    \"Sugars, chemically pure, other than sucrose, lactose, maltose, glucose and fructose; sugar ethers, sugar acetals and sugar esters, and their salts, other than the products of heading 29.37, 29.38, or 29.39\",\n  \"294110\":\n    \"Antibiotics; penicillins and their derivatives with a penicillanic acid structure; salts thereof\",\n  \"294120\": \"Antibiotics; streptomycins and their derivatives; salts thereof\",\n  \"294130\": \"Antibiotics; tetracyclines and their derivatives; salts thereof\",\n  \"294140\": \"Antibiotics; chloramphenicol and its derivatives; salts thereof\",\n  \"294150\": \"Antibiotics; erythromycin and its derivatives; salts thereof\",\n  \"294190\": \"Antibiotics; n.e.c. in heading no. 2941\",\n  \"294200\": \"Organic compounds; n.e.c. in chapter 29\",\n  \"300110\": \"Glands and other organs; dried, whether or not powdered\",\n  \"300120\":\n    \"Glands and other organs; extracts of glands or other organs or of their secretions, for organo-therapeutic uses\",\n  \"300190\": \"Heparin and its salts; for therapeutic or prophylactic uses\",\n  \"300210\":\n    \"Blood, human or animal, antisera, other blood fractions and immunological products; whether or not modified or obtained by means of biotechnological processes\",\n  \"300211\":\n    \"Blood, human or animal, antisera, other blood fractions and immunological products; malaria diagnostic test kits\",\n  \"300212\": \"Antisera and other blood fractions\",\n  \"300213\": \"Immunological products; not retail, not mixed\",\n  \"300214\": \"Immunological products; retail, mixed\",\n  \"300215\": \"Immunological products; retail, not mixed\",\n  \"300219\":\n    \"Blood, human or animal, antisera, other blood fractions and immunological products; n.e.c. in heading 3002.1\",\n  \"300220\": \"Vaccines for human use\",\n  \"300230\": \"Vaccines for veterinary use\",\n  \"300231\": \"Vaccines; for veterinary medicine, against foot and mouth disease\",\n  \"300239\":\n    \"Vaccines; for veterinary medicine, for other uses than against foot and mouth disease\",\n  \"300241\":\n    \"Vaccines, toxins, cultures of micro-organisms (excluding yeasts) and similar products; for human medicine\",\n  \"300242\":\n    \"Vaccines, toxins, cultures of micro-organisms (excluding yeasts) and similar products; for veterinary medicine\",\n  \"300249\":\n    \"Toxins, cultures of micro-organisms (excluding yeasts) and similar products; n.e.c. in item 3002.3\",\n  \"300251\": \"Cell cultures, whether or not modified; cell therapy products\",\n  \"300259\":\n    \"Cell cultures, whether or not modified; other cell cultures not including cell therapy products\",\n  \"300290\": \"Toxins and cultures of micro-organisms; excl. yeasts\",\n  \"300310\":\n    \"Medicaments; containing penicillins, streptomycins or their derivatives, for therapeutic or prophylactic uses, (not in measured doses, not packaged for retail sale)\",\n  \"300320\":\n    \"Medicaments; containing antibiotics other than penicillins, streptomycins and their derivatives, for therapeutic or prophylactic uses, (not in measured doses, not packaged for retail sale)\",\n  \"300331\":\n    \"Medicaments; containing insulin, for therapeutic or prophylactic uses, not packaged for retail sale\",\n  \"300339\":\n    \"Medicaments; containing hormones (excluding insulin), (but not containing antibiotics), for therapeutic or prophylactic uses, not packaged for retail sale\",\n  \"300340\":\n    \"Medicaments; containing alkaloids or their derivatives, (but not containing hormones or antibiotics), for therapeutic or prophylactic uses, (not packaged for retail sale)\",\n  \"300341\":\n    \"Medicaments; containing alkaloids or their derivatives, containing ephedrine or its salts, for therapeutic or prophylactic uses, (not packaged for retail sale)\",\n  \"300342\":\n    \"Medicaments; containing alkaloids or their derivatives, containing pseudoephedrine (INN) or its salts, for therapeutic or prophylactic uses, (not packaged for retail sale)\",\n  \"300343\":\n    \"Medicaments; containing alkaloids or their derivatives, containing norephedrine or its salts, for therapeutic or prophylactic uses, (not packaged for retail sale)\",\n  \"300349\":\n    \"Medicaments; containing alkaloids or their derivatives; other than ephedrine, pseudoephedrine (INN) or norephedrine or their salts; for therapeutic or prophylactic uses, (not packaged for retail sale)\",\n  \"300360\":\n    \"Medicaments; containing antimalarial active principles described in subheading note 2 to this chapter, for therapeutic or prophylactic uses, (not packaged for retail sale)\",\n  \"300390\": \"Medicaments; not containing antibiotics, hormones, or alkoids\",\n  \"300410\": \"Medicaments containing penicillins and streptomycins\",\n  \"300420\":\n    \"Medicaments; containing antibiotics; excl. penicillins and streptomycins\",\n  \"300431\": \"Medicaments containing insulin\",\n  \"300432\": \"Medicaments containing corticosteroid hormones\",\n  \"300439\":\n    \"Medicaments; containing hormones, adrenal cortex hormones, and antibiotics; excl. insulin\",\n  \"300440\":\n    \"Medicaments; containing alkaloids or their derivatives (but not hormones or antibiotics), for therapeutic or prophylactic uses, packaged for retail sale\",\n  \"300441\":\n    \"Medicaments; containing alkaloids or their derivatives, containing ephedrine or its salts, for therapeutic or prophylactic uses, packaged for retail sale\",\n  \"300442\":\n    \"Medicaments; containing alkaloids or their derivatives, containing pseudoephedrine (INN) or its salts, for therapeutic or prophylactic uses, packaged for retail sale\",\n  \"300443\":\n    \"Medicaments; containing alkaloids or their derivatives, containing norephedrine or its salts, for therapeutic or prophylactic uses, packaged for retail sale\",\n  \"300449\":\n    \"Medicaments; containing alkaloids or their derivatives; excl. ephedrine, pseudoephedrine, and norephedrine\",\n  \"300450\": \"Medicaments containing vitamins\",\n  \"300460\":\n    \"Medicaments; containing antimalarial active principles described in Subheading Note 2 to this Chapter, for therapeutic or prophylactic uses, packaged for retail sale\",\n  \"300490\": \"Other medicaments (exclusionary category)\",\n  \"300510\": \"Medical dressings with adhesive layer\",\n  \"300590\": \"Medical dressings; excl. adhesive\",\n  \"300610\": \"Suture materials, sterile surgical and dental goods\",\n  \"300620\": \"Pharmaceutical goods; blood-grouping reagents\",\n  \"300630\": \"Opacifying preparations for x-ray examinations\",\n  \"300640\":\n    \"Pharmaceutical goods; dental cements and other dental fillings, bone reconstruction cements\",\n  \"300650\": \"Pharmaceutical goods; first aid boxes and kits\",\n  \"300660\": \"Contraceptives based on hormones or spermicides\",\n  \"300670\":\n    \"Pharmaceutical goods; Gel preparations designed to be used in human or veterinary medicine as a lubricant for parts of the body for surgical operations or physical examinations or as a coupling agent between the body and medical instruments\",\n  \"300680\": \"Pharmaceutical goods; waste pharmaceuticals\",\n  \"300691\": \"Pharmaceutical goods; appliances identifiable for ostomy use\",\n  \"300692\": \"Pharmaceutical goods; waste pharmaceuticals\",\n  \"300693\":\n    \"Pharmaceutical goods; placebos and blinded (or double-blinded) clinical trial kits for a recognised clinical trial, put up in measured doses\",\n  \"310100\":\n    \"Fertilizers, animal or vegetable; whether or not mixed together or chemically treated; fertilizers, produced by the mixing or chemical treatment of animal or vegetable products\",\n  \"310210\": \"Urea fertilizer\",\n  \"310221\": \"Fertilizers, mineral or chemical; nitrogenous, ammonium sulphate\",\n  \"310229\":\n    \"Fertilizers, mineral or chemical; nitrogenous, other than ammonium sulphate\",\n  \"310230\":\n    \"Fertilizers, mineral or chemical; nitrogenous, ammonium nitrate, whether or not in aqueous solution\",\n  \"310240\":\n    \"Fertilizers, mineral or chemical; ammonium nitrate with calcium carbonate or other inorganic non-fertilizing substances, mixtures thereof\",\n  \"310250\": \"Fertilizers, mineral or chemical; nitrogenous, sodium nitrate\",\n  \"310260\":\n    \"Fertilizers, mineral or chemical; nitrogenous, double salts and mixtures of calcium nitrate and ammonium nitrate\",\n  \"310270\": \"Fertilizers, mineral or chemical; nitrogenous, calcium cyanamide\",\n  \"310280\":\n    \"Fertilizers, mineral or chemical; nitrogenous, mixtures of urea and ammonium nitrate in aqueous or ammoniacal solution\",\n  \"310290\":\n    \"Fertilizers, mineral or chemical; nitrogenous, other kinds including mixtures not specified in the foregoing subheadings\",\n  \"310310\": \"Fertilizers, mineral or chemical; phosphatic, superphosphates\",\n  \"310311\":\n    \"Fertilizers, mineral or chemical; phosphatic, superphosphates, containing by weight 35% or more of diphosphorus pentaoxide (P2O5)\",\n  \"310319\":\n    \"Fertilizers, mineral or chemical; phosphatic, superphosphates, other than containing by weight 35% or more of diphosphorus pentaoxide (P2O5)\",\n  \"310320\": \"Fertilizers, mineral or chemical; phosphatic, basic slag\",\n  \"310390\":\n    \"Fertilizers, mineral or chemical; phosphatic, n.e.c. in heading no. 3103\",\n  \"310410\":\n    \"Fertilizers, mineral or chemical; potassic, carnallite, sylvite and other crude natural potassium salts\",\n  \"310420\": \"Potassium chloride fertilizer\",\n  \"310430\": \"Fertilizers, mineral or chemical; potassic, potassium sulphate\",\n  \"310490\":\n    \"Fertilizers, mineral or chemical; potassic, n.e.c. in heading no. 3104\",\n  \"310510\":\n    \"Fertilizers, mineral or chemical; in tablets or similar forms or in packages of a gross weight not exceeding 10kg\",\n  \"310520\":\n    \"Fertilizers, mineral or chemical; containing the three fertilizing elements nitrogen, phosphorus and potassium\",\n  \"310530\":\n    \"Fertilizers, mineral or chemical; diammonium hydrogenorthophosphate (diammonium phosphate)\",\n  \"310540\":\n    \"Fertilizers, mineral or chemical; ammonium dihydrogenorthophosphate (monoammonium phosphate) and mixtures thereof with diammonium hydrogenorthophosphate (diammonium phosphate)\",\n  \"310551\":\n    \"Fertilizers, mineral or chemical; containing nitrates and phosphates\",\n  \"310559\":\n    \"Fertilizers, mineral or chemical; containing the two fertilizing elements nitrogen and phosphorus, other than nitrates and phosphates\",\n  \"310560\":\n    \"Fertilizers, mineral or chemical; containing the two fertilizing elements phosphorus and potassium\",\n  \"310590\": \"Fertilizers, mineral or chemical; n.e.c. in heading no. 3105\",\n  \"320110\": \"Tanning extracts of vegetable origin; quebracho extract\",\n  \"320120\": \"Tanning extracts of vegetable origin; wattle extract\",\n  \"320130\": \"Tanning extracts of vegetable origin; oak or chestnut extract\",\n  \"320190\":\n    \"Tanning extracts of vegetable origin; tannins and their salts, ethers, esters and other derivatives, (excluding quebracho or wattle extract)\",\n  \"320210\": \"Tanning substances; synthetic organic tanning substances\",\n  \"320290\":\n    \"Tanning substances; inorganic tanning substances; tanning preparations, whether or not containing natural tanning substances; enzymatic preparations for pre- tanning\",\n  \"320300\":\n    \"Colouring matter of vegetable or animal origin, including dyeing extracts not animal black, whether or not chemically defined; preparations based on colouring matter of vegetable or animal origin\",\n  \"320411\": \"Dyes; disperse dyes and preparations based thereon\",\n  \"320412\":\n    \"Dyes; acid, whether or not premetallised and preparations based thereon, mordant dyes and preparations based thereon\",\n  \"320413\": \"Dyes; basic dyes and preparations based thereon\",\n  \"320414\": \"Dyes; direct dyes and preparations based thereon\",\n  \"320415\":\n    \"Dyes; vat dyes (including those usable in that state as pigments) and preparations based thereon\",\n  \"320416\": \"Dyes; reactive dyes and preparations based thereon\",\n  \"320417\": \"Dyes; pigments and preparations based thereon\",\n  \"320418\": \"Dyes; carotenoid colouring matters and preparations based thereon\",\n  \"320419\":\n    \"Dyes; n.e.c., including mixtures of colouring matter of two or more of those from item no. 3204.11 to 3204.19\",\n  \"320420\":\n    \"Dyes; synthetic organic products of a kind used as fluorescent brightening agents\",\n  \"320490\":\n    \"Dyes; synthetic organic products n.e.c. in heading no. 3204 (e.g. of a kind used as luminophores), whether or not chemically defined\",\n  \"320500\":\n    \"Colour lakes; preparations based on colour lakes as specified in note 3 to this chapter\",\n  \"320610\":\n    \"Colouring matter; pigments and preparations based on titanium dioxide\",\n  \"320611\":\n    \"Colouring matter; pigments and preparations based on titanium dioxide, containing 80% or more by weight of titanium dioxide calculated on the dry matter\",\n  \"320619\":\n    \"Colouring matter; pigments and preparations based on titanium dioxide, containing less than 80% by weight of titanium dioxide calculated on the dry weight\",\n  \"320620\":\n    \"Colouring matter; pigments and preparations based on chromium compounds\",\n  \"320630\":\n    \"Colouring matter; pigments and preparations based on cadmium compounds\",\n  \"320641\": \"Colouring matter; ultramarine and preparations based thereon\",\n  \"320642\":\n    \"Colouring matter; lithopone and other pigments and preparations based on zinc sulphide\",\n  \"320643\":\n    \"Colouring matter; pigments and preparations based on hexacyanoferrates (ferrocyanides and ferricyanides)\",\n  \"320649\": \"Colouring matter; other preparations n.e.c. in item no. 3206.4\",\n  \"320650\":\n    \"Colouring matter; inorganic products of a kind used as luminophores\",\n  \"320710\":\n    \"Pigments; prepared pigments, opacifiers, colours and similar preparations\",\n  \"320720\":\n    \"Enamels and glazes; vitrifiable enamels and glazes, engobes (slips) and similar preparations\",\n  \"320730\": \"Lustres; liquid lustres and similar preparations\",\n  \"320740\":\n    \"Glass; glass frit and other glass, in the form of powder, granules or flakes\",\n  \"320810\":\n    \"Paints and varnishes; based on polyesters, dispersed or dissolved in a non-aqueous medium\",\n  \"320820\":\n    \"Paints and varnishes; based on acrylic or vinyl polymers, dispersed or dissolved in a non-aqueous medium\",\n  \"320890\":\n    \"Paints and varnishes; based on polymers n.e.c. in heading no. 3208, dispersed or dissolved in a non-aqueous medium\",\n  \"320910\":\n    \"Paints and varnishes; based on acrylic or vinyl polymers, dispersed or dissolved in an aqueous medium\",\n  \"320990\":\n    \"Paints and varnishes; (based on polymers other than acrylic or vinyl), dispersed or dissolved in an aqueous medium\",\n  \"321000\":\n    \"Paints and varnishes; (including enamels, lacquers and distempers), prepared water pigments of a kind used for finishing leather\",\n  \"321100\": \"Driers; prepared\",\n  \"321210\":\n    \"Pigments; of a kind used in the manufacture of paints, stamping foils\",\n  \"321290\":\n    \"Pigments; of a kind used in the manufacture of paints, other than stamping foils\",\n  \"321310\":\n    \"Colours; in sets, of a kind used by artists, students or signboard painters\",\n  \"321390\":\n    \"Colours; (other than in sets), of a kind used by artists, students or signboard painters\",\n  \"321410\": \"Mastics; painters' fillings\",\n  \"321490\": \"Mastics; n.e.c. in heading no. 3214\",\n  \"321511\": \"Ink; for printing, black, whether or not concentrated or solid\",\n  \"321519\":\n    \"Ink; for printing, other than black, whether or not concentrated or solid\",\n  \"321590\":\n    \"Ink; writing, drawing and other inks, n.e.c. in heading no. 3215, whether or not concentrated or solid\",\n  \"330111\":\n    \"Oils, essential; of bergamot (terpeneless or not), including concretes and absolutes\",\n  \"330112\":\n    \"Oils, essential; of orange (terpeneless or not), including concretes and absolutes\",\n  \"330113\":\n    \"Oils, essential; of lemon (terpeneless or not), including concretes and absolutes\",\n  \"330114\":\n    \"Oils, essential; of lime (terpeneless or not), including concretes and absolutes\",\n  \"330119\":\n    \"Oils, essential; of citrus fruits n.e.c. in heading no. 3301 (terpeneless or not), including concretes and absolutes\",\n  \"330121\":\n    \"Oils, essential; of geranium (terpeneless or not), including concretes and absolutes\",\n  \"330122\":\n    \"Oils, essential; of jasmin (terpeneless or not), including concretes and absolutes\",\n  \"330123\":\n    \"Oils, essential; of lavender or of lavandin (terpeneless or not), including concretes and absolutes\",\n  \"330124\":\n    \"Oils, essential; of peppermint (Mentha piperita), terpeneless or not, including concretes and absolutes\",\n  \"330125\":\n    \"Oils, essential; of mints (excluding peppermint), terpeneless or not, including concretes and absolutes\",\n  \"330126\":\n    \"Oils, essential; of vetiver (terpeneless or not), including concretes and absolutes\",\n  \"330129\":\n    \"Oils, essential; n.e.c. in heading no. 3301 (terpeneless or not), including concretes and absolutes\",\n  \"330130\": \"Resinoids\",\n  \"330190\":\n    \"Oils, essential; concentrates in fats, fixed oils, waxes and the like, terpenic by-products, aqueous distillates and solutions, extracted oleoresins, n.e.c. in heading no. 3301\",\n  \"330210\": \"Odoriferous substances and mixtures; for food or drink industries\",\n  \"330290\":\n    \"Odoriferous substances and mixtures; used as raw materials in industries other than the food or drink industries\",\n  \"330300\": \"Perfumes and toilet waters\",\n  \"330410\": \"Cosmetic and toilet preparations; lip make-up\",\n  \"330420\": \"Cosmetic and toilet preparations; eye make-up\",\n  \"330430\":\n    \"Cosmetic and toilet preparations; manicure or pedicure preparations\",\n  \"330491\":\n    \"Cosmetic and toilet preparations; powders, whether or not compressed (excluding lip, eye, manicure or pedicure preparations)\",\n  \"330499\":\n    \"Cosmetic and toilet preparations; n.e.c. in heading no. 3304, for the care of the skin (excluding medicaments, including sunscreen or sun tan preparations)\",\n  \"330510\": \"Hair preparations; shampoos\",\n  \"330520\": \"Hair preparations; for permanent waving or straightening\",\n  \"330530\": \"Hair preparations; lacquers\",\n  \"330590\": \"Hair preparations; n.e.c. in heading no. 3305\",\n  \"330610\": \"Oral or dental hygiene preparations; dentifrices\",\n  \"330620\":\n    \"Oral or dental hygiene preparations; yarn used to clean between the teeth (dental floss)\",\n  \"330690\": \"Oral or dental hygiene preparations; other than dentifrices\",\n  \"330710\":\n    \"Perfumery, cosmetic or toilet preparations; pre-shave, shaving or after-shave preparations\",\n  \"330720\":\n    \"Perfumery, cosmetic or toilet preparations; personal deodorants and antiperspirants\",\n  \"330730\":\n    \"Perfumery, cosmetic or toilet preparations; perfumed bath salts and other bath preparations\",\n  \"330741\":\n    \"Perfumes and deodorizers; perfuming or deodorizing preparations for rooms, agarbatti and other odoriferous preparations which operate by burning (including those used during religious rites)\",\n  \"330749\":\n    \"Perfumes and deodorizers; perfuming or deodorizing preparations for rooms, (excluding those which operate by burning)\",\n  \"330790\":\n    \"Perfumes and deodorizers; perfuming or deodorizing preparations n.e.c. in heading no. 3307\",\n  \"340111\":\n    \"Soap and organic surface-active products; in the form of bars, cakes, moulded shapes, and paper, wadding, felt and nonwovens, impregnated, coated or covered with soap or detergent, for toilet use (including medicated products)\",\n  \"340119\":\n    \"Soap and organic surface-active products; in the form of bars, cakes, moulded shapes, and paper, wadding, felt and nonwovens, impregnated, coated or covered with soap or detergent, not for toilet use\",\n  \"340120\": \"Soap; in forms n.e.c. in item no. 3401.11\",\n  \"340130\":\n    \"Organic surface-active products and preparations for washing the skin, in the form of liquid or cream and put up for retail sale, whether or not containing soap\",\n  \"340211\":\n    \"Organic surface-active agents; anionic (other than soap), whether or not put up for retail sale\",\n  \"340212\":\n    \"Organic surface-active agents; cationic (other than soap), whether or not put up for retail sale\",\n  \"340213\":\n    \"Organic surface-active agents; non-ionic (other than soap), whether or not put up for retail sale\",\n  \"340219\":\n    \"Organic surface-active agents; whether or not put up for retail sale, n.e.c. in heading no. 3402\",\n  \"340220\": \"Washing and cleaning preparations; retail\",\n  \"340231\":\n    \"Anionic organic surface-active agents (other than soap); linear alkylbenzene sulphonic acids and their salts, whether or not put up for retail sale\",\n  \"340239\":\n    \"Anionic organic surface-active agents (other than soap); other than linear alkylbenzene sulphonic acids and their salts, whether or not put up for retail sale\",\n  \"340241\":\n    \"Organic surface-active agents; cationic (other than soap), whether or not put up for retail sale\",\n  \"340242\":\n    \"Organic surface-active agents; non-ionic (other than soap), whether or not put up for retail sale\",\n  \"340249\":\n    \"Organic surface-active agents; whether or not put up for retail sale, n.e.c. in item no. 3402\",\n  \"340250\":\n    \"Washing and cleaning preparations; powders, flakes and granules, surface-active, whether or not containing soap (excluding those of heading no. 3401), put up for retail sale\",\n  \"340290\":\n    \"Washing and cleaning preparations; surface-active, whether or not containing soap (excluding those of heading no. 3401), including auxiliary washing preparations, not for retail sale\",\n  \"340311\":\n    \"Lubricating preparations; for the treatment of textile and similar materials (leather, furskins etc), containing less than 70% (by weight) of petroleum oils or oils obtained from bituminous minerals\",\n  \"340319\":\n    \"Lubricating preparations; (other than for the treatment of textile and similar materials), containing less than 70% (by weight) of petroleum oils or oils obtained from bituminous minerals\",\n  \"340391\":\n    \"Lubricating preparations; for the treatment of textile and similar materials (leather, furskins etc), (not containing petroleum oils or oils obtained from bituminous minerals)\",\n  \"340399\":\n    \"Lubricating preparations; other than for the treatment of textile and similar materials, not containing petroleum oils or oils obtained from bituminous minerals\",\n  \"340410\": \"Waxes; artificial and prepared, of chemically modified lignite\",\n  \"340420\":\n    \"Waxes; artificial and prepared, of poly(oxyethylene) (polyethylene glycol)\",\n  \"340490\": \"Waxes; artificial and prepared, other than of polyethylene glycol\",\n  \"340510\":\n    \"Polishes, creams and similar preparations; for footwear or leather, excluding waxes of heading no. 3404\",\n  \"340520\":\n    \"Polishes, creams and similar preparations; for the maintenance of wooden furniture, floors or other woodwork, excluding waxes of heading no. 3404\",\n  \"340530\":\n    \"Polishes, creams and similar preparations; for coachwork, other than metal polishes, excluding waxes of heading no. 3404\",\n  \"340540\":\n    \"Scouring pastes and powders and other scouring preparations; (whether or not in the form of paper, wadding, felt, nonwovens, cellular plastics, cellular rubber, impregnated, coated or covered)\",\n  \"340590\":\n    \"Polishes, creams and similar preparations; n.e.c. in heading no. 3405, excluding waxes of heading no. 3404\",\n  \"340600\": \"Candles, tapers and the like\",\n  \"340700\":\n    \"Modelling pastes; preparations known as dental wax, put up in sets, in packings for retail sale or in plates, horseshoe shapes, sticks or similar forms, other preparations for use in dentistry\",\n  \"350110\": \"Casein\",\n  \"350190\": \"Caseinates and other casein derivatives; casein glues\",\n  \"350210\": \"Albumins; egg albumin\",\n  \"350211\": \"Albumins; egg albumin, dried\",\n  \"350219\": \"Albumins; egg albumin, not dried\",\n  \"350220\":\n    \"Albumins; milk albumin, including concentrates of two or more whey proteins\",\n  \"350290\":\n    \"Albumins, albuminates and other albumin derivatives; other than egg or milk albumin, including concentrates of two or more whey proteins\",\n  \"350300\":\n    \"Gelatin (including gelatin in rectangular sheets, whether or not surface-worked or coloured) and gelatin derivatives; isinglass; other glues of animal origin, excluding casein glues of heading no. 3501\",\n  \"350400\":\n    \"Peptones and their derivatives; other protein substances and their derivatives n.e.c. or included, hide powder, whether or not chromed\",\n  \"350510\": \"Dextrins and other modified starches\",\n  \"350520\":\n    \"Glues; based on starches, or on dextrins or other modified starches\",\n  \"350610\":\n    \"Glues or adhesives; prepared, products suitable for use as glues or adhesives, put up for retail sale as glues or adhesives, not exceeding a net weight of 1kg\",\n  \"350691\":\n    \"Adhesives; prepared, based on polymers of heading 3901 to 3913 or on rubber\",\n  \"350699\":\n    \"Glues and other adhesives; prepared, n.e.c. in heading no. 3506, not exceeding a net weight of 1kg\",\n  \"350710\": \"Enzymes; rennet and concentrates thereof\",\n  \"350790\":\n    \"Enzymes and prepared enzymes; other than rennet and concentrates thereof\",\n  \"360100\": \"Explosives; propellent powders\",\n  \"360200\": \"Explosives, prepared; other than propellent powders\",\n  \"360300\":\n    \"Fuses and detonators; safety or detonating fuses, percussion or detonating caps, igniters, electric detonators\",\n  \"360310\": \"Safety fuses\",\n  \"360320\": \"Detonating cords\",\n  \"360330\": \"Percussion caps\",\n  \"360340\": \"Detonating caps\",\n  \"360350\": \"Igniters\",\n  \"360360\": \"Electric detonators\",\n  \"360410\": \"Pyrotechnic products; fireworks\",\n  \"360490\":\n    \"Pyrotechnic products; signalling flares, rain rockets, fog signals and other pyrotechnic articles (excluding fireworks)\",\n  \"360500\": \"Matches; other than pyrotechnic articles of heading no. 3604\",\n  \"360610\":\n    \"Fuels; liquid or liquefied-gas, in containers, of a kind used for filling or refilling cigarette or similar lighters, (of a capacity not exceeding 300cm3)\",\n  \"360690\":\n    \"Ferro-cerium and other pyrophoric alloys in all forms; articles of combustible materials n.e.c. in chapter 36\",\n  \"370110\":\n    \"Photographic plates and film; for x-ray, in the flat, sensitised, unexposed, of any material other than paper, paperboard or textiles\",\n  \"370120\":\n    \"Photographic plates and film; instant print film, in the flat, sensitised, unexposed, whether or not in packs\",\n  \"370130\":\n    \"Photographic plates and film; in the flat, sensitised, unexposed, with any side exceeding 225mm, of any materials other than paper, paperboard or textiles\",\n  \"370191\":\n    \"Photographic plates and film; for colour photography (polychrome), in the flat, sensitised, unexposed, with no side exceeding 255mm, of any material other than paper, paperboard or textiles\",\n  \"370199\":\n    \"Photographic plates and film; (for other than colour photography), in the flat, sensitised, unexposed, with no side exceeding 255mm, of any material other than paper, paperboard or textiles\",\n  \"370210\":\n    \"Photographic film; for x-rays, in rolls, sensitised and unexposed (other than of paper, paperboard or textiles)\",\n  \"370220\":\n    \"Photographic film; instant print film, in rolls, sensitised and unexposed\",\n  \"370231\":\n    \"Photographic film; for colour photography (polychrome), in rolls, sensitised, unexposed, without sprocket holes, of a width not exceeding 105mm (other than of paper, paperboard or textiles)\",\n  \"370232\":\n    \"Photographic film; in rolls, with silver halide emulsion, sensitised, unexposed, without sprocket holes, of a width not exceeding 105mm (other than of paper, paperboard or textiles)\",\n  \"370239\":\n    \"Photographic film; in rolls, (other than with silver halide emulsion and for colour photography), sensitised, unexposed, without sprocket holes, of a width not exceeding 105mm (other than of paper, paperboard or textiles)\",\n  \"370241\":\n    \"Photographic film; for colour photography (polychrome), in rolls, sensitised, unexposed, without sprocket holes, of a width exceeding 610mm and of a length exceeding 200m (other than of paper, paperboard or textiles)\",\n  \"370242\":\n    \"Photographic film; in rolls, (other than for colour photography), sensitised, unexposed, without sprocket holes, of a width exceeding 610mm and of a length exceeding 200m (other than of paper, paperboard or textiles)\",\n  \"370243\":\n    \"Photographic film; in rolls, sensitised, unexposed, without sprocket holes, of a width exceeding 610mm and of a length not exceeding 200m (other than of paper, paperboard or textiles)\",\n  \"370244\":\n    \"Photographic film; in rolls, sensitised, unexposed, without sprocket holes, of a width exceeding 105mm but not exceeding 610mm (other than of paper, paperboard or textiles)\",\n  \"370251\":\n    \"Photographic film; for colour photography (polychrome), in rolls, sensitised, unexposed, of a width not exceeding 16mm and of a length not exceeding 14m (other than of paper, paperboard or textiles)\",\n  \"370252\":\n    \"Photographic film; for colour photography (polychrome), in rolls, sensitised, unexposed, of a width not exceeding 16mm (other than of paper, paperboard or textiles)\",\n  \"370253\":\n    \"Photographic film; for colour photography (polychrome) slides, in rolls, sensitised, unexposed, of a width exceeding 16mm but not exceeding 35mm and of a length not exceeding 30m (other than of paper, paperboard or textiles)\",\n  \"370254\":\n    \"Photographic film; for colour photography (polychrome), in rolls, sensitised, unexposed, of a width exceeding 16mm but not 35mm and of a length not exceeding 30m, excluding film for slides (other than of paper, paperboard or textiles)\",\n  \"370255\":\n    \"Photographic film; for colour photography (polychrome), in rolls, sensitised, unexposed, of a width exceeding 16mm but not 35mm and of a length exceeding 30m (other than of paper, paperboard or textiles)\",\n  \"370256\":\n    \"Photographic film; for colour photography (polychrome), in rolls, sensitised, unexposed, of a width exceeding 35mm (other than of paper, paperboard or textiles)\",\n  \"370291\":\n    \"Photographic film; in rolls, (for other than colour photography), of a width not exceeding 16mm (other than of paper, paperboard or textiles)\",\n  \"370292\":\n    \"Photographic film; in rolls, (for other than colour photography), sensitised, unexposed, of a width not exceeding 16mm and length exceeding 14m\",\n  \"370293\":\n    \"Photographic film; in rolls, (for other than colour film), sensitised, unexposed, of a width exceeding 16mm but not 35mm and of a length not exceeding 30m (other than of paper, paperboard or textiles)\",\n  \"370294\":\n    \"Photographic film; in rolls, (for other than colour photography), sensitised, unexposed, of a width exceeding 16mm but not 35mm and of a length exceeding 30m (other than of paper, paperboard or textiles)\",\n  \"370295\":\n    \"Photographic film; in rolls, (for other than colour photography), sensitised, unexposed, of a width exceeding 35mm (other than of paper, paperboard or textiles)\",\n  \"370296\":\n    \"Photographic film; other than for colour photography, in rolls, sensitised, unexposed, of a width not exceeding 35mm and of a length not exceeding 30m (other than of paper, paperboard or textiles)\",\n  \"370297\":\n    \"Photographic film; other than for colour photography, in rolls, sensitised, unexposed, of a width not exceeding 35mm and of a length exceeding 30m (other than paper, paperboard or textiles)\",\n  \"370298\":\n    \"Photographic film; other than for colour photography, in rolls, sensitised, unexposed, of a width exceeding 35mm (other than of paper, paperboard or textiles)\",\n  \"370310\":\n    \"Photographic paper, paperboard and textiles; in rolls, sensitised, unexposed, of a width exceeding 610mm\",\n  \"370320\":\n    \"Photographic paper, paperboard and textiles; for colour photography (polychrome), (other than in rolls of a width exceeding 610mm), sensitised, unexposed\",\n  \"370390\":\n    \"Photographic paper, paperboard and textiles; (for other than colour photography, other than in rolls of a width exceeding 610mm), sensitised, unexposed\",\n  \"370400\":\n    \"Photographic plates, film, paper, paperboard and textiles; exposed but not developed\",\n  \"370500\":\n    \"Photographic plates and film; exposed and developed, other than cinematographic film\",\n  \"370510\":\n    \"Photographic plates and film; for offset reproduction, exposed and developed\",\n  \"370520\": \"Photographic plates and film; microfilms, exposed and developed\",\n  \"370590\":\n    \"Photographic plates and film; exposed and developed, (other than cinematographic film or for offset reproduction)\",\n  \"370610\":\n    \"Cinematographic film; exposed and developed, whether or not incorporating sound track or consisting only of sound track, of a width of 35cm or more\",\n  \"370690\":\n    \"Cinematographic film; exposed and developed, whether or not incorporating a sound track or consisting only of sound track, of a width less than 35mm\",\n  \"370710\":\n    \"Photographic goods; sensitised emulsions, put up in measured portions or put up for retail sale in a form ready for use\",\n  \"370790\":\n    \"Photographic goods; chemical preparations other than sensitised emulsions, put up in measured portions or put up for retail sale in a form ready for use\",\n  \"380110\": \"Graphite; artificial\",\n  \"380120\": \"Graphite; colloidal or semi-colloidal\",\n  \"380130\":\n    \"Carbonaceous pastes; for electrodes and similar pastes for furnace linings\",\n  \"380190\":\n    \"Graphite or other carbon based preparations; in the form of pastes, blocks, plates or other semi-manufactures\",\n  \"380210\": \"Carbon; activated\",\n  \"380290\":\n    \"Chemical products; activated natural mineral products, animal black, including spent animal black\",\n  \"380300\": \"Chemical products; tall oil, whether or not refined\",\n  \"380400\":\n    \"Lyes, residual; from the manufacture of wood pulp, whether or not concentrated, desugared or chemically treated, including lignin sulphonates but excluding tall oil of heading no. 3803\",\n  \"380510\": \"Terpenic oils; gum, wood or sulphate turpentine oils\",\n  \"380520\":\n    \"Terpenic oils; pine oil, containing alpha-terpineol as the main constituent\",\n  \"380590\":\n    \"Terpenic oils; produced by the treatment of coniferous woods, crude dipentene, sulphite turpentine and other crude para-cymene, n.e.c. in heading no. 3805\",\n  \"380610\": \"Rosin and resin acids\",\n  \"380620\":\n    \"Rosin and resin; salts of rosin, of resin acids or of derivatives of rosin or resin acids, other than salts of rosin adducts\",\n  \"380630\": \"Ester gums\",\n  \"380690\": \"Rosin; spirit and oils, n.e.c. in heading no. 3806\",\n  \"380700\":\n    \"Wood tar; wood tar oils; wood creosote; wood naphtha; vegetable pitch; brewers' pitch and similar preparations based on rosin, resin acids or on vegetable pitch\",\n  \"380810\":\n    \"Insecticides; put up in forms or packings for retail sale or as preparations or articles\",\n  \"380820\":\n    \"Fungicides; put up in forms or packings for retail sale or as preparations or articles\",\n  \"380830\":\n    \"Herbicides, anti-sprouting products and plant-growth regulators; put up in forms or packings for retail sale or as preparations or articles\",\n  \"380840\":\n    \"Disinfectants and similar products; in forms, packings or articles for retail sale\",\n  \"380850\":\n    \"Insecticides, rodenticides, fungicides, disinfectants, herbicides and the like; containing goods specified in Subheading Note 1 to this Chapter; put up in forms or packings for retail sale or as preparations or articles\",\n  \"380852\":\n    \"Insecticides and the like; containing goods specified in Subheading Note 1 to this Chapter; for retail sale or as preparations or articles; DDT (ISO) (clofenotane (INN)), in packings of 300g or less\",\n  \"380859\":\n    \"Insecticides, rodenticides, fungicides, disinfectants, herbicides and the like; containing goods specified in Subheading Note 1 to this Chapter; not DDT (ISO) (clofenotane (INN)), put up in forms or packings for retail sale or as preparations or articles\",\n  \"380861\":\n    \"Insecticides and the like; containing goods specified in Subheading Note 2 to this Chapter; in packings of a net weight content not exceeding 300g; for retail sale or as preparations or articles\",\n  \"380862\":\n    \"Insecticides; containing goods specified in Subheading Note 2 to this Chapter; put up in forms or packings for retail sale or as preparations or articles, in packings of a net weight content exceeding 300g but not exceeding 7.5kg\",\n  \"380869\":\n    \"Insecticides; containing goods named in Subheading Note 2 to this Chapter, put up in forms or packings for retail sale or as preparations or articles, in packings of a net weight content exceeding 7.5kg\",\n  \"380890\":\n    \"Rodenticides and similar products; n.e.s. in heading no. 3808, in forms, packings or articles for retail sale\",\n  \"380891\":\n    \"Insecticides; other than containing goods specified in Subheading Notes 1 & 2 to this Chapter; put up in forms or packings for retail sale or as preparations or articles\",\n  \"380892\":\n    \"Fungicides; other than containing goods specified in Subheading Note 1 to this Chapter; put up in forms or packings for retail sale or as preparations or articles\",\n  \"380893\":\n    \"Herbicides, anti-sprouting products and plant-growth regulators; other than containing goods of Subheading Note 1 to this Chapter; put up in forms or packings for retail sale or as preparations or articles\",\n  \"380894\":\n    \"Disinfectants; other than containing goods specified in Subheading Note 1 in this Chapter; put up in forms or packings for retail sale or as preparations or articles\",\n  \"380899\":\n    \"Rodenticides and other similar products n.e.c. in heading no. 3808.9; other than containing goods specified in Subheading Note 1 in this Chapter, put up in forms or packings for retail sale or as preparations or articles\",\n  \"380910\":\n    \"Finishing agents and dye carriers; to accelerate dyeing or fixing of dye-stuffs, other products and preparations, used in textile, paper, leather etc industries, with basis of amylaceous substances, n.e.c.\",\n  \"380991\":\n    \"Finishing agents and dye carriers; to accelerate dyeing or fixing of dye-stuffs, other products and preparations, used in the textile industry (excluding those with a basis of amylaceous substances)\",\n  \"380992\":\n    \"Finishing agents and dye carriers; to accelerate dyeing or fixing of dye-stuffs, other products and preparations, used in the paper industry (excluding those with a basis of amylaceous substances)\",\n  \"380993\":\n    \"Finishing agents and dye carriers; to accelerate dyeing or fixing of dye-stuffs, other products and preparations, used in the leather or like (excluding paper and textile) industries, (excluding those with a basis of amylaceous substances)\",\n  \"380999\":\n    \"Finishing agents and dye carriers; to accelerate dyeing or fixing of dye-stuffs and other products and preparations, used in the leather or like (excluding textile or paper) industries, n.e.s. in item 3809.9\",\n  \"381010\":\n    \"Pickling preparations for metal surfaces; soldering, brazing or welding powders and pastes consisting of metal and other materials\",\n  \"381090\":\n    \"Fluxes and other auxiliary preparations; for soldering, brazing or welding, or preparations used as cores or coatings for welding electrodes or rods\",\n  \"381111\": \"Anti-knock preparations; based on lead compounds\",\n  \"381119\": \"Anti-knock preparations; other than those based on lead compounds\",\n  \"381121\":\n    \"Lubricating oil additives; containing petroleum oils or oils obtained from bituminous minerals\",\n  \"381129\":\n    \"Lubricating oil additives; not containing petroleum oils or oils obtained from bituminous minerals\",\n  \"381190\":\n    \"Oxidation and gum inhibitors, viscosity improvers, anti-corrosive preparations, other prepared additives for mineral oils or liquids used as mineral oils (including gasoline), n.e.c. in heading no. 3811\",\n  \"381210\": \"Rubber accelerators; prepared\",\n  \"381220\": \"Plasticisers, compound; for rubber or plastics\",\n  \"381230\":\n    \"Anti-oxidising preparations and other compound stabilisers; for rubber or plastics, n.e.c. or included\",\n  \"381231\":\n    \"Anti-oxidising preparations and other compound stabilisers; for rubber or plastics, mixtures of oligomers of 2,2,4-trimethyl-1,2-dihydroquinoline (TMQ)\",\n  \"381239\":\n    \"Anti-oxidising preparations and other compound stabilisers; for rubber or plastics, other than mixtures of oligomers of 2,2,4-trimethyl-1,2-dihydroquinoline (TMQ)\",\n  \"381300\":\n    \"Fire-extinguishers; preparations and charges and charged fire-extinguishing grenades\",\n  \"381400\":\n    \"Solvents and thinners; organic composite solvents and thinners, n.e.c. or included, prepared paint or varnish removers\",\n  \"381511\":\n    \"Catalysts, supported; reaction initiators, reaction accelerators and catalytic preparations, with nickel or nickel compounds as the active substance, n.e.c. or included\",\n  \"381512\":\n    \"Catalysts, supported; reaction initiators, reaction accelerators and catalytic preparations, with precious metal or precious metal compounds as the active substance, n.e.c. or included\",\n  \"381519\":\n    \"Catalysts, supported; reaction initiators, reaction accelerators and catalytic preparations, with an active substance other than nickel or precious metals or their compounds, n.e.c. or included\",\n  \"381590\":\n    \"Reaction initiators, reaction accelerators and catalytic preparations, unsupported, n.e.c. or included\",\n  \"381600\":\n    \"Refractory cements, mortars, concretes and similar compositions; other than products of heading no. 3801\",\n  \"381700\":\n    \"Mixed alkylbenzenes and mixed alkylnaphthalenes, other than those of heading no. 2707 or 2902\",\n  \"381710\":\n    \"Alkylbenzenes; mixed, other than those of heading no. 2707 or 2902\",\n  \"381720\":\n    \"Alkylnaphthalenes; mixed, other than those of heading no. 2707 or 2902\",\n  \"381800\": \"Chemical compounds doped for use in electronics\",\n  \"381900\":\n    \"Hydraulic fluids; for brakes and other prepared liquids for hydraulic transmission, not containing or containing less than 70% by weight of petroleum oils or oils obtained from bituminous minerals\",\n  \"382000\": \"Anti-freezing preparations and prepared de-icing fluids\",\n  \"382100\":\n    \"Prepared culture media for the development or maintenance of micro-organisms (including viruses and the like) or of plant, human or animal cells\",\n  \"382200\":\n    \"Other composite diagnostic or laboratory reagents (exclusionary category)\",\n  \"382211\":\n    \"Reagents; diagnostic or laboratory reagents on a backing, prepared diagnostic or laboratory reagents whether or not on a backing, whether or not put up in the form of kits; for malaria\",\n  \"382212\":\n    \"Reagents; diagnostic or laboratory reagents on a backing, prepared diagnostic or laboratory reagents whether or not on a backing, whether or not put up in the form of kits; for zika and other diseases transmitted by mosquitoes of the genus Aedes\",\n  \"382213\":\n    \"Reagents; diagnostic or laboratory reagents on a backing, prepared diagnostic or laboratory reagents whether or not on a backing, whether or not put up in the form of kits; for blood grouping\",\n  \"382219\":\n    \"Reagents; diagnostic or laboratory reagents on a backing, prepared diagnostic or laboratory reagents whether or not on a backing, whether or not put up in the form of kits; n.e.c.in item 3822.1\",\n  \"382290\":\n    \"Reagents; diagnostic or laboratory reagents on a backing, prepared diagnostic or laboratory reagents whether or not on a backing, or put up in the form of kits, other than those of heading 30.06; certified reference materials, n.e.c. in heading 3822\",\n  \"382310\": \"Binders, prepared; for foundry moulds or cores\",\n  \"382311\":\n    \"Industrial monocarboxylic fatty acids, acid oils from refining; stearic acid\",\n  \"382312\":\n    \"Industrial monocarboxylic fatty acids, acid oils from refining; oleic acid\",\n  \"382313\":\n    \"Industrial monocarboxylic fatty acids, acid oils from refining; tall oil fatty acids\",\n  \"382319\":\n    \"Industrial monocarboxylic fatty acids; acid oils from refining; (other than stearic acid, oleic acid or tall oil fatty acids)\",\n  \"382320\":\n    \"Acids; naphthenic acids, their water-insoluble salts and their esters\",\n  \"382330\":\n    \"Metal carbides; non-agglomerated, mixed together or with metallic binders\",\n  \"382340\": \"Cements, mortars or concretes; their prepared additives\",\n  \"382350\": \"Mortars and concretes; non-refractory\",\n  \"382360\": \"Sorbitol; other than that of item no. 2905.44\",\n  \"382370\": \"Industrial fatty alcohols\",\n  \"382390\":\n    \"Chemical products, preparations and residual products of chemical or allied industries n.e.s. or included in heading no. 3823\",\n  \"382410\": \"Binders, prepared; for foundry moulds or cores\",\n  \"382420\":\n    \"Acids; naphthenic acids, their water-insoluble salts and their esters\",\n  \"382430\":\n    \"Metal carbides, non-agglomerated; mixed together or with metallic binders\",\n  \"382440\": \"Cements, mortars or concretes; their prepared additives\",\n  \"382450\": \"Mortars and concretes; non-refractory\",\n  \"382460\": \"Sorbitol; other than that of subheading no. 2905.44\",\n  \"382471\":\n    \"Mixtures containing halogenated derivatives of methane, ethane or propane; containing chlorofluorocarbons (CFCs), whether or not containing hydrochlorofluorocarbons (HCFCs), perfluorocarbons (PFCs) or hydrofluorocarbons (HFCs)\",\n  \"382472\":\n    \"Mixtures containing halogenated derivatives of methane, ethane or propane; containing bromochlorodifluoromethane, bromotrifluoromethane or dibromotetrafluoroethanes\",\n  \"382473\":\n    \"Mixtures containing halogenated derivatives of methane, ethane or propane; containing hydrobromofluorocarbons (HBFCs)\",\n  \"382474\":\n    \"Mixtures containing halogenated derivatives of methane, ethane or propane; containing hydrochlorofluorocarbons (HCFCs), whether or not containing perfluorocarbons (PFCs) or hydrofluorocarbons (HFCs), but not containing chlorofluorocarbons (CFCs)\",\n  \"382475\":\n    \"Mixtures containing halogenated derivatives of methane, ethane or propane; containing carbon tetrachloride\",\n  \"382476\":\n    \"Mixtures containing halogenated derivatives of methane, ethane or propane; containing 1,1,1-trichloroethane (methyl chloroform)\",\n  \"382477\":\n    \"Mixtures containing halogenated derivatives of methane, ethane or propane; containing bromomethane (methyl bromide) or bromochloromethane\",\n  \"382478\":\n    \"Mixtures containing halogenated derivatives of methane, ethane or propane; containing perfluorocarbons (PFCs) or hydrofluorocarbons (HFCs), but not containing chlorofluorocarbons (CFCs) or hydrochlorofluorocarbons (HCFCs)\",\n  \"382479\":\n    \"Mixtures containing halogenated derivatives of methane, ethane or propane; n.e.c. in item no. 3827.7\",\n  \"382481\":\n    \"Chemical products, mixtures and preparations; containing goods specified in Subheading Note 3 to this Chapter; containing oxirane (ethylene oxide)\",\n  \"382482\":\n    \"Chemical products, mixtures and preparations; containing goods specified in Subheading Note 3 to this Chapter; containing polychlorinated biphenyls (PCBs), polychlorinated terphenyls (PCTs) or polybrominated biphenyls (PBBs)\",\n  \"382483\":\n    \"Chemical products, mixtures and preparations; containing goods specified in Subheading Note 3 to this Chapter; containing tris(2,3-dibromopropyl) phosphate\",\n  \"382484\":\n    \"Chemical products, mixtures and preparations; containing aldrin, camphechlor (toxaphene), chlordane, chlordecone, DDT (chlorfenotane, 1,1,1-trichloro-2,2-bis(p-chlorophenyl)ethane), dieldrin, endosulfan, endrin, heptachlor or mirex\",\n  \"382485\":\n    \"Chemical products, mixtures and preparations; containing goods specified in Subheading Note 3 to this Chapter; containing 1,2,3,4,5,6-hexachlorocyclohexane (HCH (ISO)), including lindane (ISO, INN)\",\n  \"382486\":\n    \"Chemical products, mixtures and preparations; containing goods specified in Subheading Note 3 to this Chapter; containing pentachlorobenzene (ISO), or hexachlorobenzene (ISO)\",\n  \"382487\":\n    \"Chemical products, mixtures and preparations; containing goods specified in Subheading Note 3 to this Chapter; containing perfluorooctane sulphonic acid, its salts, perfluorooctane sulphonamides, or perfluorooctane sulphonyl fluoride\",\n  \"382488\":\n    \"Chemical products, mixtures and preparations; containing goods specified in Subheading Note 3 to this Chapter; containing tetra-, penta-, hexa-, hepta- or octabromodiphenyl ethers\",\n  \"382489\":\n    \"Chemical products, mixtures and preparations; containing goods specified in Subheading Note 3 to this Chapter; containing short-chain chlorinated paraffins\",\n  \"382490\":\n    \"Chemical products, preparations and residual products of the chemical or allied industries, n.e.c. or included in heading no. 3824\",\n  \"382491\":\n    \"Chemical products, mixtures and preparations; consisting mainly of (5-ethyl-2-methyl-2-oxido-1,3,2-dioxaphosphinan-5-yl)methyl methylphosphonate and bis[(5-ethyl-2-methyl-2-oxido-1,3,2-dioxaphosphinan-5-yl)methyl] methylphosphonate\",\n  \"382492\":\n    \"Chemical products, mixtures and preparations; polyglycol esters of methylphosphonic acid\",\n  \"382499\":\n    \"Other chemical products, mixtures and preparations (exclusionary category)\",\n  \"382510\":\n    \"Residual products of the chemical or allied industries, not elsewhere specified or included; municipal waste\",\n  \"382520\":\n    \"Residual products of the chemical or allied industries, not elsewhere specified or included; sewage sludge\",\n  \"382530\":\n    \"Residual products of the chemical or allied industries, not elsewhere specified or included; clinical waste\",\n  \"382541\":\n    \"Residual products of the chemical or allied industries, not elsewhere specified or included; halogenated waste organic solvents\",\n  \"382549\":\n    \"Residual products of the chemical or allied industries, not elsewhere specified or included; waste organic solvents, other than halogenated\",\n  \"382550\":\n    \"Residual products of chemical or allied industries, not elsewhere specified or included; wastes of metal pickling liquors, hydraulic fluids, brake fluids and anti-freeze fluids\",\n  \"382561\":\n    \"Residual products of the chemical or allied industries, not elsewhere specified or included; (other than sewage sludge, municipal waste or waste covered in 27.10); other wastes n.e.c. in 3825; those mainly containing organic constituents\",\n  \"382569\":\n    \"Residual products of the chemical or allied industries, not elsewhere specified or included; (other than sewage sludge, municipal waste or waste covered by 27.10); other wastes n.e.c. in 3825; except those mainly containing organic constituents\",\n  \"382590\":\n    \"Residual products of the chemical or allied industries, not elsewhere specified or included; n.e.c. in 3825 or 27.10\",\n  \"382600\": \"Biodiesel; incl. Mixtures\",\n  \"382711\":\n    \"Mixtures containing halogenated derivatives of methane, ethane or propane, not elsewhere specified or included; containing chlorofluorocarbons (CFCs), whether or not containing hydrochlorofluorocarbons (HCFCs), perfluorocarbons (PFCs) or hydrofluorocarbon\",\n  \"382712\":\n    \"Mixtures containing halogenated derivatives of methane, ethane or propane, not elsewhere specified or included; containing hydrobromofluorocarbons (HBFCs)\",\n  \"382713\":\n    \"Mixtures containing halogenated derivatives of methane, ethane or propane, not elsewhere specified or included; containing carbon tetrachloride\",\n  \"382714\":\n    \"Mixtures containing halogenated derivatives of methane, ethane or propane, not elsewhere specified or included; containing 1,1,1-trichloroethane (methyl chloroform)\",\n  \"382720\":\n    \"Mixtures containing halogenated derivatives of methane, ethane or propane, not elsewhere specified or included; containing bromochlorodifluoromethane (Halon-1211), bromotrifluoromethane (Halon-1301) or dibromotetrafluoroethanes (Halon-2402)\",\n  \"382731\":\n    \"Mixtures containing halogenated derivatives of methane, ethane or propane; containing hydrochlorofluorocarbons (HCFCs), perfluorocarbons (PFCs) or hydrofluorocarbons (HFCs) or not, but not containing chlorofluorocarbons (CFCs); containing substances of su\",\n  \"382732\":\n    \"Mixtures containing halogenated methane, ethane, propane; containing hydrochlorofluorocarbons (HCFCs), perfluorocarbons (PFCs) or hydrofluorocarbons (HFCs) or not, not chlorofluorocarbons (CFCs); containing substances of subheadings 2903.71 to 2903.75\",\n  \"382739\":\n    \"Mixtures containing halogenated methane, ethane, or propane; containing hydrochlorofluorocarbons (HCFCs), perfluorocarbons (PFCs) or hydrofluorocarbons (HFCs) or not, but not chlorofluorocarbons (CFCs); n.e.c. in subheading 3827.3\",\n  \"382740\":\n    \"Mixtures containing halogenated derivatives of methane, ethane or propane; containing hydrochlorofluorocarbons (HCFCs), perfluorocarbons (PFCs) or hydrofluorocarbons (HFCs) or not, but not containing chlorofluorocarbons (CFCs); containing bromomethane\",\n  \"382751\":\n    \"Mixtures containing halogenated derivatives of methane, ethane or propane; containing trifluoromethan (HFC-23) or perfluorocarbons (PFCs) but not containing chlorofluorocarbons (CFCs) or hydrochlorofluorocarbons (HCFCs); containing trifluoromethane (HFC-2\",\n  \"382759\":\n    \"Mixtures containing halogenated derivatives of methane, ethane or propane; containing trifluoromethan (HFC-23) or perfluorocarbons (PFCs) not containing chlorofluorocarbons (CFCs) or hydrochlorofluorocarbons (HCFCs); other mixtures n.e.c. in subheading 38\",\n  \"382761\":\n    \"Mixtures containing halogenated derivatives of methane, ethane or propane; containing other hydrofluorocarbons (HFCs) but not containing chlorofluorocarbons (CFCs) or hydrochlorofluorocarbons (HCFCs); containing 15% or more by mass of 1,1,1-trifluoroethan\",\n  \"382762\":\n    \"Mixtures containing halogenated derivatives of methane, ethane or propane; containing other hydrofluorocarbons (HFCs) but not containing chlorofluorocarbons (CFCs) or hydrochlorofluorocarbons (HCFCs); other mixtures, not included in the subheading above,\",\n  \"382763\":\n    \"Mixtures containing halogenated derivatives of methane, ethane or propane; containing other hydrofluorocarbons (HFCs) but not containing chlorofluorocarbons (CFCs) or hydrochlorofluorocarbons (HCFCs); other mixtures not included in the subheadings above,\",\n  \"382764\":\n    \"Mixtures containing halogenated derivatives of methane, ethane or propane; containing other hydrofluorocarbons (HFCs) but not containing chlorofluorocarbons (CFCs) or hydrochlorofluorocarbons (HCFCs); other mixtures, not included in the subheadings above,\",\n  \"382765\":\n    \"Mixtures containing halogenated derivatives of methane, ethane or propane; containing other hydrofluorocarbons (HFCs) but not containing chlorofluorocarbons (CFCs) or hydrochlorofluorocarbons (HCFCs); other mixtures, not included in the subheadings above,\",\n  \"382768\":\n    \"Mixtures containing halogenated derivatives of methane, ethane or propane; containing other hydrofluorocarbons (HFCs) but not containing chlorofluorocarbons (CFCs) or hydrochlorofluorocarbons (HCFCs); other mixtures, not included in the subheadings above,\",\n  \"382769\":\n    \"Mixtures containing halogenated derivatives of methane, ethane or propane; containing other hydrofluorocarbons (HFCs) but not containing chlorofluorocarbons (CFCs) or hydrochlorofluorocarbons (HCFCs); n.e.c. in items no. 3827.5 and 3827.6, not containing\",\n  \"382790\":\n    \"Mixtures containing halogenated derivatives of methane, ethane or propane; n.e.c. in subheading no 3827\",\n  \"390110\": \"Polyethylene; specific gravity < 0.94\",\n  \"390120\": \"Polyethylene; specific gravity > 0.94\",\n  \"390130\":\n    \"Ethylene polymers; in primary forms, ethylene-vinyl acetate copolymers\",\n  \"390140\": \"Ethylene-alpha-olefin copolymers; specific gravity <0.94\",\n  \"390190\": \"Ethylene polymers; in primary forms, n.e.c. in heading no. 3901\",\n  \"390210\": \"Polypropylene\",\n  \"390220\":\n    \"Propylene, other olefin polymers; polyisobutylene in primary forms\",\n  \"390230\": \"Propylene copolymers\",\n  \"390290\":\n    \"Propylene, other olefin polymers; n.e.c. in heading no. 3902, in primary forms\",\n  \"390311\": \"Styrene polymers; expansible polystyrene, in primary forms\",\n  \"390319\":\n    \"Styrene polymers; (other than expansible polystyrene), in primary forms\",\n  \"390320\":\n    \"Styrene polymers; styrene-acrylonitrile (SAN) copolymers, in primary forms\",\n  \"390330\":\n    \"Styrene polymers; acrylonitrile-butadiene-styrene (ABS) copolymers, in primary forms\",\n  \"390390\": \"Styrene polymers; in primary forms, n.e.c. in heading no. 3903\",\n  \"390410\": \"PVC (Polyvinyl chloride)\",\n  \"390421\":\n    \"Vinyl chloride, other halogenated olefin polymers; non-plasticised poly(vinyl chloride), in primary forms, mixed with other substances\",\n  \"390422\":\n    \"Vinyl chloride, other halogenated olefin polymers; plasticised poly(vinyl chloride), in primary forms, mixed with other substances\",\n  \"390430\":\n    \"Vinyl chloride, other halogenated olefin polymers; vinyl chloride-vinyl acetate copolymers, in primary forms\",\n  \"390440\":\n    \"Vinyl chloride, other halogenated olefin polymers; vinyl chloride copolymers, in primary forms n.e.c. in heading no. 3904\",\n  \"390450\":\n    \"Vinyl chloride, other halogenated olefin polymers; vinylidene chloride polymers, in primary forms\",\n  \"390461\":\n    \"Halogenated olefin polymers; fluoro-polymers, polytetrafluoroethylene, in primary forms\",\n  \"390469\":\n    \"Halogenated olefin polymers; fluoro-polymers (other than polytetrafluoroethylene), in primary forms\",\n  \"390490\":\n    \"Vinyl chloride, other halogenated olefin polymers; n.e.c. in heading no. 3904\",\n  \"390511\": \"Vinyl acetate polymers; in aqueous dispersion, in primary forms\",\n  \"390512\": \"Poly(vinyl acetate); in aqueous dispersion, in primary forms\",\n  \"390519\":\n    \"Poly(vinyl acetate); (other than in aqueous dispersion), in primary forms\",\n  \"390520\":\n    \"Polyvinyl alcohol; whether or not containing unhydrolysed acetate groups\",\n  \"390521\": \"Vinyl acetate copolymers; in aqueous dispersion, in primary forms\",\n  \"390529\":\n    \"Vinyl acetate copolymers; (other than in aqueous dispersion), in primary forms\",\n  \"390530\":\n    \"Poly(vinyl alcohol); whether or not containing unhydrolysed acetate groups\",\n  \"390590\":\n    \"Vinyl acetate, vinyl ester polymers, vinyl polymers; n.e.s. in heading no. 3905, in primary forms\",\n  \"390591\":\n    \"Vinyl acetate, vinyl ester polymers, vinyl polymers; n.e.c. in heading no. 3905, in primary forms, copolymers\",\n  \"390599\":\n    \"Vinyl acetate, vinyl ester polymers, vinyl polymers; n.e.c. in heading no. 3905, in primary forms, other than copolymers\",\n  \"390610\": \"Acrylic polymers; poly(methyl methacrylate), in primary forms\",\n  \"390690\": \"Acrylic polymers; excl. polymethyl methacrylate\",\n  \"390710\": \"Polyacetals; in primary forms\",\n  \"390720\": \"Polyethers\",\n  \"390721\":\n    \"Polyethers other than polyacetals; in primary forms, bis(polyoxyethylene) methylphosphonate\",\n  \"390729\":\n    \"Polyethers other than polyacetals, and bis(polyoxyethylene) methylphosphonate; in primary forms\",\n  \"390730\": \"Epoxide resins; in primary forms\",\n  \"390740\": \"Polycarbonates\",\n  \"390750\": \"Alkyd resins; in primary forms\",\n  \"390760\": \"Poly(ethylene terephthalate); in primary forms\",\n  \"390761\":\n    \"Poly(ethylene terephthalate); in primary forms, having a viscosity of 78ml/g or higher\",\n  \"390769\":\n    \"Poly(ethylene terephthalate); in primary forms, having a viscosity of less than 78ml/g\",\n  \"390770\": \"Poly(lactic acid); in primary forms\",\n  \"390791\":\n    \"Polyesters; n.e.c. in heading no. 3907, unsaturated, in primary forms\",\n  \"390799\":\n    \"Polyesters; n.e.c. in heading no. 3907, saturated, in primary forms\",\n  \"390810\":\n    \"Polyamides; polyamide-6, -11, -12, -6,6, -6,9, -6,10 or -6,12, in primary forms\",\n  \"390890\": \"Polyamides; n.e.c. in heading no. 3908, in primary forms\",\n  \"390910\": \"Amino-resins; urea and thiourea resins, in primary forms\",\n  \"390920\": \"Amino-resins; melamine resins, in primary forms\",\n  \"390930\": \"Amino-resins; n.e.c. in heading no. 3909, in primary forms\",\n  \"390931\":\n    \"Amino-resins; n.e.c. in heading no. 3909, in primary forms, poly(methylene phenyl isocyanate) (Crude MDI, polymeric MDI)\",\n  \"390939\":\n    \"Amino-resins; n.e.c. in heading no. 3909, in primary forms, other than poly(methylene phenyl isocyanate) (Crude MDI, polymeric MDI)\",\n  \"390940\": \"Phenolic resins; in primary forms\",\n  \"390950\": \"Polyurethanes; in primary forms\",\n  \"391000\": \"Silicones; in primary forms\",\n  \"391110\":\n    \"Petroleum resins, coumarone, indene or coumarone-indene resins and polyterpenes; in primary forms\",\n  \"391120\":\n    \"Petroleum resins, poly(1,3-phenylene methylphosphonate), in primary forms\",\n  \"391190\":\n    \"Polysulphides, polysulphones and similar products of chemical synthesis n.e.c. in chapter 39; in primary forms\",\n  \"391211\": \"Cellulose acetates; non-plasticised, in primary forms\",\n  \"391212\": \"Cellulose acetates; plasticised, in primary forms\",\n  \"391220\": \"Cellulose nitrates (including collodions); in primary forms\",\n  \"391231\":\n    \"Cellulose ethers; carboxymethylcellulose and its salts, in primary forms\",\n  \"391239\":\n    \"Cellulose ethers; (other than carboxymethylcellulose and its salts), in primary forms\",\n  \"391290\":\n    \"Cellulose and its chemical derivatives; n.e.c. in item no. 3912, in primary forms\",\n  \"391310\":\n    \"Polymers, natural; alginic acid, its salts and esters, in primary forms\",\n  \"391390\":\n    \"Polymers, natural and modified natural; in primary forms (excluding alginic acid, its salts and esters)\",\n  \"391400\":\n    \"Ion-exchangers; based on polymers of heading no. 3901 to 3913, in primary forms\",\n  \"391510\": \"Ethylene polymers; waste, parings and scrap\",\n  \"391520\": \"Styrene polymers; waste, parings and scrap\",\n  \"391530\": \"Vinyl chloride polymers; waste, parings and scrap\",\n  \"391590\": \"Plastics n.e.c. in heading no. 3915; waste, parings and scrap\",\n  \"391610\":\n    \"Ethylene polymers; monofilament, of which any cross-sectional dimension exceeds 1mm, rods, sticks and profile shapes, whether or not surface-worked but not otherwise worked\",\n  \"391620\":\n    \"Vinyl chloride polymers; monofilament, of which any cross-sectional dimension exceeds 1mm, rods, sticks and profile shapes, whether or not surface-worked but not otherwise worked\",\n  \"391690\":\n    \"Plastics; monofilament, of plastics n.e.c. in heading no. 3916, cross-sectional dimension exceeds 1mm, rods, sticks and profile shapes, whether or not surface-worked but not otherwise worked\",\n  \"391710\":\n    \"Plastics; artificial guts (sausage casings) of hardened protein or of cellulosic materials\",\n  \"391721\":\n    \"Plastics; tubes, pipes and hoses thereof, rigid, of polymers of ethylene\",\n  \"391722\":\n    \"Plastics; tubes, pipes and hoses thereof, rigid, of polymers of propylene\",\n  \"391723\":\n    \"Plastics; tubes, pipes and hoses thereof, rigid, of polymers of vinyl chloride\",\n  \"391729\":\n    \"Plastics; tubes, pipes and hoses thereof, rigid, of plastics n.e.c. in heading no. 3917\",\n  \"391731\":\n    \"Plastics; tubes, pipes and hoses thereof, flexible, having a minimum burst pressure of 27.6MPa\",\n  \"391732\":\n    \"Plastics; tubes, pipes and hoses thereof, other than those of item no. 3917.31, not reinforced or otherwise combined with other materials, without fittings\",\n  \"391733\":\n    \"Plastics; tubes, pipes and hoses thereof, other than those of item no. 3917.31, not reinforced or otherwise combined with other materials, with fittings\",\n  \"391739\":\n    \"Plastics; tubes, pipes and hoses thereof, n.e.c. in item no. 3917.30\",\n  \"391740\":\n    \"Plastics; tube, pipe and hose fittings (e.g. joints, elbows, flanges)\",\n  \"391810\":\n    \"Floor, wall or ceiling coverings; of polymers of vinyl chloride, whether or not self-adhesive, in rolls or in the form of tiles\",\n  \"391890\":\n    \"Floor, wall or ceiling coverings; of plastics (excluding polymers of vinyl chloride), whether or not self-adhesive, in rolls or in the form of tiles\",\n  \"391910\":\n    \"Plastics; plates, sheets, film, foil, tape, strip, other flat shapes thereof, self-adhesive, in rolls of a width not exceeding 20cm\",\n  \"391990\":\n    \"Plastics; plates, sheets, film, foil, tape, strip, other flat shapes thereof, self-adhesive, other than in rolls of a width not exceeding 20cm\",\n  \"392010\":\n    \"Plastics; plates, sheets, film, foil and strip (not self-adhesive), of polymers of ethylene, non-cellular and not reinforced, laminated, supported or similarly combined with other materials\",\n  \"392020\":\n    \"Plastics; of polymers of propylene, plates, sheets, film, foil and strip (not self-adhesive), non-cellular and not reinforced, laminated, supported or similarly combined with other materials\",\n  \"392030\":\n    \"Plastics; of polymers of styrene, plates, sheets, film, foil and strip (not self-adhesive), non-cellular and not reinforced, laminated, supported or similarly combined with other materials\",\n  \"392041\":\n    \"Plastics; rigid, of polymers of vinyl chloride, plates, sheets, film, foil and strip, non-cellular and not reinforced, laminated, supported or similarly combined with other materials\",\n  \"392042\":\n    \"Plastics; flexible, of polymers of vinyl chloride, plates, sheets, film, foil and strip, non-cellular and not reinforced, laminated, supported or similarly combined with other materials\",\n  \"392043\":\n    \"Plastics; polymers of vinyl chloride, containing by weight not less than 6% of plasticisers; plates, sheets, film, foil and strip (not self-adhesive), non-cellular and not reinforced, laminated, supported or similarly combined with other materials\",\n  \"392049\":\n    \"Plastics; polymers of vinyl chloride, containing by weight, less than 6% of plasticisers; plates, sheets, film, foil and strip (not self-adhesive), non-cellular and not reinforced, laminated, supported or similarly combined with other materials\",\n  \"392051\":\n    \"Plastics; of acrylic polymers, polymethyl methacrylate, plates, sheets, film, foil and strip (not self-adhesive), non-cellular and not reinforced, laminated, supported or similarly combined with other materials\",\n  \"392059\":\n    \"Plastics; of acrylic polymers (excluding polymethyl methacrylate), plates, sheets, film, foil and strip (not self-adhesive), non-cellular and not reinforced, laminated, supported or similarly combined with other materials\",\n  \"392061\":\n    \"Plastics; plates, sheets, film, foil and strip (not self-adhesive), of polycarbonates, non-cellular and not reinforced, laminated, supported or similarly combined with other materials\",\n  \"392062\":\n    \"Plastics; plates, sheets, film, foil and strip (not self-adhesive), of poly(ethylene terephthalate), non-cellular and not reinforced, laminated, supported or similarly combined with other materials\",\n  \"392063\":\n    \"Plastics; plates, sheets, film, foil and strip (not self-adhesive), of unsaturated polyesters, non-cellular and not reinforced, laminated, supported or similarly combined with other materials\",\n  \"392069\":\n    \"Plastics; plates, sheets, film, foil and strip (not self-adhesive), of polyesters n.e.c. in heading no. 3920, non-cellular and not reinforced, laminated, supported or similarly combined with other materials\",\n  \"392071\":\n    \"Plastics; plates, sheets, film, foil and strip (not self-adhesive), of regenerated cellulose; non-cellular and not reinforced, laminated, supported or similarly combined with other materials\",\n  \"392072\":\n    \"Plastics; plates, sheets, film, foil and strip, of vulcanised fibre, non-cellular and not reinforced, laminated, supported or similarly combined with other materials\",\n  \"392073\":\n    \"Plastics; plates, sheets, film, foil and strip (not self-adhesive), of cellulose acetate, non-cellular and not reinforced, laminated, supported or similarly combined with other materials\",\n  \"392079\":\n    \"Plastics; plates, sheets, film, foil and strip (not self-adhesive), of cellulose derivatives n.e.c. in heading no. 3920, non-cellular and not reinforced, laminated, supported or similarly combined with other materials\",\n  \"392091\":\n    \"Plastics; plates, sheets, film, foil and strip (not self-adhesive), of poly(vinyl butyral), non-cellular and not reinforced, laminated, supported or similarly combined with other materials\",\n  \"392092\":\n    \"Plastics; plates, sheets, film, foil and strip (not self-adhesive), of polyamides, non-cellular and not reinforced, laminated, supported or similarly combined with other materials\",\n  \"392093\":\n    \"Plastics; plates, sheets, film, foil and strip (not self-adhesive), of amino-resins, non-cellular and not reinforced, laminated, supported or similarly combined with other materials\",\n  \"392094\":\n    \"Plastics; plates, sheets, film, foil and strip (not self-adhesive), of phenolic resins, non-cellular and not reinforced, laminated, supported or similarly combined with other materials\",\n  \"392099\":\n    \"Plastics; plates, sheets, film, foil and strip (not self-adhesive), of plastics n.e.c. in heading no. 3920, non-cellular and not reinforced, laminated, supported or similarly combined with other materials\",\n  \"392111\":\n    \"Plastics; plates, sheets, film, foil and strip, of polymers of styrene, cellular\",\n  \"392112\":\n    \"Plastics; plates, sheets, film, foil and strip, of polymers of vinyl chloride, cellular\",\n  \"392113\":\n    \"Plastics; plates, sheets, film, foil and strip, of polyurethanes, cellular\",\n  \"392114\":\n    \"Plastics; plates, sheets, film, foil and strip, of regenerated cellulose, cellular\",\n  \"392119\":\n    \"Plastics; plates, sheets, film, foil and strip, of plastics n.e.c. in heading no. 3921, cellular\",\n  \"392190\": \"Plastic plates, sheets, film, foil, and strip; non-cellular\",\n  \"392210\": \"Plastics; baths, shower-baths, sinks and wash-basins\",\n  \"392220\": \"Plastics; lavatory seats and covers\",\n  \"392290\":\n    \"Plastics; bidets, lavatory pans, flushing cisterns and similar sanitary ware n.e.c. in heading no. 3922\",\n  \"392310\": \"Plastic boxes, cases, and crates\",\n  \"392321\": \"Plastic sacks, bags, and cones; of ethylene polymers\",\n  \"392329\":\n    \"Plastics; sacks and bags (including cones), for the conveyance or packing of goods, of plastics other than ethylene polymers\",\n  \"392330\": \"Plastic bottles and flasks\",\n  \"392340\":\n    \"Plastics; spools, cops, bobbins and similar supports, for the conveyance or packing of goods\",\n  \"392350\": \"Plastic stoppers, lids, caps, and other closures\",\n  \"392390\":\n    \"Plastics; articles for the conveyance or packing of goods n.e.c. in heading no. 3923\",\n  \"392410\": \"Plastic tableware and kitchenware\",\n  \"392490\": \"Plastic household and hygienic articles \",\n  \"392510\":\n    \"Plastics; builders' ware, reservoirs, tanks, vats and similar containers of a capacity exceeding 300 litres\",\n  \"392520\":\n    \"Plastics; builders' ware, doors, windows and their frames and thresholds for doors\",\n  \"392530\":\n    \"Plastics; builders' ware, shutters, blinds (including venetian blinds) and similar articles and parts thereof\",\n  \"392590\": \"Plastics; builders' ware, n.e.c. or included in heading no. 3925\",\n  \"392610\": \"Plastics; office or school supplies\",\n  \"392620\": \"Plastic apparel and clothing accessories\",\n  \"392630\": \"Plastics; fittings for furniture, coachwork or the like\",\n  \"392640\": \"Plastics; statuettes and other ornamental articles\",\n  \"392690\": \"Other plastic articles (exclusionary category)\",\n  \"400110\":\n    \"Rubber; natural rubber latex, whether or not pre-vulcanised, in primary forms or in plates, sheets or strip\",\n  \"400121\": \"Natural rubber; in smoked sheets\",\n  \"400122\": \"Technically specified natural rubber (TSNR)\",\n  \"400129\":\n    \"Rubber; natural (excluding latex, technically specified natural rubber and smoked sheets), in primary forms or in plates, sheets or strip\",\n  \"400130\":\n    \"Balata, gutta-percha, guayule, chicle and similar natural gums; in primary forms or in plates, sheets or strip\",\n  \"400211\":\n    \"Rubber; synthetic, styrene-butadiene rubber (SBR) and carboxylated styrene-butadiene rubber (XSBR) latex, in primary forms or in plates, sheets or strip\",\n  \"400219\":\n    \"Rubber; synthetic, styrene-butadiene rubber (SBR) and carboxylated styrene-butadiene rubber (XSBR), (other than latex), in primary forms or in plates, sheets or strip\",\n  \"400220\":\n    \"Rubber; synthetic, butadiene rubber (BR), in primary forms or in plates, sheets or strip\",\n  \"400231\":\n    \"Rubber; synthetic, isobutene-isoprene (butyl) rubber (IIR), in primary forms or in plates, sheets or strip\",\n  \"400239\":\n    \"Rubber; synthetic, halo-isobutene-isoprene rubber (CIIR or BIIR), in primary forms or in plates, sheets or strip\",\n  \"400241\":\n    \"Rubber; synthetic, chloroprene (chlorobutadiene) rubber (CR), latex, in primary forms or in plates, sheets or strip\",\n  \"400249\":\n    \"Rubber; synthetic, chloroprene (chlorobutadiene) rubber (CR), (other than latex), in primary forms or in plates, sheets or strip\",\n  \"400251\":\n    \"Rubber; synthetic, acrylonitrile-butadiene rubber (NBR), latex, in primary forms or in plates, sheets or strip\",\n  \"400259\":\n    \"Rubber; synthetic, acrylonitrile-butadiene rubber (NBR), (other than latex), in primary forms or in plates, sheets or strip\",\n  \"400260\":\n    \"Rubber; synthetic, isoprene rubber (IR), in primary forms or in plates, sheets or strip\",\n  \"400270\":\n    \"Rubber; synthetic, ethylene-propylene-non-conjugated diene rubber (EPDM), in primary forms or in plates, sheets or strip\",\n  \"400280\":\n    \"Rubber; mixtures of natural and synthetic rubbers of heading no. 4001 and 4002, in primary forms or in plates, sheets or strip\",\n  \"400291\":\n    \"Rubber; synthetic, n.e.c. in heading 4002, latex, in primary forms or in plates, sheets or strip\",\n  \"400299\":\n    \"Rubber; synthetic, n.e.c. in heading 4002, (other than latex), in primary forms or in plates, sheets or strip\",\n  \"400300\":\n    \"Rubber; reclaimed rubber, in primary forms or in plates, sheets or strip\",\n  \"400400\":\n    \"Rubber; waste, parings and scrap of rubber (other than hard rubber) and powders and granules obtained therefrom\",\n  \"400510\":\n    \"Rubber; unvulcanised, compounded with carbon black or silica, in primary forms or in plates, sheets or strip\",\n  \"400520\":\n    \"Rubber; unvulcanised, compounded, solutions and dispersions other than those of item no. 4005.10\",\n  \"400591\":\n    \"Rubber; unvulcanised, (compounded other than with carbon black or silica), in plates, sheets and strip\",\n  \"400599\":\n    \"Rubber; unvulcanised, (compounded other than with carbon black or silica), in primary forms, (other than plates, sheets, strip, solutions or dispersions)\",\n  \"400610\":\n    \"Rubber; unvulcanised, camel-back strips for retreading rubber tyres\",\n  \"400690\":\n    \"Rubber; unvulcanised, other than camel back strips for retreading rubber tyres\",\n  \"400700\": \"Rubber; vulcanised, thread and cord\",\n  \"400811\":\n    \"Rubber; vulcanised (other than hard rubber), in plates, sheets and strip of cellular rubber\",\n  \"400819\":\n    \"Rubber; vulcanised (other than hard rubber), cellular rubber, (other than in plates, sheets or strip)\",\n  \"400821\":\n    \"Rubber; vulcanised (other than hard rubber), in plates, sheets and strip, of non-cellular rubber\",\n  \"400829\":\n    \"Rubber; vulcanised (other than hard rubber), non-cellular rubber, in forms other than plates, sheets or strip\",\n  \"400910\":\n    \"Rubber; vulcanised (other than hard rubber), tubes, pipes and hoses, not reinforced or otherwise combined with other materials, without fittings\",\n  \"400911\":\n    \"Rubber; vulcanised (other than hard rubber), tubing, piping and hoses, not reinforced or otherwise combined with other materials, without fittings\",\n  \"400912\":\n    \"Rubber; vulcanised (other than hard rubber), tubing, piping and hoses, not reinforced or otherwise combined with other materials, with fittings\",\n  \"400920\":\n    \"Rubber; vulcanised (other than hard rubber), tubes, pipes and hoses, reinforced or otherwise combined only with metal, without fittings\",\n  \"400921\":\n    \"Rubber; vulcanised (other than hard rubber), tubing, piping and hoses, reinforced or otherwise combined only with metal, without fittings\",\n  \"400922\":\n    \"Rubber; vulcanised (other than hard rubber), tubing, piping and hoses, reinforced or otherwise combined only with metal, with fittings\",\n  \"400930\":\n    \"Rubber; vulcanised (other than hard rubber), tubes, pipes and hoses, reinforced or otherwise combined only with textile materials, without fittings\",\n  \"400931\":\n    \"Rubber; vulcanised (other than hard rubber), tubing, piping and hoses, reinforced or otherwise combined only with textile materials, without fittings\",\n  \"400932\":\n    \"Rubber; vulcanised (other than hard rubber), tubing, piping and hoses, reinforced or otherwise combined only with textile materials, with fittings\",\n  \"400940\":\n    \"Rubber; vulcanised (other than hard rubber), tubes, pipes and hoses, reinforced or otherwise combined with materials other than metal or textile materials, without fittings\",\n  \"400941\":\n    \"Rubber; vulcanised (other than hard rubber), tubing, piping and hoses, reinforced or otherwise combined with materials other than metal or textiles, without fittings\",\n  \"400942\":\n    \"Rubber; vulcanised (other than hard rubber), tubing, piping and hoses, reinforced or otherwise combined with materials other than metal or textiles, with fittings\",\n  \"400950\":\n    \"Rubber; vulcanised (other than hard rubber), tubes, pipes and hoses, with fittings\",\n  \"401010\":\n    \"Rubber; vulcanised, conveyor or transmission belts or belting of trapezoidal cross-section (v-belts and v-belting)\",\n  \"401011\":\n    \"Rubber; vulcanised, conveyor belts or belting, reinforced only with metal\",\n  \"401012\":\n    \"Rubber; vulcanised, conveyor belts or belting, reinforced only with textile materials\",\n  \"401013\":\n    \"Rubber; vulcanised, conveyor belts or belting, reinforced only with plastics\",\n  \"401019\":\n    \"Rubber; vulcanised, conveyor belts or belting, (reinforced with other than metal only or textile materials only)\",\n  \"401021\":\n    \"Rubber; vulcanised, transmission belts or belting, endless, of trapezoidal cross-section (v-belts), whether or not grooved, of a circumference exceeding 60cm but not exceeding 180cm\",\n  \"401022\":\n    \"Rubber; vulcanised, transmission belts or belting, endless, of trapezoidal cross-section (v-belts), whether or not grooved, of a circumference exceeding 180cm but not exceeding 240cm\",\n  \"401023\":\n    \"Rubber; vulcanised, transmission belts or belting, endless synchronous belts (of a circumference exceeding 60cm but not exceeding 150cm)\",\n  \"401024\":\n    \"Rubber; vulcanised, transmission belts or belting, endless synchronous belts (of a circumference exceeding 150cm but not exceeding 198cm)\",\n  \"401029\":\n    \"Rubber; vulcanised, transmission belts or belting, n.e.s. in heading no. 4010\",\n  \"401031\":\n    \"Rubber; vulcanised, endless transmission belts of trapezoidal cross-section (V-belts), V-ribbed, of an outside circumference exceeding 60cm but not exceeding 180 cm\",\n  \"401032\":\n    \"Rubber; vulcanised, endless transmission belts of trapezoidal cross-section (V-belts), other than V-ribbed, of an outside circumference exceeding 60cm but not exceeding 180 cm\",\n  \"401033\":\n    \"Rubber; vulcanised, endless transmission belts of trapezoidal cross-section (V-belts), V-ribbed, of an outside circumference exceeding 180cm but not exceeding 240 cm\",\n  \"401034\":\n    \"Rubber; vulcanised, endless transmission belts of trapezoidal cross-section (V-belts), other than V-ribbed, of an outside circumference exceeding 180cm but not exceeding 240 cm\",\n  \"401035\":\n    \"Rubber; vulcanised, endless synchronous belts, of an outside circumference exceeding 60 cm but not exceeding 150 cm\",\n  \"401036\":\n    \"Rubber; vulcanised, endless synchronous belts, of an outside circumference exceeding 150 cm but not exceeding 198 cm\",\n  \"401039\":\n    \"Rubber; vulcanised, conveyor or transmission belts or belting, n.e.c. in heading no. 4010\",\n  \"401091\":\n    \"Rubber; vulcanised, conveyor or transmission belts or belting, of a width exceeding 20cm\",\n  \"401099\":\n    \"Rubber; vulcanised, conveyor or transmission belts or belting, of a width 20cm or less\",\n  \"401110\": \"New pneumatic rubber tyres for motor cars\",\n  \"401120\": \"New pneumatic rubber tyres for buses or lorries\",\n  \"401130\": \"Rubber; new pneumatic tyres, of a kind used on aircraft\",\n  \"401140\": \"Rubber; new pneumatic tyres, of a kind used on motorcycles\",\n  \"401150\": \"Rubber; new pneumatic tyres, of a kind used on bicycles\",\n  \"401161\":\n    \"Rubber; new pneumatic tyres having a herring-bone or similar tread, of a kind used on agricultural or forestry vehicles and machines\",\n  \"401162\":\n    \"Rubber; new pneumatic tyres having a herring-bone or similar tread, of a kind used on construction or industrial handling vehicles and machines and having a rim size not exceeding 61cm\",\n  \"401163\":\n    \"Rubber; new pneumatic tyres having a herring-bone or similar tread, of a kind used on construction or industrial handling vehicles and machines and having a rim size exceeding 61cm\",\n  \"401169\":\n    \"Rubber; new pneumatic tyres having a herring-bone or similar tread, of a kind used on light industrial vehicles\",\n  \"401170\":\n    \"Rubber; new pneumatic tyres, of a kind used on agricultural or forestry vehicles and machines\",\n  \"401180\":\n    \"Rubber; new pneumatic tyres, of a kind used on construction, mining or industrial handling vehicles and machines\",\n  \"401190\":\n    \"Rubber; new pneumatic tyres, of a kind used on light commercial vehicles\",\n  \"401191\":\n    'Rubber; new pneumatic tyres, having a \"herring bone\" or similar tread',\n  \"401192\":\n    \"Rubber; new pneumatic tyres having other than a herring-bone or similar tread, of a kind used on agricultural or forestry vehicles and machines\",\n  \"401193\":\n    \"Rubber; new pneumatic tyres having other than a herring-bone or similar tread, of a kind used on construction or industrial handling vehicles and machines and having a rim size not exceeding 61cm\",\n  \"401194\":\n    \"Rubber; new pneumatic tyres having other than a herring-bone or similar tread, of a kind used on construction or industrial handling vehicles and machines and having a rim size exceeding 61cm\",\n  \"401199\":\n    \"Rubber; new pneumatic tyres having other than a herring-bone or similar tread, of a kind used on light industrial vehicles\",\n  \"401210\": \"Rubber; retreaded tyres\",\n  \"401211\":\n    \"Retreaded tyres ; of a kind used on motor cars (including station wagons and racing cars)\",\n  \"401212\": \"Retreaded tyres; of a kind used on motor buses or lorries\",\n  \"401213\": \"Retreaded tyres; of a kind used on aircraft\",\n  \"401219\":\n    \"Retreaded tyres; other than of a kind used on motor cars (including station wagons and racing cars), buses and lorries and aircraft\",\n  \"401220\": \"Rubber; used pneumatic tyres\",\n  \"401290\": \"Rubber; tyres n.e.c. in heading no. 4012\",\n  \"401310\":\n    \"Rubber; inner tubes, of a kind used on motorcars (including station wagons and racing cars), buses and lorries\",\n  \"401320\": \"Rubber; inner tubes, of a kind used on bicycles\",\n  \"401390\": \"Rubber; inner tubes, n.e.c. in heading no. 4013\",\n  \"401410\":\n    \"Rubber; vulcanised (other than hard rubber), sheath contraceptives\",\n  \"401490\":\n    \"Rubber; vulcanised (other than hard rubber), hygienic or pharmaceutical articles (excluding sheath contraceptives), with or without fittings of hard rubber\",\n  \"401511\": \"Rubber; vulcanised (other than hard rubber), surgical gloves\",\n  \"401512\":\n    \"Rubber; vulcanised (other than hard rubber), gloves, of a kind used for medical, surgical, dental or veterinary purposes\",\n  \"401519\": \"Rubber gloves; excl. surgical gloves\",\n  \"401590\":\n    \"Rubber; vulcanised (other than hard rubber), articles of apparel and clothing accessories (other than gloves, mittens and mitts)\",\n  \"401610\":\n    \"Rubber; vulcanised (other than hard rubber), moulded rubber mats and mats of non-rectangular shape made by cutting from the piece, of cellular rubber\",\n  \"401691\":\n    \"Rubber; vulcanised (other than hard rubber), floor coverings and mats, of non-cellular rubber\",\n  \"401692\":\n    \"Rubber; vulcanised (other than hard rubber), erasers, of non-cellular rubber\",\n  \"401693\": \"Rubber gaskets, washers, and other seals; non-cellular\",\n  \"401694\":\n    \"Rubber; vulcanised (other than hard rubber), boat or dock fenders, whether or not inflatable, of non-cellular rubber\",\n  \"401695\":\n    \"Rubber; vulcanised (other than hard rubber), inflatable articles (other than boat or dock fenders), of non-cellular rubber\",\n  \"401699\":\n    \"Other vulcanised rubber articles; excl. hard rubber, non-cellular (exclusionary category)\",\n  \"401700\":\n    \"Rubber; ebonite and other hard rubbers in all forms, including waste and scrap, and articles of hard rubber\",\n  \"410110\":\n    \"Hides and skins; raw, whole, of bovine animals, weight per skin not exceeding 8kg when simply dried, 10kg when dry-salted or 14kg when fresh, wet-salted or otherwise preserved\",\n  \"410120\":\n    \"Raw hides and skins; whole, unsplit, of bovine or equine animals, of a weight per skin not exceeding 8kg when simply dried, 10kg when dry-salted or 16kg when fresh, wet-salted or otherwise preserved\",\n  \"410121\": \"Hides and skins; raw, whole, of bovine animals, >14kg\",\n  \"410122\":\n    \"Hides and skins; raw, of bovine animals, fresh or wet-salted, butts and bends\",\n  \"410129\":\n    \"Hides and skins; raw, of bovine animals, fresh or wet-salted, other than whole, but not butts or bends\",\n  \"410130\":\n    \"Hides and skins; raw, of bovine animals, preserved in ways n.e.s. in heading no. 4101\",\n  \"410140\":\n    \"Hides and skins; raw, of equine animals, fresh or salted, dried, limed, pickled or otherwise preserved (excluding tanned, parchment-dressed or further prepared), whether or not dehaired or split\",\n  \"410150\":\n    \"Hides and skins; raw, whole, of bovine or equine animals, of a weight per skin exceeding 16 kg\",\n  \"410190\":\n    \"Hides and skins; other than whole, but including butts, bends and bellies, of bovine (including. buffalo) and equine animals, fresh, salted or preserved, but not tanned, parchment dressed or further prepared, whether or not dehaired or split\",\n  \"410210\":\n    \"Skins; raw, of sheep or lambs, fresh, or salted, dried, limed, pickled or otherwise preserved, (but not tanned, parchment-dressed or further prepared), with wool on\",\n  \"410221\":\n    \"Skins; raw, of sheep or lambs, pickled (but not tanned, parchment-dressed or further preserved), without wool on\",\n  \"410229\":\n    \"Hides and skins; raw, of animals n.e.c. in this chapter, fresh, salted, dried, limed, pickled or otherwise preserved, (but not tanned, parchment-dressed or further prepared), whether or not dehaired or split\",\n  \"410310\":\n    \"Hides and skins; raw, of goats or kids (fresh or salted, dried, limed, pickled or otherwise preserved, but not tanned, parchment-dressed or further prepared), whether or not dehaired or split\",\n  \"410320\":\n    \"Hides and skins; raw, of reptiles (fresh or salted, dried, limed, pickled or otherwise preserved, but not tanned, parchment-dressed or further prepared), whether or not dehaired or split\",\n  \"410330\":\n    \"Hides and skins; raw, of swine, (fresh or salted, dried, limed, pickled or otherwise preserved, but not tanned, parchment-dressed or further prepared), whether or not dehaired or split\",\n  \"410390\":\n    \"Hides and skins; raw, of animals n.e.c. in this chapter, fresh, salted, dried, limed, pickled or otherwise preserved, (but not tanned, parchment-dressed or further prepared), whether or not dehaired or split\",\n  \"410410\":\n    \"Leather; whole bovine skin, without hair on, of a unit surface area not exceeding 28 square feet (2.6m2), excluding leather of heading no. 4108 and 4109\",\n  \"410411\":\n    \"Tanned or crust hides and skins; without hair on, bovine or equine, in the wet state (including wet blue), full grains, unsplit; grain splits\",\n  \"410419\":\n    \"Tanned or crust hides and skins; bovine or equine, without hair on, in the wet state (including wet blue), excluding full grains, unsplit; grain splits\",\n  \"410421\":\n    \"Leather; bovine, without hair on, vegetable pre-tanned, (but not further prepared), whether or not split, excluding leather of heading no. 4108 and 4109\",\n  \"410422\":\n    \"Leather; bovine, without hair on, pre-tanned, (not vegetable pre-tanned), but not further prepared, whether or not split, excluding leather of heading no. 4108 and 4109\",\n  \"410429\":\n    \"Leather; bovine and equine n.e.s. in heading no. 4104, without hair on, tanned or retanned but not further prepared, whether or not split, excluding leather of heading no. 4108 and 4109\",\n  \"410431\":\n    \"Leather; bovine and equine, without hair on, parchment-dressed or prepared after tanning, full grains and grain splits, excluding leather of heading no. 4108 and 4109\",\n  \"410439\":\n    \"Leather; bovine and equine, without hair on,( excluding full grains and grain splits), parchment-dressed or prepared after tanning excluding leather of heading no. 4108 and 4109\",\n  \"410441\":\n    \"Tanned or crust hides and skins; bovine or equine, without hair on, in the dry state (crust), full grains, unsplit; grain splits\",\n  \"410449\":\n    \"Tanned or crust hides and skins; bovine or equine, without hair on, in the dry state (crust), (other than full grains, unsplit; grain splits)\",\n  \"410510\":\n    \"Tanned or crust skins of sheep or lambs, without wool on, whether or not split, but not further prepared, in the wet state (including wet-blue)\",\n  \"410511\":\n    \"Leather; of sheep or lamb, without wool on, tanned or retanned (but not further prepared), vegetable pre-tanned, whether or not split, excluding leather of heading no. 4108 and 4109\",\n  \"410512\":\n    \"Leather; of sheep or lamb, without wool on, tanned or retanned (but not further prepared), pre-tanned (not vegetable pre-tanned), whether or not split, excluding leather of heading no. 4108 and 4109\",\n  \"410519\":\n    \"Leather; of sheep or lamb, without wool on, tanned or retanned (but not further prepared), whether or not split, n.e.s. in heading no. 4105 (not pre-tanned), excluding leather of heading no. 4108 and 4109\",\n  \"410520\":\n    \"Leather; of sheep or lamb, without wool on, parchment-dressed or prepared after tanning, excluding leather of heading no. 4108 and 4109\",\n  \"410530\":\n    \"Tanned or crust skins; of sheep or lambs, without wool on, whether or not split, but not further prepared, in the dry state (crust)\",\n  \"410611\":\n    \"Leather; goat or kid skin, without hair on, vegetable pre-tanned but not further prepared, whether or not split, excluding leather of heading no. 4108 and 4109\",\n  \"410612\":\n    \"Leather; goat or kid skin, without hair on, pre-tanned (not vegetable pre-tanned) not further prepared, whether or not split, excluding leather of heading no. 4108 and 4109\",\n  \"410619\":\n    \"Leather; goat or kid skin, without hair on, tanned or retanned but not further prepared, whether or not split, n.e.s. in heading no. 4106 (not pre-tanned), excluding leather of heading no. 4108 and 4109\",\n  \"410620\":\n    \"Leather; goat or kid skin, without hair on, parchment-dressed or prepared after tanning excluding leather of heading no. 4108 and 4109\",\n  \"410621\":\n    \"Tanned or crust hides and skins; of goats or kids, without wool or hair on, whether or not split, but not further prepared, in the wet state (including wet blue)\",\n  \"410622\":\n    \"Tanned or crust hides and skins; of goats or kids, without hair on, whether or not split, but not further prepared, in the dry state (crust)\",\n  \"410631\":\n    \"Tanned or crust hides and skins; of swine, without hair on, whether or not split, but not further prepared, in the wet state (including wet blue)\",\n  \"410632\":\n    \"Tanned or crust hides and skins; of swine, without hair on, whether or not split, but not further prepared, in the dry state (crust)\",\n  \"410640\":\n    \"Tanned or crust hides and skins; of reptiles, whether or not split, but not further prepared\",\n  \"410691\":\n    \"Tanned or crust hides and skins; of animals other than equine, ovine, bovine, goats or kids, swine and reptiles, without wool or hair on, whether or not split, but not further prepared, in the wet state (including wet blue)\",\n  \"410692\":\n    \"Tanned or crust hides and skins; of animals other than equine, ovine, bovine, goats or kids, swine and reptiles, without wool or hair on, whether or not split, but not further prepared, in the dry state (crust)\",\n  \"410710\":\n    \"Leather; of swine, without hair on, excluding leather of heading no. 4108 or 4109\",\n  \"410711\":\n    \"Leather; further prepared after tanning or crusting, including parchment-dressed leather, of bovine (including buffalo) or equine animals, without hair on, other than leather of heading 41.14, whole hides and skins, full grain, unsplit\",\n  \"410712\":\n    \"Leather; further prepared after tanning or crusting, including parchment-dressed leather, of bovine (including buffalo) or equine animals, without hair on, other than leather of heading 41.14, whole hides and skins, grain splits\",\n  \"410719\":\n    \"Leather; further prepared after tanning or crusting, including parchment-dressed, of bovine (including buffalo) or equine animals, without hair on, split or not, other than leather of heading 41.14, (other than grain splits and full grains, unsplit)\",\n  \"410721\":\n    \"Leather; of reptiles, without hair on, vegetable pre-tanned, excluding leather of heading no. 4108 or 4109\",\n  \"410729\":\n    \"Leather; of reptiles, without hair on, other than vegetable pre-tanned, excluding leather of heading no. 4108 or 4109\",\n  \"410790\":\n    \"Leather; of animals n.e.s. in chapter 41, without hair on, excluding leather of heading no. 4108 or 4109\",\n  \"410791\":\n    \"Leather; further prepared after tanning or crusting, including parchment-dressed, of bovine (including buffalo) or equine animals, without hair on, other than leather of heading 41.14, not whole hides and skins, but including sides, full grain, unsplit\",\n  \"410792\":\n    \"Leather; further prepared after tanning or crusting, including parchment-dressed, of bovine (including buffalo) or equine animals, without hair on, other than leather of heading 41.14, not whole hides and skins, but including sides, grain splits\",\n  \"410799\":\n    \"Leather; further prepared after tanning or crusting, incl. parchment-dressed, of bovine (including buffalo) or equine animals, no hair, excluding leather of heading 41.14, and whole hides and skins, and sides, (full grains, unsplit and grain splits)\",\n  \"410800\": \"Leather; chamois (including combination chamois) leather\",\n  \"410900\": \"Leather; patent and patent laminated leather, metallised leather\",\n  \"411000\":\n    \"Leather or composition leather; parings and other waste (not suitable for the manufacture of leather articles), leather dust, powder and flour\",\n  \"411100\":\n    \"Leather; composition leather, with a basis of leather or leather fibres, in slabs, sheets or strip, whether or not in rolls\",\n  \"411200\":\n    \"Leather; further prepared after tanning or crusting, including parchment dressed leather, of sheep or lamb, without wool on, whether or not split, other than leather of heading 41.14\",\n  \"411310\":\n    \"Leather; further prepared after tanning or crusting, including parchment-dressed leather, without hair on, whether or not split, other than leather of heading 41.14, of goats and kids\",\n  \"411320\":\n    \"Leather; further prepared after tanning or crusting, including parchment-dressed leather, without hair on, whether or not split, other than leather of heading 41.14, of swine\",\n  \"411330\":\n    \"Leather; further prepared after tanning or crusting, including parchment-dressed leather, of reptiles, whether or not split, other than leather of heading 41.14\",\n  \"411390\":\n    \"Leather; further prepared after tanning or crusting, including parchment-dressed leather, of animals (other than sheep and lambs, goats and kids, swine and reptiles), without wool or hair on, whether or not split, other than leather of heading 41.14\",\n  \"411410\": \"Leather; chamois (including combination chamois)\",\n  \"411420\":\n    \"Leather; patent leather and laminated patent leather; metallised leather\",\n  \"411510\":\n    \"Leather; composition leather with a basis of leather or leather fibre, in slabs, sheets or strip, whether or not in rolls\",\n  \"411520\":\n    \"Leather; parings and other waste, of leather or composition leather; not suitable for the manufacture of leather articles; leather dust, powder and flour\",\n  \"420100\":\n    \"Saddlery and harness; for any animal (including traces, leads, knee pads, muzzles, saddle cloths, saddle bags, dog coats and the like), of any materials\",\n  \"420211\":\n    \"Cases and containers; trunks, suit-cases, vanity-cases, executive-cases, brief-cases, school satchels and similar containers, with outer surface of leather or of composition leather\",\n  \"420212\":\n    \"Cases and containers; trunks, suit-cases, vanity-cases, executive-cases, brief-cases, school satchels and similar containers, with outer surface of plastics or of textile materials\",\n  \"420219\":\n    \"Cases and containers; trunks, suit-cases, vanity-cases, executive-cases, brief-cases, school satchels and similar containers, of vulcanised fibre or of paperboard, or wholly or mainly covered with such materials or with paper\",\n  \"420221\": \"Handbags of leather\",\n  \"420222\": \"Handbags of plastics or textile\",\n  \"420229\":\n    \"Cases and containers; handbags (whether or not with shoulder strap and including those without handle), of vulcanised fibre or of paperboard, or wholly or mainly covered with such materials or with paper\",\n  \"420231\":\n    \"Cases and containers; of a kind normally carried in the pocket or in the handbag, with outer surface of leather or of composition leather\",\n  \"420232\":\n    \"Cases and containers; of a kind normally carried in the pocket or in the handbag, with outer surface of sheeting of plastics or of textile materials\",\n  \"420239\":\n    \"Cases and containers; of a kind normally carried in the pocket or in the handbag, of vulcanised fibre or of paperboard, or wholly or mainly covered with such materials or with paper\",\n  \"420291\":\n    \"Cases and containers; n.e.c. in heading 4202, with outer surface of leather or of composition leather\",\n  \"420292\":\n    \"Other cases and containers of plastics or textiles (exclusionary category)\",\n  \"420299\":\n    \"Cases and containers; n.e.c. in heading 4202, of vulcanised fibre or of paperboard, or wholly or mainly covered with such materials or with paper\",\n  \"420310\":\n    \"Apparel; articles of apparel, of leather or of composition leather\",\n  \"420321\":\n    \"Clothing accessories; gloves, mittens and mitts, specially designed for use in sports, of leather or composition leather, padded\",\n  \"420329\":\n    \"Clothing accessories; gloves, mittens and mitts, n.e.c. in heading no. 4203, of leather or composition leather, not specially designed for use in sports\",\n  \"420330\":\n    \"Clothing accessories; belts and bandoliers, of leather or of composition leather\",\n  \"420340\":\n    \"Clothing accessories; of leather or of composition leather, n.e.c. in heading no. 4203\",\n  \"420400\":\n    \"Leather articles; of a kind used in machinery, mechanical appliances or for other technical uses, of leather or composition leather\",\n  \"420500\":\n    \"Leather articles; n.e.c. in chapter 42, of leather or composition leather\",\n  \"420600\":\n    \"Articles of gut (other than silk-worm gut), of goldbeater's skin, of bladders or of tendons\",\n  \"420610\": \"Gut articles; catgut\",\n  \"420690\":\n    \"Gut articles; (other than silk-worm or catgut), of goldbeater's skin, bladders or tendons\",\n  \"430110\": \"Furskins; raw, of mink, whole, with or without head, tail or paws\",\n  \"430120\":\n    \"Furskins; raw, of rabbit or hare, whole, with or without head, tail or paws\",\n  \"430130\":\n    \"Furskins; raw, of Astrakhan, Broadtail, Caracul, Persian and similar lamb, Indian, Chinese, Mongolian or Tibetan lamb, whole, with or without head, tail or paws\",\n  \"430140\":\n    \"Furskins; raw, of beaver, whole, with or without head, tail or paws\",\n  \"430150\":\n    \"Furskins; raw, of musk-rat, whole, with or without head, tail or paws\",\n  \"430160\": \"Furskins; raw, of fox, whole, with or without head, tail or paws\",\n  \"430170\": \"Furskins; raw, of seal, whole, with or without head, tail or paws\",\n  \"430180\":\n    \"Furskins; raw, of animals n.e.c. in heading no. 4301, whole, with or without head, tail or paws (excluding goods of heading no. 4101, 4102 and 4103)\",\n  \"430190\":\n    \"Furskins; raw, heads, tails, paws and other pieces or cuttings, suitable for furrier's use, excluding goods of heading no. 4101, 4102 and 4103\",\n  \"430211\":\n    \"Furskins; tanned or dressed, of mink, whole, with or without head, tail or paws, not assembled\",\n  \"430212\":\n    \"Furskins; tanned or dressed, of rabbit or hare, whole, with or without head, tail or paws, not assembled\",\n  \"430213\":\n    \"Furskins; tanned or dressed, Astrakhan, Broadtail, Caracul, Persian and similar lamb, Indian, Chinese, Mongolian or Tibetan lamb, whole, with or without head, tail or paws, not assembled\",\n  \"430219\":\n    \"Furskins; tanned or dressed, whole, with or without head, tail or paws, not assembled, n.e.c. in heading no. 4302, excluding goods or heading no. 4303\",\n  \"430220\":\n    \"Furskins; tanned or dressed, heads, tails, paws and other pieces or cuttings, not assembled, excluding goods of heading no. 4303\",\n  \"430230\":\n    \"Furskins; tanned or dressed, whole skins and pieces or cuttings thereof, assembled, excluding goods of heading no. 4303\",\n  \"430310\": \"Furskin articles; apparel and clothing accessories\",\n  \"430390\": \"Furskin articles; other than apparel and clothing accessories\",\n  \"430400\": \"Fur, artificial; articles thereof\",\n  \"440110\":\n    \"Wood; for fuel, in logs, billets, twigs, faggots or similar forms, whether or not agglomerated\",\n  \"440111\":\n    \"Wood; for fuel, in logs, in billets, in twigs, in faggots or similar forms, whether or not agglomerated, coniferous\",\n  \"440112\":\n    \"Wood; for fuel, in logs, in billets, in twigs, in faggots or similar forms, whether or not agglomerated, non-coniferous\",\n  \"440121\":\n    \"Wood; for fuel, in chips or particles, coniferous, whether or not agglomerated\",\n  \"440122\":\n    \"Wood; for fuel, in chips or particles, non-coniferous, whether or not agglomerated\",\n  \"440130\":\n    \"Wood; sawdust, waste and scrap, whether or not agglomerated in logs, briquettes, pellets or similar forms\",\n  \"440131\":\n    \"Wood; for fuel, sawdust and wood waste and scrap, agglomerated in logs, briquettes, pellets or similar forms; wood pellets\",\n  \"440132\":\n    \"Wood; for fuel, sawdust and wood waste and scrap, agglomerated in wood briquettes\",\n  \"440139\":\n    \"Wood; for fuel, sawdust and wood waste and scrap, agglomerated in logs, briquettes, pellets or similar forms; other than wood pellets\",\n  \"440140\":\n    \"Wood; for fuel, sawdust and wood waste and scrap, not agglomerated\",\n  \"440141\":\n    \"Wood; for fuel, sawdust and wood waste and scrap, not agglomerated; sawdust\",\n  \"440149\":\n    \"Wood; for fuel, sawdust and wood waste and scrap, not agglomerated and not including sawdust\",\n  \"440200\":\n    \"Wood; charcoal (including shell or nut charcoal), whether or not agglomerated\",\n  \"440210\":\n    \"Wood; charcoal of bamboo (including shell or nut charcoal), whether or not agglomerated\",\n  \"440220\": \"Wood; charcoal of nut or shell, whether or not agglomerated\",\n  \"440290\":\n    \"Wood; charcoal of wood other than bamboo (including shell or nut charcoal), whether or not agglomerated\",\n  \"440310\":\n    \"Wood; in the rough, whether or not stripped of bark or sapwood, or roughly squared; treated with paint, stains, creosote or other preservatives\",\n  \"440311\":\n    \"Wood; coniferous species, in the rough, whether or not stripped of bark or sapwood, or roughly squared; treated with paint, stains, creosote or other preservatives\",\n  \"440312\":\n    \"Wood; non-coniferous species, in the rough, whether or not stripped of bark or sapwood, or roughly squared; treated with paint, stains, creosote or other preservatives\",\n  \"440320\": \"Wood; coniferous, untreated\",\n  \"440321\":\n    \"Wood; coniferous species, of pine (Pinus spp.), in the rough, whether or not stripped of bark or sapwood, or roughly squared, untreated, of which any cross-sectional dimension is 15 cm or more\",\n  \"440322\":\n    \"Wood; coniferous species, of pine (Pinus spp.), in the rough, whether or not stripped of bark or sapwood, or roughly squared, untreated, of which any cross-sectional dimension is less than 15 cm\",\n  \"440323\":\n    \"Wood; coniferous species, of fir (Abies spp.) and spruce (Picea spp.), in the rough, whether or not stripped of bark or sapwood, or roughly squared, untreated, of which any cross-sectional dimension is 15 cm or more\",\n  \"440324\":\n    \"Wood; coniferous species, of fir (Abies spp.) and spruce (Picea spp.), in the rough, whether or not stripped of bark or sapwood, or roughly squared, untreated, of which any cross-sectional dimension is less than 15 cm\",\n  \"440325\":\n    \"Wood; coniferous species n.e.c in headings 4403.21 or 4403.23, in the rough, whether or not stripped of bark or sapwood, or roughly squared, untreated, of which any cross-sectional dimension is 15 cm or more\",\n  \"440326\":\n    \"Wood; coniferous species n.e.c in headings 4403.22 or 4403.24, in the rough, whether or not stripped of bark or sapwood, or roughly squared, untreated, of which any cross-sectional dimension is less than 15 cm\",\n  \"440331\":\n    \"Wood; dark red meranti, light red meranti, meranti bakau; in the rough, whether or not stripped of bark or sapwood, or roughly squared, untreated\",\n  \"440332\":\n    \"Wood; white lauan, white meranti, white seraya, yellow meranti, alan; in the rough, whether or not stripped of bark or sapwood, or roughly squared, untreated\",\n  \"440333\":\n    \"Wood; keruing, ramin, kapur, teak, jongkong, merbau, jelutong, and kempas; in the rough, whether or not stripped of bark or sapwood, or roughly squared, untreated\",\n  \"440334\":\n    \"Wood; okoume, obeche, sapelli, sipo, acajou d'afrique, makore, iroko; in the rough, whether or not stripped of bark or sapwood, or roughly squared, untreated\",\n  \"440335\":\n    \"Wood; tiama, mansonia, ilomba, dibetou, limba, azobe; in the rough, whether or not stripped of bark or sapwood, or roughly squared, untreated\",\n  \"440341\":\n    \"Wood, tropical; as specified in Subheading Note 2 to this Chapter, dark red meranti, light red meranti and meranti bakau, in the rough, whether or not stripped of bark or sapwood, or roughly squared, untreated\",\n  \"440342\":\n    \"Wood, tropical; teak, in the rough, whether or not stripped of bark or sapwood, or roughly squared, untreated\",\n  \"440349\":\n    \"Wood, tropical; other than dark red meranti, light red meranti and meranti bakau, in the rough, whether or not stripped of bark or sapwood, or roughly squared, untreated\",\n  \"440391\":\n    \"Wood; oak, in the rough, whether or not stripped of bark or sapwood, or roughly squared, untreated\",\n  \"440392\":\n    \"Wood; beech, in the rough, whether or not stripped of bark or sapwood, or roughly squared, untreated\",\n  \"440393\":\n    \"Wood; of beech (Fagus spp.), in the rough, whether or not stripped of bark or sapwood, or roughly squared, untreated, of which any cross-sectional dimension is 15 cm or more\",\n  \"440394\":\n    \"Wood; of beech (Fagus spp.), in the rough, whether or not stripped of bark or sapwood, or roughly squared, untreated, of which any cross-sectional dimension is less than 15 cm\",\n  \"440395\":\n    \"Wood; of birch (Betula spp.), in the rough, whether or not stripped of bark or sapwood, or roughly squared, untreated, of which any cross-sectional dimension is 15 cm or more\",\n  \"440396\":\n    \"Wood; of birch (Betula spp.), in the rough, whether or not stripped of bark or sapwood, or roughly squared, untreated, of which any cross-sectional dimension is less than 15 cm\",\n  \"440397\":\n    \"Wood; of poplar and aspen (Populus spp.), in the rough, whether or not stripped of bark or sapwood, or roughly squared, untreated\",\n  \"440398\":\n    \"Wood; of eucalyptus (Eucalyptus spp.), in the rough, whether or not stripped of bark or sapwood, or roughly squared, untreated\",\n  \"440399\": \"Wood; non-coniferous, untreated\",\n  \"440410\":\n    \"Wood; coniferous, split poles, piles, pickets, stakes, pointed but not sawn lengthwise; sticks for umbrellas, tool handles etc, roughly trimmed but not turned or bent; chipwood etc, hoopwood\",\n  \"440420\":\n    \"Wood; non-coniferous, split poles, piles, pickets, stakes, pointed but not sawn lengthwise; sticks for umbrellas, tool handles etc, roughly trimmed but not turned or bent; chipwood etc, hoopwood\",\n  \"440500\": \"Wood; wood wool and wood flour\",\n  \"440610\": \"Wood; railway or tramway sleepers (cross-ties), not impregnated\",\n  \"440611\":\n    \"Wood; railway or tramway sleepers (cross-ties), not impregnated, coniferous\",\n  \"440612\":\n    \"Wood; railway or tramway sleepers (cross-ties), not impregnated, non-coniferous\",\n  \"440690\": \"Wood; railway or tramway sleepers (cross-ties), impregnated\",\n  \"440691\":\n    \"Wood; railway or tramway sleepers (cross-ties), impregnated, coniferous\",\n  \"440692\":\n    \"Wood; railway or tramway sleepers (cross-ties), impregnated, non-coniferous\",\n  \"440710\":\n    \"Wood, coniferous; sawn or chipped lengthwise, sliced or peeled, whether or not planed, sanded or end-jointed, of a thickness exceeding 6mm\",\n  \"440711\":\n    \"Wood; coniferous species, of pine (Pinus spp.), sawn or chipped lengthwise, sliced or peeled, whether or not planed, sanded or finger-jointed, of a thickness exceeding 6mm\",\n  \"440712\":\n    \"Wood; coniferous species, of fir (Abies spp.) and spruce (Picea spp.), sawn or chipped lengthwise, sliced or peeled, whether or not planed, sanded or finger-jointed, of a thickness exceeding 6mm\",\n  \"440713\":\n    \"Wood; coniferous species, of S-P-F (spruce (Picea spp.), pine (Pinus spp.) and fir (Abies spp.)), sawn or chipped lengthwise, sliced or peeled, whether or not planed, sanded or finger-jointed, of a thickness exceeding 6mm\",\n  \"440714\":\n    \"Wood; coniferous species, of Hem-fir (western hemlock (Tsuga heterophylla) and fir (Abies spp.))\",\n  \"440719\":\n    \"Wood; coniferous species, other than of pine (Pinus spp.) or fir (Abies spp.) or spruce (Picea spp.), sawn or chipped lengthwise, sliced or peeled, whether or not planed, sanded or finger-jointed, of a thickness exceeding 6mm\",\n  \"440721\":\n    \"Wood, tropical; as specified in Subheading Note 2 to this Chapter, mahogany (Swietenia spp.), sawn or chipped lengthwise, sliced or peeled, whether or not planed, sanded or end-jointed, thicker than 6mm\",\n  \"440722\":\n    \"Wood, tropical; virola, imbuia and balsa, sawn or chipped lengthwise, sliced or peeled, whether or not planed, sanded or end-jointed, thicker than 6mm\",\n  \"440723\":\n    \"Wood; baboen, mahogany (swietenia spp.), imbuia and balsa; sawn or chipped lengthwise, sliced or peeled, whether or not planed, sanded or finger jointed, thicker than 6mm\",\n  \"440724\":\n    \"Wood, tropical; virola, mahogany (swietenia spp.), imbuia and balsa, sawn or chipped lengthwise, sliced or peeled, whether or not planed, sanded or end-jointed, thicker than 6mm\",\n  \"440725\":\n    \"Wood, tropical; dark red meranti, light red meranti and meranti bakau, sawn or chipped lengthwise, sliced or peeled, whether or not planed, sanded or end-jointed, thicker than 6mm\",\n  \"440726\":\n    \"Wood, tropical; white lauan, white meranti, white seraya, yellow meranti and alan, sawn or chipped lengthwise, sliced or peeled, whether or not planed, sanded or end-jointed, thicker than 6mm\",\n  \"440727\":\n    \"Wood, tropical; sapelli, sawn or chipped lengthwise, sliced or peeled, whether or not planed, sanded or end-jointed, thicker than 6mm\",\n  \"440728\":\n    \"Wood, tropical; iroko, sawn or chipped lengthwise, sliced or peeled, whether or not planed, sanded or end-jointed, thicker than 6mm\",\n  \"440729\":\n    \"Wood, tropical, n.e.c. in item no. 4407.2, sawn or chipped lengthwise, sliced or peeled, whether or not planed, sanded or end-jointed, of a thickness exceeding 6mm\",\n  \"440791\":\n    \"Wood; oak (Quercus spp.), sawn or chipped lengthwise, sliced or peeled, whether or not planed, sanded or end-jointed, thicker than 6mm\",\n  \"440792\":\n    \"Wood; beech (Fagus spp.), sawn or chipped lengthwise, sliced or peeled, whether or not planed, sanded or end-jointed, thicker than 6mm\",\n  \"440793\":\n    \"Wood; maple (Acer spp.), sawn or chipped lengthwise, sliced or peeled, whether or not planed, sanded or end-jointed, thicker than 6mm\",\n  \"440794\":\n    \"Wood; cherry (Prunus spp.), sawn or chipped lengthwise, sliced or peeled, whether or not planed, sanded or end-jointed, thicker than 6mm\",\n  \"440795\":\n    \"Wood; ash (Fraxinus spp.), sawn or chipped lengthwise, sliced or peeled, whether or not planed, sanded or end-jointed, thicker than 6mm\",\n  \"440796\":\n    \"Wood; of birch (Betula spp.), sawn or chipped lengthwise, sliced or peeled, of a thickness exceeding 6mm, whether or not planed, sanded or finger-jointed\",\n  \"440797\":\n    \"Wood; of poplar and aspen (Populus spp.), sawn or chipped lengthwise, sliced or peeled, of a thickness exceeding 6mm, whether or not planed, sanded or finger-jointed\",\n  \"440799\":\n    \"Wood; sawn or chipped lengthwise, sliced or peeled, of a thickness exceeding 6mm, whether or not planed, sanded or finger-jointed, n.e.c. in heading no. 4407\",\n  \"440810\":\n    \"Wood; coniferous, sheets for veneering (including those obtained by slicing laminated wood), for plywood or similar laminated wood and other wood, sawn lengthwise, sliced or peeled, planed or not, sanded, spliced or end-jointed, not over 6 mm thick\",\n  \"440820\":\n    \"Wood; meranti, lauan, limba, okoume, obeche, acajou d'afrique, sipo, sapelli, baboen, mahogany, palissandre du bresil, bois de rose; veneer, plywood sheets, other wood, not thicker than 6mm\",\n  \"440831\":\n    \"Wood, tropical; as specified in Subheading Note 2 to this Chapter, dark red meranti, light red meranti, meranti bakau, sheets for veneer, plywood or other wood, sawn lengthwise, sliced or peeled, planed or not, sanded or end-jointed, not thicker than 6mm\",\n  \"440839\":\n    \"Wood, of tropical wood; as in Subheading note 2 to this Chapter, n.e.c. in heading no. 4408.31, sheets for veneer or plywood, other wood sawn length wise, sliced or peeled, whether or not planed, sanded or end-jointed, not thicker than 6mm\",\n  \"440890\":\n    \"Wood; n.e.c. in heading no. 4408, sheets for veneer or plywood, other wood sawn lengthwise, sliced or peeled, whether or not planed, sanded or end-jointed, not exceeding 6mm in thickness\",\n  \"440910\":\n    \"Wood; coniferous (including unassembled strips and friezes for parquet flooring), continuously shaped along any edges, ends or faces, whether or not planed, sanded or end-jointed\",\n  \"440920\":\n    \"Wood; non-coniferous (including unassembled strips and friezes for parquet flooring), continuously shaped along any edges, ends or faces, whether or not planed, sanded or end-jointed\",\n  \"440921\":\n    \"Wood; bamboo (including unassembled strips and friezes for parquet flooring), continuously shaped along any edges, ends or faces, whether or not planed, sanded or end-jointed\",\n  \"440922\":\n    \"Wood; tropical (including unassembled strips and friezes for parquet flooring), continuously shaped along any edges, ends or faces, whether or not planed, sanded or end-jointed\",\n  \"440929\":\n    \"Wood; non-coniferous, other than bamboo or tropical wood, (including unassembled strips and friezes for parquet flooring), continuously shaped along any edges, ends or faces, whether or not planed, sanded or end-jointed\",\n  \"441010\":\n    \"Wood; particle and similar board of wood, whether or not agglomerated with resins or other organic binding substances\",\n  \"441011\":\n    \"Particle board of wood, whether or not agglomerated with resins or other organic binding substances\",\n  \"441012\":\n    \"Oriented strand board (OSB) of wood, whether or not agglomerated with resins or other organic binding substances\",\n  \"441019\":\n    \"Wafer board and similar board of wood n.e.c. in item no. 4410.1, whether or not agglomerated with resins or other organic binding substances\",\n  \"441021\":\n    \"Wood; particle board and similar board of wood, whether or not agglomerated with resins or other organic binding substances, waferboard and oriented strand board, unworked or not further worked than sanded\",\n  \"441029\":\n    \"Wood; particle board and similar board of wood, whether or not agglomerated with resins or other organic binding substances, waferboard and oriented strand board, other than unworked or not further worked than sanded\",\n  \"441031\":\n    \"Wood; particle board and similar board of wood, whether or not agglomerated with resins or other organic binding substances, other than waferboard and oriented strand board, unworked or not further worked than sanded\",\n  \"441032\":\n    \"Wood; particle board and similar board of wood, whether or not agglomerated with resins or other organic binding substances, other than waferboard and oriented strand board, surface-covered with malamine-impregnated paper\",\n  \"441033\":\n    \"Wood; particle board and similar board of wood, whether or not agglomerated with resins or other organic binding substances, other than waferboard and oriented strand board, surface-covered with decorative laminates of plastics\",\n  \"441039\":\n    \"Wood; particle board and similar board of wood, whether or not agglomerated with resins or other organic binding substances, n.e.c. in heading No.4410\",\n  \"441090\":\n    \"Particle board, oriented strand board (OSB) and similar board of ligneous materials other than wood, whether or not agglomerated with resins or other organic binding substances\",\n  \"441111\":\n    \"Wood; fibreboard of a density exceeding 0.8g/cm3, of wood or other ligneous materials, bonded or not with resins or other organic substances, not mechanically worked or surface covered\",\n  \"441112\":\n    \"Medium density fibreboard (MDF), of a thickness not exceeding 5 mm\",\n  \"441113\":\n    \"Medium density fibreboard (MDF), of a thickness exceeding 5 mm but not exceeding 9 mm\",\n  \"441114\": \"Medium density fibreboard (MDF); thickness >9mm\",\n  \"441119\":\n    \"Wood; fibreboard of a density exceeding 0.8g/cm3, of wood or other ligneous materials, bonded or not with resins or other organic substances, mechanically worked or surface covered\",\n  \"441121\":\n    \"Wood; fibreboard of a density exceeding 0.5g/cm3 but not 0.8g/cm3, of wood or other ligneous materials, bonded or not with resins or other organic substances, not mechanically worked or surface covered\",\n  \"441129\":\n    \"Wood; fibreboard of a density exceeding 0.5g/cm3 but not 0.8g/cm3, of wood or other ligneous materials, bonded or not with resins or other organic substances, mechanically worked or surface covered\",\n  \"441131\":\n    \"Wood; fibreboard of a density exceeding 0.35g/cm3 but not 0.5g/cm3, of wood or other ligneous materials, bonded or not with resins or other organic substances, not mechanically worked or surface covered\",\n  \"441139\":\n    \"Wood; fibreboard of a density exceeding 0.35g/cm3 but not 0.5g/cm3, of wood or other ligneous materials, bonded or not with resins or other organic substances, mechanically worked or surface covered\",\n  \"441191\":\n    \"Wood; fibreboard of wood or other ligneous materials, not mechanically worked or surface coloured, whether or not bonded with resins or other organic substances, n.e.s. in heading no. 4411\",\n  \"441192\":\n    \"Fibreboard (other than MDF) of a density exceeding 0.8g/cm3, of wood or other ligneous materials, bonded or not with resins or other organic substances\",\n  \"441193\":\n    \"Fibreboard (other than MDF) of a density exceeding 0.5g/cm3 but not 0.8g/cm3, of wood or other ligneous materials, bonded or not with resins or other organic substances\",\n  \"441194\":\n    \"Fibreboard (other than MDF) of a density not exceeding 0.5g/cm3, of wood or other ligneous materials, bonded or not with resins or other organic substances\",\n  \"441199\":\n    \"Wood; fibreboard of wood or other ligneous materials, mechanically worked or surface coloured, whether or not bonded with resins or other organic substances, n.e.s. in heading no. 4411\",\n  \"441210\": \"Plywood, veneered panels and similar laminated wood; of bamboo\",\n  \"441211\":\n    \"Plywood; wood only, each ply 6mm or thinner at least one outer ply of meranti, lauan, sipo, limba, okoume, acajou d'afrique, pallissandre du bresil, sapelli, obeche, baboen, mahogany, or bois de rose\",\n  \"441212\":\n    \"Plywood; wood only, each ply 6mm or thinner at least one outer ply of non-coniferous wood n.e.s. in item no. 4412.11\",\n  \"441213\":\n    \"Plywood; consisting only of sheets of wood, each ply 6mm or thinner, with at least one outer ply of tropical wood, (as specified in subheading note 1, chapter 44, customs tariff)\",\n  \"441214\":\n    \"Plywood; consisting only of sheets of wood, each ply 6mm or thinner, with at least one outer ply of non-coniferous wood, (without an outer ply of tropical wood as specified in subheading note 1, chapter 44, customs tariff)\",\n  \"441219\":\n    \"Plywood; consisting only of sheets of wood, each ply 6mm or thinner, not containing an outer ply of non-coniferous or tropical wood (as specified in subheading note 1, chapter 44, customs tariff)\",\n  \"441221\":\n    \"Plywood; containing at least one layer of particle board, with at least one outer ply of non-coniferous wood\",\n  \"441222\":\n    \"Plywood; (not consisting only of sheets of wood), with at least one outer ply of non-coniferous wood and at least one ply of tropical wood (as specified in subheading note 1, chapter 44, customs tariff)\",\n  \"441223\":\n    \"Plywood; (not consisting only of sheets of wood), with at least one outer ply of non-coniferous wood, with at least one layer of particle board, (without a ply of tropical wood as specified in subheading note 1, chapter 44, customs tariff)\",\n  \"441229\":\n    \"Plywood; (not consisting only of sheets of wood), with at least one outer ply of non-coniferous wood, not containing a layer of particle board or tropical wood (as specified in subheading note 1, chapter 44, customs tariff)\",\n  \"441231\":\n    \"Plywood; consisting only of sheets of wood (not bamboo), each ply 6mm or thinner, with at least one outer ply of tropical wood\",\n  \"441232\":\n    \"Plywood; as specified in Subheading Note 2 to this Chapter, consisting only of sheets of wood (not bamboo), each ply 6mm or thinner, with at least one outer ply of non-coniferous wood, without an outer ply of tropical wood\",\n  \"441233\":\n    \"Plywood; with sheets of wood only; not bamboo; each ply 6mm or less, with at least one outer ply of alder, ash, beech, birch, cherry, chestnut, elm, eucalyptus, hickory, horse chestnut, lime, maple, oak, plane, poplar, aspen, robinia, tulipwood or walnut\",\n  \"441234\":\n    \"Plywood; consisting only of sheets of wood (not bamboo), each ply 6mm or thinner, with at least one outer ply of non-coniferous wood not listed in subheading 4412.33\",\n  \"441239\":\n    \"Plywood; consisting only of sheets of wood (not bamboo), each ply 6mm or thinner, with both outer plies of coniferous wood\",\n  \"441241\":\n    \"Plywood, veneered panels and similar laminated wood; laminated veneered lumber (LVL); with at least one outer ply of tropical wood\",\n  \"441242\":\n    \"Laminated veneered lumber (LVL); with at least one outer ply of non-coniferous wood\",\n  \"441249\":\n    \"Laminated veneered lumber (LVL); with both outer plies of coniferous wood\",\n  \"441251\":\n    \"Blockboard, laminboard and battenboard; with at least one outer layer of tropical wood\",\n  \"441252\":\n    \"Blockboard, laminboard and battenboard; with at least one outer ply of non-coniferous wood, (not containing particle board)\",\n  \"441259\":\n    \"Blockboard, laminboard and battenboard; with both outer plies of coniferous wood\",\n  \"441291\":\n    \"Plywood; not containing an outer layer of non-coniferous wood, but containing at least one layer of particle board\",\n  \"441292\":\n    \"Plywood; (not consisting only of sheets of wood), with at least one ply of tropical wood (specified in subheading note 1, chapter 44, customs tariff), not containing an outer ply of non-coniferous wood\",\n  \"441293\":\n    \"Plywood; (not consisting only of sheets of wood), no outer ply of non-coniferous and no ply of tropical wood (in subheading note 1, chapter 44, customs tariff), but containing at least one layer of particle board\",\n  \"441294\":\n    \"Blockboard, laminboard and battenboard (not bamboo, and other than plywood consisting only of sheets of wood each ply 6mm or thinner)\",\n  \"441299\":\n    \"Plywood, veneered panels and similar laminated wood (other than blockboard, laminboard and battenboard, other than of bamboo, and other than plywood consisting only of sheets of wood each ply 6mm or thinner)\",\n  \"441300\": \"Wood; densified wood, in blocks, plates, strips or profile shapes\",\n  \"441400\":\n    \"Wooden frames; for paintings, photographs, mirrors or similar objects\",\n  \"441410\":\n    \"Wooden frames; for paintings, photographs, mirrors or similar objects; of tropical wood\",\n  \"441490\":\n    \"Wooden frames; for paintings, photographs, mirrors or similar objects; not of tropical wood\",\n  \"441510\":\n    \"Wood; cases, boxes, crates, drums, similar packings and cable-drums\",\n  \"441520\": \"Wood; pallets, box pallets and other load boards; pallet collars\",\n  \"441600\":\n    \"Wood; casks, barrels, vats, tubs and other coopers' products and parts thereof, of wood, including staves\",\n  \"441700\":\n    \"Wood; tools, tool bodies, tool handles, broom or brush bodies and handles, boot and shoe lasts and trees, of wood\",\n  \"441810\": \"Wood; windows, French-windows and their frames\",\n  \"441811\": \"Wood; windows, French-windows and their frames; of tropical wood\",\n  \"441819\":\n    \"Wood; windows, French-windows and their frames; (of other than tropical wood)\",\n  \"441820\": \"Wood; doors and their frames and thresholds\",\n  \"441821\": \"Wood; doors and their frames and thresholds, of tropical wood;\",\n  \"441829\":\n    \"Wood; doors and their frames and thresholds, (of other than tropical wood)\",\n  \"441830\": \"Wood; parquet panels\",\n  \"441840\": \"Wood; shuttering for concrete constructional work\",\n  \"441850\": \"Wood; shingles and shakes\",\n  \"441860\": \"Wood; posts and beams\",\n  \"441871\": \"Wood; assembled flooring panels, for mosaic floors\",\n  \"441872\": \"Wood; assembled flooring panels, multilayer, other than mosaic\",\n  \"441873\":\n    \"Wood; assembled flooring panels, of bamboo or with at least the top layer (wear layer) of bamboo\",\n  \"441874\":\n    \"Wood; assembled flooring panels, not of bamboo or with at least the top layer (wear layer) of bamboo, for mosaic floors\",\n  \"441875\":\n    \"Wood; assembled flooring panels, not of bamboo or with at least the top layer (wear layer) of bamboo, multilayer\",\n  \"441879\":\n    \"Wood; assembled flooring panels, n.e.c in headings 4418.73, 4418.74 or 4418.75\",\n  \"441881\":\n    \"Wood; engineered structural timber products, glue-laminated timber (glulam)\",\n  \"441882\":\n    \"Wood; engineered structural timber products, cross-laminated timber (CLT or X-lam)\",\n  \"441883\": \"Wood; engineered structural timber products, I beams\",\n  \"441889\":\n    \"Wood; engineered structural timber products, other than glue-laminated timber (glulam), cross-laminated timber (CLT or X-lam), or I beams\",\n  \"441890\":\n    \"Wood; builders' joinery and carpentry of wood n.e.c. in heading no. 4418\",\n  \"441891\":\n    \"Wood; builders' joinery and carpentry of wood n.e.c. in heading no. 4418, of bamboo\",\n  \"441892\":\n    \"Wood; builders' joinery and carpentry of wood n.e.c. in heading no. 4418, cellular wood panels\",\n  \"441899\":\n    \"Wood; builders' joinery and carpentry of wood n.e.c. in heading no. 4418, other than of bamboo\",\n  \"441900\": \"Wood; table and kitchenware\",\n  \"441911\":\n    \"Tableware and kitchenware, of wood; of bamboo, bread boards, chopping boards and similar boards\",\n  \"441912\": \"Tableware and kitchenware, of wood; of bamboo, chopsticks\",\n  \"441919\":\n    \"Tableware and kitchenware, of wood; of bamboo, n.e.c. in heading 4419\",\n  \"441920\": \"Tableware and kitchenware, of wood; of tropical wood\",\n  \"441990\": \"Tableware and kitchenware, of wood; not of bamboo\",\n  \"442010\": \"Wood; statuettes and other ornaments of wood\",\n  \"442011\": \"Wood; statuettes and other ornaments, of tropical wood\",\n  \"442019\": \"Wood; statuettes and other ornaments, of other than tropical wood\",\n  \"442090\":\n    \"Wood; marquetry and inlaid wood, caskets and cases for jewellery or cutlery and similar articles of wood, wooden articles of furniture not falling in chapter 94\",\n  \"442110\": \"Wood; clothes hangers\",\n  \"442120\": \"Wood; coffins\",\n  \"442190\":\n    \"Wood; articles of wood n.e.c. in heading no. 4414 to 4420 (excluding clothes hangers)\",\n  \"442191\":\n    \"Wood; of bamboo, articles n.e.c. in heading no. 4414 to 4420 (excluding clothes hangers)\",\n  \"442199\": \"Wood articles; excl. bamboo (exclusionary category)\",\n  \"450110\": \"Cork; natural cork, raw or simply prepared\",\n  \"450190\": \"Cork; waste cork, crushed, granulated or ground cork\",\n  \"450200\":\n    \"Cork; natural cork, debacked or roughly squared, or in rectangular (including square) blocks, plates, sheets or strip, (including sharp-edged blanks for corks or stoppers)\",\n  \"450310\": \"Cork; corks and stoppers, of natural cork\",\n  \"450390\": \"Cork; articles of natural cork other than corks and stoppers\",\n  \"450410\":\n    \"Cork; blocks, plates, sheets and strip, tiles of any shape, solid cylinders (including discs), of agglomerated cork (with or without a binding substance)\",\n  \"450490\":\n    \"Cork; articles of agglomerated cork (with or without a binding substance), n.e.c. in heading no. 4504\",\n  \"460110\":\n    \"Plaiting materials; plaits and similar products of plaiting materials, whether or not assembled into strips\",\n  \"460120\":\n    \"Plaiting materials; mats, matting and screens, of vegetable materials\",\n  \"460121\":\n    \"Plaiting materials, plaits and similar products of plaiting materials; mats, matting and screens, of bamboo\",\n  \"460122\":\n    \"Plaiting materials, plaits and similar products of plaiting materials; mats, matting and screens, of rattan\",\n  \"460129\":\n    \"Plaiting materials, plaits and similar products of plaiting materials; mats, matting and screens, of vegetable materials other than bamboo or rattan\",\n  \"460191\":\n    \"Plaiting materials; products of vegetable materials n.e.s. in heading no. 4601\",\n  \"460192\":\n    \"Plaiting materials, plaits and similar products of plaiting materials; (not mats, matting or screens), of bamboo\",\n  \"460193\":\n    \"Plaiting materials, plaits and similar products of plaiting materials; (not mats, matting or screens), of rattan\",\n  \"460194\":\n    \"Plaiting materials, plaits and similar products of plaiting materials; (not mats, matting or screens), of vegetable materials other than bamboo or rattan\",\n  \"460199\":\n    \"Plaiting materials, plaits and similar products of plaiting materials; products of non-vegetable materials\",\n  \"460210\":\n    \"Basketwork, wickerwork and other articles; of vegetable materials, made directly to shape from plaiting materials or made up from goods of heading no. 4601; articles of loofah\",\n  \"460211\":\n    \"Basketwork, wickerwork and other articles; of bamboo, made directly to shape from plaiting materials or made up from goods of heading no. 4601\",\n  \"460212\":\n    \"Basketwork, wickerwork and other articles; of rattan, made directly to shape from plaiting materials or made up from goods of heading no. 4601\",\n  \"460219\":\n    \"Basketwork, wickerwork and other articles; of vegetable materials (not bamboo or rattan), made directly to shape from plaiting materials or made up from goods of heading no. 4601; articles of loofah\",\n  \"460290\":\n    \"Basketwork, wickerwork and other articles; of non-vegetable materials, made directly to shape from plaiting materials or made up from goods of heading no. 4601\",\n  \"470100\": \"Wood pulp; mechanical wood pulp\",\n  \"470200\": \"Chemical wood pulp; dissolving grades\",\n  \"470311\":\n    \"Wood pulp; chemical wood pulp, soda or sulphate, (other than dissolving grades), unbleached, of coniferous wood\",\n  \"470319\":\n    \"Wood pulp; chemical wood pulp, soda or sulphate, (other than dissolving grades), unbleached, of non-coniferous wood\",\n  \"470321\":\n    \"Chemical wood pulp; soda or sulphate, semi-bleached or bleached, coniferous; excl. dissolving grades\",\n  \"470329\":\n    \"Chemical wood pulp; soda or sulphate, semi-bleached or bleached, non-coniferous; excl. dissolving grades\",\n  \"470411\":\n    \"Wood pulp; chemical wood pulp, sulphite, (other than dissolving grades), unbleached, of coniferous wood\",\n  \"470419\":\n    \"Wood pulp; chemical wood pulp, sulphite, (other than dissolving grades), unbleached, of non-coniferous wood\",\n  \"470421\":\n    \"Wood pulp; chemical wood pulp, sulphite, (other than dissolving grades), semi-bleached or bleached, of coniferous wood\",\n  \"470429\":\n    \"Wood pulp; chemical wood pulp, sulphite, (other than dissolving grades), semi-bleached or bleached, of non-coniferous wood\",\n  \"470500\":\n    \"Wood pulp; obtained by a combination of mechanical and chemical pulping processes\",\n  \"470610\": \"Pulp; cotton linters pulp\",\n  \"470620\":\n    \"Pulp; of fibres derived from recovered (waste and scrap) paper or paperboard\",\n  \"470630\": \"Pulp; of bamboo\",\n  \"470691\":\n    \"Pulp; of fibrous cellulosic material, other than of bamboo or fibres derived from recovered (waste and scrap) paper or paperboard or from cotton linters pulp, mechanical\",\n  \"470692\":\n    \"Pulp; of fibrous cellulosic material, other than of bamboo or fibres derived from recovered (waste and scrap) paper or paperboard or from cotton linters pulp, chemical\",\n  \"470693\":\n    \"Pulp; of fibrous cellulosic material, other than of bamboo or fibres derived from recovered (waste and scrap) paper or paperboard or from cotton linters pulp, obtained by a combination of mechanical and chemical processes\",\n  \"470710\":\n    \"Waste and scrap of kraft paper/paperboard or corrugated paper/paperboard\",\n  \"470720\":\n    \"Paper or paperboard; waste and scrap, paper or paperboard made mainly of bleached chemical pulp, not coloured in the mass\",\n  \"470730\":\n    \"Paper or paperboard; waste and scrap, paper or paperboard made mainly of mechanical pulp (e.g. newspapers, journals and similar printed matter)\",\n  \"470790\":\n    \"Paper or paperboard; waste and scrap, of paper or paperboard n.e.c. in heading no. 4707 and of unsorted waste and scrap\",\n  \"480100\":\n    \"Newsprint; made of fibres obtained essentially by a chemi-mechanical process or of a weight, per m2, of more than 57g but not more than 65g, in rolls or sheets\",\n  \"480210\": \"Hand-made paper or paperboard\",\n  \"480220\":\n    \"Uncoated paper and paperboard (not 4801 or 4803); of a kind used as a base for photo-sensitive, heat-sensitive or electro-sensitive paper or paperboard, in rolls or sheets\",\n  \"480230\":\n    \"Paper and paperboard; carbonising base paper, uncoated, of a kind used for writing, printing and other graphic purposes, in rolls or sheets\",\n  \"480240\":\n    \"Uncoated paper and paperboard (not 4801 or 4803); wallpaper base, in rolls or sheets\",\n  \"480251\":\n    \"Paper and paperboard; uncoated, containing no, or not more than 10% by weight of fibres obtained by mechanical process, weighing less than 40g/m2, in rolls or sheets\",\n  \"480252\":\n    \"Paper and paperboard; uncoated, containing no, or not more than 10% by weight of fibres obtained by mechanical process, weighing 40g/m2 or more but not more than 150g/m2, in rolls or sheets\",\n  \"480253\":\n    \"Paper and paperboard; uncoated, containing no, or not more than 10% by weight of fibres obtained by mechanical process, weighing more than 150g/m2, in rolls or sheets\",\n  \"480254\":\n    \"Uncoated paper and paperboard (not 4801 or 4803); printing, writing or graphic, 10% or less by weight of mechanical or chemi-mechanical processed fibre, weighing less than 40g/m2, in rolls or sheets\",\n  \"480255\":\n    \"Uncoated paper and paperboard (not 4801 or 4803); printing, writing or graphic, 10% or less by weight of mechanical or chemi-mechanical processed fibre, weighing 40g/m2 to 150g/m2, in rolls\",\n  \"480256\":\n    \"Uncoated paper and paperboard (not 4801 or 4803); printing, writing or graphic, 10% or less by weight of mechanical or chemi-mechanical processed fibre, weight 40-150g/m2, in sheets 435mm or less by 297mm or less (unfolded)\",\n  \"480257\":\n    \"Uncoated paper and paperboard (not 4801 or 4803); printing, writing or graphic, 10% or less by weight of mechanical or chemi-mechanical processed fibre, weight 40-150g/m2, n.e.c. in item no. 4802.55 or 4802.56\",\n  \"480258\":\n    \"Uncoated paper and paperboard (not 4801 or 4803); printing, writing or graphic, 10% or less by weight of mechanical or chemi-mechanical processed fibre, weighing more than 150g/m2\",\n  \"480260\":\n    \"Paper and paperboard; uncoated, with more than 10% by weight of the total fibre content obtained by a mechanical process, in rolls or sheets\",\n  \"480261\":\n    \"Uncoated paper and paperboard (not 4801 or 4803); over 10% by weight of mechanical or chemi-mechanical processed fibre, in rolls\",\n  \"480262\":\n    \"Uncoated paper and paperboard (not 4801 or 4803); over 10% by weight of mechanical or chemi-mechanical processed fibre, in sheets 435mm or less by 297mm or less (unfolded)\",\n  \"480269\":\n    \"Uncoated paper and paperboard (not 4801 or 4803); over 10% by weight of mechanical or chemi-mechanical processed fibre, other than rolls, other than sheets 435mm or less by 297mm or less (unfolded)\",\n  \"480300\":\n    \"Tissue, towel, napkin stock or similar; for household or sanitary use, cellulose, wadding webs of cellulose fibres, in rolls exceeding 36cm in width or rectangular sheets with one side more than 36cm in unfolded state\",\n  \"480411\":\n    \"Kraft paper and paperboard; kraftliner, uncoated, unbleached, in rolls or sheets, other than that of heading no. 4802 or 4803\",\n  \"480419\":\n    \"Kraft paper and paperboard; kraftliner, uncoated, bleached, in rolls or sheets, other than that of heading no. 4802 or 4803\",\n  \"480421\":\n    \"Kraft paper and paperboard; sack kraft paper, uncoated, unbleached, in rolls or sheets, other than that of heading no. 4802 or 4803\",\n  \"480429\":\n    \"Kraft paper and paperboard; sack kraft paper, uncoated, bleached, in rolls or sheets, other than that of heading no. 4802 or 4803\",\n  \"480431\":\n    \"Kraft paper and paperboard; uncoated, unbleached, weight 150g/m2 or less, in rolls or sheets, other than that of heading no. 4802 or 4803\",\n  \"480439\":\n    \"Kraft paper and paperboard; uncoated, bleached, weight 150g/m2 or less, in rolls or sheets, other than that of heading no. 4802 or 4803\",\n  \"480441\":\n    \"Kraft paper and paperboard; uncoated, unbleached, weight more than 150g/m2 but less than 225g/m2, in rolls or sheets, other than that of heading no. 4802 or 4803\",\n  \"480442\":\n    \"Kraft paper and paperboard; uncoated, weight between 150 and 225g/m2, bleached uniformly throughout, more than 95% of total fibre content consists of chemically processed wood fibres, in rolls or sheets\",\n  \"480449\":\n    \"Kraft paper and paperboard; uncoated, weight more than 150g/m2 but less than 225g/m2, in rolls or sheets, n.e.c. in item no. 4804.4, other than that of heading no. 4802 or 4803\",\n  \"480451\":\n    \"Kraft paper and paperboard; uncoated, unbleached, weight 225g/m2 or more, in rolls or sheets, other than that of heading no. 4802 or 4803\",\n  \"480452\":\n    \"Kraft paper and paperboard; uncoated, weight 225g/m2 or more, bleached uniformly throughout, more than 95% of total fibre content consists of chemically processed wood fibres, in rolls or sheets\",\n  \"480459\":\n    \"Kraft paper and paperboard; uncoated, weight 225g/m2 or more, in rolls or sheets, n.e.c. in item no. 4804.5, other than that of heading no. 4802 or 4803\",\n  \"480510\":\n    \"Paper and paperboard; semi-chemical fluting paper (corrugating medium), uncoated, in rolls or sheets\",\n  \"480511\":\n    \"Paper and paperboard; uncoated, semi-chemical fluting paper, rolls or sheets\",\n  \"480512\":\n    \"Paper and paperboard; uncoated, straw fluting paper, rolls or sheets\",\n  \"480519\":\n    \"Paper and paperboard; uncoated, fluting paper other than semi-chemical or straw, rolls or sheets\",\n  \"480521\":\n    \"Paper and paperboard; uncoated, multi-ply, each layer bleached, in rolls or sheets\",\n  \"480522\":\n    \"Paper and paperboard; uncoated, multi-ply, with only one outer layer bleached, in rolls or sheets\",\n  \"480523\":\n    \"Paper and paperboard; uncoated, multi-ply, having three or more layers with only the two outer layers bleached, in rolls or sheets\",\n  \"480524\":\n    \"Paper & paperboard; uncoated, testliner (recycled linerboard), weight 150g/m2, or less, in rolls or sheets\",\n  \"480525\":\n    \"Paper & paperboard; uncoated, testliner (recycled linerboard), weight over 150g/m2, in rolls or sheets\",\n  \"480529\":\n    \"Paper and paperboard; uncoated, multi-ply, in rolls or sheets, n.e.s. in item no. 4805.2\",\n  \"480530\":\n    \"Paper and paperboard; sulphite wrapping paper, uncoated, in rolls or sheets\",\n  \"480540\":\n    \"Paper and paperboard; filter paper and paperboard, uncoated, in rolls or sheets\",\n  \"480550\":\n    \"Paper and paperboard; felt paper and paperboard, uncoated, in rolls or sheets\",\n  \"480560\":\n    \"Paper and paperboard; uncoated, weight 150g/m2 or less, in rolls or sheets, n.e.s. in heading no. 4805\",\n  \"480570\":\n    \"Paper and paperboard; uncoated, weight between 150 and 225 g/m2, in rolls or sheets, n.e.s. in heading no. 4805\",\n  \"480580\":\n    \"Paper and paperboard; uncoated, weight 225/m2 or more, in rolls or sheets, n.e.s. in heading no. 4805\",\n  \"480591\":\n    \"Paper and paperboard; uncoated, weight 150g/m2 or less, in rolls or sheets, n.e.c. in heading no.4805\",\n  \"480592\":\n    \"Paper and paperboard; uncoated, weight more than 150g/m2 but less than 225 g/m2, in rolls or sheets, n.e.c. in heading no. 4805\",\n  \"480593\":\n    \"Paper and paperboard; uncoated, weight 225/m2 or more, in rolls or sheets, n.e.c. in heading no. 4805\",\n  \"480610\": \"Paper; vegetable parchment, in rolls or sheets\",\n  \"480620\": \"Paper; greaseproof papers, in rolls or sheets\",\n  \"480630\": \"Paper; tracing papers, in rolls or sheets\",\n  \"480640\":\n    \"Paper; glassine and other glazed transparent or translucent papers, in rolls or sheets\",\n  \"480700\":\n    \"Paper and paperboard; composite (made by sticking layers together with an adhesive), not surface-coated or impregnated, whether or not internally reinforced, in rolls or sheets\",\n  \"480710\":\n    \"Paper and paperboard; composite, laminated internally with bitumen, tar or asphalt, not surface coated or impregnated, whether or not internally reinforced, in rolls or sheets\",\n  \"480790\":\n    \"Paper and paperboard; (other than laminated internally with bitumin, tar or asphalt), not surface-coated or impregnated, whether or not internally reinforced, in rolls or sheets\",\n  \"480791\":\n    \"Paper and paperboard; straw paper and paperboard, not surface-coated or impregnated, internally reinforced or not, whether or not covered with paper other than straw paper, in rolls or sheets\",\n  \"480799\":\n    \"Paper and paperboard; composite, not surface-coated or impregnated, whether or not internally reinforced, in rolls or sheets, n.e.s. in heading no. 4807\",\n  \"480810\":\n    \"Paper and paperboard; corrugated, whether or not perforated, in rolls or sheets, other than paper of heading 4803\",\n  \"480820\":\n    \"Paper and paperboard; sack kraft paper, creped or crinkled, whether or not embossed or perforated, in rolls or sheets, other than that of heading no. 4803 or 4818\",\n  \"480830\":\n    \"Paper and paperboard; kraft paper (other than sack), creped or crinkled, whether or not embossed or perforated, in rolls or sheets, other than that of heading no. 4803 or 4818\",\n  \"480840\":\n    \"Paper and paperboard; kraft paper, creped or crinkled, whether or not embossed or perforated, in rolls or sheets, other than paper of heading 4803\",\n  \"480890\":\n    \"Paper and paperboard; other than corrugated (with or without glued flat surface sheets) or kraft paper, creped or crinkled, whether or not embossed or perforated, in rolls or sheets, other than paper of heading 4803\",\n  \"480910\":\n    \"Paper; carbon and similar copying papers, whether or not printed, in rolls exceeding 36cm wide or in rectangular sheets with at least one side exceeding 36cm in unfolded state\",\n  \"480920\":\n    \"Paper; self-copy paper, whether or not printed, in rolls or sheets\",\n  \"480990\":\n    \"Paper; carbon paper and other copying or transfer papers (including coated or impregnated paper for duplicator stencils or offset plates), whether or not printed, in rolls or sheets\",\n  \"481011\":\n    \"Paper and paperboard; coated with inorganic substances only, having 10% or less of mechanically processed fibres, weight 150g/m2 or less, for writing, printing or other graphic purposes, in rolls or sheets\",\n  \"481012\":\n    \"Paper and paperboard; coated with inorganic substances only, having 10% or less of mechanically processed fibres, weight more than 150g/m2, for writing, printing or other graphic purposes, in rolls or sheets\",\n  \"481013\":\n    \"Paper and paperboard; coated with kaolin or other inorganic substances, for printing & writing, graphics, containing no, or not more than 10% by weight of total fibres obtained by mechanical or chemi-mechanical process, in rolls\",\n  \"481014\":\n    \"Paper and paperboard; coated with kaolin or other inorganic substances, for printing/writing/graphics, having 10% or less by weight of total fibres got mechanical/chemi-mechanical process, sheets, sides 435mm or less by 297mm or less, unfolded,\",\n  \"481019\":\n    \"Paper and paperboard; coated with kaolin or other inorganic substances, for printing/writing/graphics, having 10% or less by weight of total fibres got by mechanical/chemi-mechanical process, sides exceeding 435mm and 297mm, unfolded, sheets\",\n  \"481021\":\n    \"Paper and paperboard; light-weight coated paper, coated with kaolin or other inorganic substances only, having more than 10% of mechanically processed fibres, for writing, printing or other graphic purposes, in rolls or sheets\",\n  \"481022\":\n    \"Paper and paperboard; coated with kaolin or other inorganic substances only, having more than 10% of mechanical or chemi-mechanical processed fibres, for writing, printing or other graphic purposes, light-weight coated paper, in rolls or sheets\",\n  \"481029\":\n    \"Paper and paperboard; coated with kaolin or other inorganic substances only, having more than 10% of mechanically processed fibres, (excluding light-weight paper), for writing, printing or other graphic purposes, in rolls or sheets\",\n  \"481031\":\n    \"Kraft paper and paperboard; uniformly bleached throughout, coated with inorganic substances, more than 95% of chemically processed wood fibres, weight 150g/m2 or less, for non-graphic purposes, in rolls or sheets\",\n  \"481032\":\n    \"Kraft paper and paperboard; uniformly bleached throughout, coated with inorganic substances, more than 95% of chemically processed wood fibres, weight more than 150g/m2, for non-graphic purposes, in rolls or sheets\",\n  \"481039\":\n    \"Kraft paper and paperboard; coated with kaolin or other inorganic substances only, for non-graphic purposes, n.e.c. in item no. 4810.31 and 4810.32, in rolls or sheets\",\n  \"481091\":\n    \"Paper and paperboard; multi-ply, coated with kaolin or other inorganic substances only, for non-graphic purposes, n.e.s. in heading no. 4810, in rolls or sheets\",\n  \"481092\":\n    \"Paper and paperboard; multi-ply, coated with kaolin or other inorganic substances only, for non-graphic purposes, n.e.c. in heading no. 4810, in rolls or sheets\",\n  \"481099\":\n    \"Paper and paperboard; coated with inorganic substances only, whether or not surface-coloured, surface-decorated or printed, n.e.c. in heading no. 4810, in rolls or sheets\",\n  \"481110\":\n    \"Paper and paperboard; tarred, bituminised or asphalted, in rolls or sheets, other than goods of heading no. 4803, 4809, or 4810\",\n  \"481121\":\n    \"Paper and paperboard; self-adhesive, in rolls or sheets, other than goods of heading no. 4803, 4809, 4810 or 4818\",\n  \"481129\":\n    \"Paper and paperboard; gummed or adhesive paper and paperboard (excluding self-adhesive), in rolls or sheets, other than goods of heading no. 4803, 4809, 4810 or 4818\",\n  \"481131\":\n    \"Paper and paperboard; coated, impregnated or covered with plastics (excluding adhesives), bleached, weighing more than 150g/m2, other than goods of heading no. 4803, 4809, 4810 or 4818\",\n  \"481139\":\n    \"Paper and paperboard; coated, impregnated or covered with plastics (excluding adhesives), other than bleached and weighing more than 150g/m2, not goods of heading no. 4803, 4809, 4810 or 4818\",\n  \"481140\":\n    \"Paper and paperboard; coated or impregnated with wax, paraffin wax, stearin, oil or glycerol, other than goods of heading no. 4803, 4809, 4810 or 4818\",\n  \"481141\":\n    \"Paper and paperboard; self-adhesive, in rolls or sheets, other than goods of heading no. 4803, 4809, or 4810\",\n  \"481149\":\n    \"Paper and paperboard; gummed or adhesive paper and paperboard (excluding self-adhesive), in rolls or sheets, other than goods of heading no. 4803, 4809, or 4810\",\n  \"481151\":\n    \"Paper and paperboard; coated, impregnated or covered with plastics (excluding adhesives), bleached, weighing more than 150g/m2, other than goods of heading no. 4803, 4809, or 4810\",\n  \"481159\":\n    \"Paper and paperboard; coated, impregnated or covered with plastics (excluding adhesives), other than bleached and weighing more than 150g/m2, other than goods of heading no. 4803, 4809, or 4810\",\n  \"481160\":\n    \"Paper and paperboard; coated or impregnated with wax, paraffin wax, stearin, oil or glycerol, other than goods of heading no. 4803, 4809, or 4810\",\n  \"481190\":\n    \"Paper, paperboard, cellulose wadding and webs of soft cellulose fibres; coated, impregnated, covered, surface-decorated or surface-coloured, n.e.c. in heading no. 4811, in rolls or sheets\",\n  \"481200\": \"Paper pulp; filter blocks, slabs and plates of paper pulp\",\n  \"481310\": \"Paper, cigarette; in the form of booklets or tubes\",\n  \"481320\": \"Paper, cigarette; in rolls of a width not exceeding 5cm\",\n  \"481390\":\n    \"Paper, cigarette; (other than in rolls of a width not exceeding 5cm, or in booklets or tubes)\",\n  \"481410\": \"Wallpaper and similar wall coverings; ingrain paper\",\n  \"481420\":\n    \"Wallpaper and similar wall coverings; coated or covered on the face side, with a grained, embossed, coloured, design-printed or otherwise decorated layer of plastics\",\n  \"481430\":\n    \"Wallpaper and similar wall coverings; consisting of paper covered on the face side with plaiting material, whether or not bound together in parallel strands or woven\",\n  \"481490\":\n    \"Wallpaper and similar wall coverings and window transparencies of paper; n.e.c. in heading 4814\",\n  \"481500\":\n    \"Floor coverings; on a base of paper or of paperboard, whether or not cut to size\",\n  \"481610\":\n    \"Carbon paper; carbon or similar copying papers (other than those of heading no. 4809), whether or not put in boxes\",\n  \"481620\":\n    \"Paper; self-copy paper (other than those of heading no. 4809), whether or not put up in boxes\",\n  \"481630\":\n    \"Paper; duplicator stencils (other than those of heading no. 4809), whether or not put up in boxes\",\n  \"481690\":\n    \"Paper; carbon paper and other copying or transfer papers (other than those of heading no. 4809), n.e.c. in item no. 4816.20\",\n  \"481710\": \"Paper and paperboard; envelopes\",\n  \"481720\":\n    \"Paper and paperboard; letter cards, plain postcards and correspondence cards\",\n  \"481730\":\n    \"Paper and paperboard; boxes, pouches, wallets and writing compendiums containing an assortment of paper stationery\",\n  \"481810\": \"Paper articles; toilet paper\",\n  \"481820\":\n    \"Paper articles; handkerchiefs, cleansing or facial tissues and towels\",\n  \"481830\":\n    \"Paper articles; tablecloths and serviettes, of paper, cellulose wadding or fibres\",\n  \"481840\":\n    \"Paper articles; sanitary towels and tampons, napkins and napkin liners for babies and similar sanitary articles\",\n  \"481850\":\n    \"Paper articles; apparel and clothing accessories of paper, cellulose wadding or fibres\",\n  \"481890\":\n    \"Paper articles; articles of paper, cellulose wadding or fibres, n.e.c. in heading no. 4818\",\n  \"481910\":\n    \"Paper and paperboard; cartons, boxes and cases, of corrugated paper or paperboard\",\n  \"481920\":\n    \"Folding cartons, boxes, and cases; non-corrugated paper or paperboard\",\n  \"481930\":\n    \"Paper and paperboard; sacks and bags of paper, paperboard, cellulose wadding or fibres, having a base of a width of 40cm or more\",\n  \"481940\":\n    \"Paper and paperboard; sacks and bags, including cones, of paper, paperboard, cellulose wadding or fibres, having a base width less than 40cm\",\n  \"481950\":\n    \"Paper and paperboard; packing containers, including record sleeves, of paper, paperboard, cellulose wadding or fibres, n.e.c. in heading no. 4819\",\n  \"481960\":\n    \"Paper and paperboard; box files, letter trays, storage boxes and similar articles, used in offices, shops or the like of paper, paperboard, cellulose wadding or webs of cellulose fibres\",\n  \"482010\":\n    \"Paper and paperboard; registers, account books, note books, order books, receipt books, letter pads, memorandum pads, diaries and similar articles\",\n  \"482020\": \"Paper and paperboard; exercise books\",\n  \"482030\": \"Paper and paperboard; binders, folders and file covers\",\n  \"482040\":\n    \"Paper and paperboard; manifold business forms and interleaved carbon sets\",\n  \"482050\": \"Paper and paperboard; albums for samples or for collections\",\n  \"482090\": \"Paper or paperboard; stationery n.e.c. in heading no. 4820\",\n  \"482110\": \"Paper and paperboard; labels or all kinds, printed\",\n  \"482190\": \"Paper and paperboard; labels of all kinds, unprinted\",\n  \"482210\":\n    \"Paper pulp, paper or paperboard; bobbins, spools, cops and similar supports, of a kind used for winding textile yarn (whether or not perforated or hardened)\",\n  \"482290\":\n    \"Paper pulp, paper or paperboard; bobbins, spools, cops and similar supports, other than of a kind used for winding textile yarn (whether or not perforated or hardened)\",\n  \"482311\": \"Paper and paperboard; self-adhesive paper, in strips or rolls\",\n  \"482312\": \"Paper and paperboard; self-adhesive paper, in strips or rolls\",\n  \"482319\":\n    \"Paper and paperboard; gummed or adhesive paper, in strips or rolls, other than self-adhesive paper\",\n  \"482320\": \"Paper and paperboard; filter paper and paperboard\",\n  \"482330\":\n    \"Paper and paperboard; cards, not punched, for punch card machines, whether or not in strips\",\n  \"482340\":\n    \"Paper and paperboard; rolls, sheets and dials, printed for self-recording apparatus\",\n  \"482351\":\n    \"Paper and paperboard; of a kind used for writing, printing or other graphic purposes, printed, embossed or perforated, n.e.s. in heading no. 4823\",\n  \"482359\":\n    \"Paper and paperboard; of a kind used for writing, printing or other graphic purposes, (not printed, embossed or perforated), n.e.s. in heading no. 4823\",\n  \"482360\": \"Paper and paperboard; trays, dishes, plates, cups and the like\",\n  \"482361\":\n    \"Paper and paperboard; trays, dishes, plates, cups and the like, of bamboo paper or paperboard\",\n  \"482369\":\n    \"Paper and paperboard; trays, dishes, plates, cups and the like, of paper or paperboard other than of bamboo\",\n  \"482370\": \"Paper pulp; moulded or pressed articles or paper pulp\",\n  \"482390\":\n    \"Paper pulp, paper, paperboard, cellulose wadding or webs of cellulose fibres; articles n.e.c. in heading no. 4823\",\n  \"490110\": \"Printed matter; in single sheets, whether or not folded\",\n  \"490191\":\n    \"Printed matter; dictionaries, encyclopaedias and serial instalments thereof\",\n  \"490199\":\n    \"Printed matter; books, brochures, leaflets and similar printed matter n.e.c. in item no. 4901.10 or 4901.91\",\n  \"490210\":\n    \"Newspapers, journals and periodicals; whether or not illustrated or containing advertising material, appearing at least four times a week\",\n  \"490290\":\n    \"Newspapers, journals and periodicals; whether or not illustrated or containing advertising material, appearing less frequently than four times a week\",\n  \"490300\": \"Printed matter; children's picture, drawing or colouring books\",\n  \"490400\":\n    \"Music; printed or in manuscript, whether or not bound or illustrated\",\n  \"490510\": \"Globes; printed\",\n  \"490520\":\n    \"Maps and hydrographic or similar charts; printed in book form, including atlases, topographical plans and similar\",\n  \"490590\":\n    \"Maps and hydrographic or similar charts; (printed other than in book form), including wall maps, topographical plans and similar\",\n  \"490591\":\n    \"Maps and hydrographic or similar charts; printed in book form, including atlases, topographical plans and similar\",\n  \"490599\":\n    \"Maps and hydrographic or similar charts; (printed other than in book form), including wall maps, topographical plans and similar\",\n  \"490600\":\n    \"Plans and drawings; for architectural, engineering, industrial, commercial, topographical or similar, being originals drawn by hand; hand-written texts; photo- graphic reproductions; their carbon copies\",\n  \"490700\":\n    \"Unused postage, revenue or similar stamps of current or new issue in the country in which they have, or will have, a recognised face value; stamp-impressed paper; cheque forms; banknotes, stock, share or bond certificates and the like of similar title\",\n  \"490810\": \"Printed matter; transfers (decalcomanias), vitrifiable\",\n  \"490890\": \"Printed matter; transfers (decalcomanias), other than vitrifiable\",\n  \"490900\":\n    \"Printed or illustrated postcards; printed cards bearing personal greetings, messages or announcements, whether or not illustrated, with or without envelopes or trimmings\",\n  \"491000\": \"Calendars; printed, of any kind, including calendar blocks\",\n  \"491110\":\n    \"Printed matter; trade advertising material, commercial catalogues and the like\",\n  \"491191\":\n    \"Printed matter; pictures, designs and photographs, n.e.c. in item no. 4911.10\",\n  \"491199\": \"Printed matter; n.e.c. in heading no. 4911\",\n  \"500100\": \"Silk; silk-worm cocoons suitable for reeling\",\n  \"500200\": \"Silk; raw silk (not thrown)\",\n  \"500300\":\n    \"Silk waste (including cocoons unsuitable for reeling, yarn waste and garnetted stock)\",\n  \"500310\":\n    \"Silk; waste, not carded or combed (including cocoons unsuitable for reeling, yarn waste and garnetted stock)\",\n  \"500390\":\n    \"Silk; waste, carded or combed (including cocoons unsuitable for reeling, yarn waste and garnetted stock)\",\n  \"500400\":\n    \"Silk; yarn (other than yarn spun from silk waste), not put up for retail sale\",\n  \"500500\": \"Silk; yarn spun from silk waste, not put up for retail sale\",\n  \"500600\":\n    \"Silk yarn and yarn spun from silk waste; put up for retail sale, and silk-worm gut\",\n  \"500710\": \"Silk; woven fabrics of noil silk\",\n  \"500720\":\n    \"Silk; woven fabrics, containing 85% or more by weight of silk or of silk waste other than noil silk\",\n  \"500790\": \"Silk; woven fabrics n.e.c. in heading no. 5007\",\n  \"510111\": \"Wool; greasy, shorn\",\n  \"510119\":\n    \"Wool; (other than shorn), greasy (including fleece-washed wool), not carded or combed\",\n  \"510121\": \"Wool; (not carded or combed), degreased, (not carbonised), shorn\",\n  \"510129\":\n    \"Wool; (not carded or combed), degreased, (not carbonised), (other than shorn)\",\n  \"510130\": \"Wool; (not carded or combed), carbonised\",\n  \"510210\": \"Hair; fine animal hair, not carded or combed\",\n  \"510211\":\n    \"Hair; fine animal hair, not carded or combed, of kashmir (cashmere) goats\",\n  \"510219\":\n    \"Hair; fine animal hair, not carded or combed, other than of kashmir (cashmere) goats\",\n  \"510220\": \"Hair; coarse animal hair, not carded or combed\",\n  \"510310\":\n    \"Wool and hair; noils of wool or of fine animal hair, including yarn waste, but excluding garnetted stock\",\n  \"510320\":\n    \"Wool and hair; waste of wool or of fine animal hair, including yarn waste, but excluding garnetted stock and noils of wool or of fine animal hair\",\n  \"510330\":\n    \"Wool and hair; waste of coarse animal hair, including yarn waste, but excluding garnetted stock\",\n  \"510400\":\n    \"Wool and hair; garnetted stock of wool or of fine or coarse animal hair\",\n  \"510510\": \"Wool; carded\",\n  \"510521\": \"Wool; wool tops and other combed wool, in fragments\",\n  \"510529\": \"Wool; wool tops and other combed wool, other than in fragments\",\n  \"510530\": \"Hair; fine animal hair, carded or combed\",\n  \"510531\":\n    \"Hair; fine animal hair, carded or combed, of kashmir (cashmere) goats\",\n  \"510539\":\n    \"Hair; fine animal hair, carded or combed, other than of kashmir (cashmere) goats\",\n  \"510540\": \"Hair; coarse animal hair, carded or combed\",\n  \"510610\":\n    \"Yarn; of carded wool, containing 85% or more by weight of wool, not put up for retail sale\",\n  \"510620\":\n    \"Yarn; of carded wool, containing less than 85% by weight of wool, not put up for retail sale\",\n  \"510710\":\n    \"Yarn; of combed wool, containing 85% or more by weight of wool, not put up for retail sale\",\n  \"510720\":\n    \"Yarn; of combed wool, containing less than 85% by weight of wool, not put up for retail sale\",\n  \"510810\": \"Yarn; of fine animal hair, carded, not put up for retail sale\",\n  \"510820\": \"Yarn; of fine animal hair, combed, not put up for retail sale\",\n  \"510910\":\n    \"Yarn; of wool or of fine animal hair, containing 85% or more by weight of wool or fine animal hair, put up for retail sale\",\n  \"510990\":\n    \"Yarn; of wool or of fine animal hair, containing less than 85% by weight of wool or fine animal hair, put up for retail sale\",\n  \"511000\":\n    \"Yarn; of coarse animal hair or of horsehair (including gimped horsehair yarn), whether or not put up for retail sale\",\n  \"511111\":\n    \"Fabrics, woven; of carded wool or of carded fine animal hair, containing 85% or more by weight of wool or of fine animal hair, of a weight not exceeding 300g/m2\",\n  \"511119\":\n    \"Fabrics, woven; of carded wool or of carded fine animal hair, containing 85% or more by weight of wool or of fine animal hair, of a weight exceeding 300g/m2\",\n  \"511120\":\n    \"Fabrics, woven; of carded wool or carded fine animal hair, containing less than 85% by weight of wool or fine animal hair, mixed mainly or solely with man-made filaments\",\n  \"511130\":\n    \"Fabrics, woven; of carded wool or carded fine animal hair, containing less than 85% by weight of wool or fine animal hair, mixed mainly or solely with man-made staple fibres\",\n  \"511190\":\n    \"Fabrics, woven; of carded wool or carded fine animal hair, containing less than 85% by weight of wool or fine animal hair, mixed mainly or solely with fibres n.e.c. in heading no. 5111\",\n  \"511211\":\n    \"Fabrics, woven; of combed wool or combed fine animal hair, containing 85% or more by weight of wool or fine animal hair, of a weight not exceeding 200g/m2\",\n  \"511219\":\n    \"Fabrics, woven; of combed wool or combed fine animal hair, containing 85% or more by weight of wool or fine animal hair, of a weight exceeding 200g/m2\",\n  \"511220\":\n    \"Fabrics, woven; of combed wool or combed fine animal hair, containing less than 85% by weight of wool or fine animal hair, mixed mainly or solely with man-made filaments\",\n  \"511230\":\n    \"Fabrics, woven; of combed wool or combed fine animal hair, containing less than 85% by weight of wool or fine animal hair, mixed mainly or solely with man-made staple fibres\",\n  \"511290\":\n    \"Fabrics, woven; of combed wool or combed fine animal hair, containing less than 85% by weight of wool or fine animal hair, mixed mainly or solely with fibres n.e.c. in heading no. 5112\",\n  \"511300\": \"Fabrics, woven; of coarse animal hair or of horsehair\",\n  \"520100\": \"Cotton; not carded or combed\",\n  \"520210\": \"Cotton; yarn waste (including thread waste)\",\n  \"520291\": \"Cotton; garnetted stock waste\",\n  \"520299\":\n    \"Cotton; waste other than garnetted stock and yarn (including thread) waste\",\n  \"520300\": \"Cotton; carded or combed\",\n  \"520411\":\n    \"Cotton; sewing thread, containing 85% or more by weight of cotton, not put up for retail sale\",\n  \"520419\":\n    \"Cotton; sewing thread, containing less than 85% by weight of cotton, not put up for retail sale\",\n  \"520420\": \"Cotton; sewing thread, put up for retail sale\",\n  \"520511\":\n    \"Cotton yarn; (not sewing thread), single, of uncombed fibres, 85% or more by weight of cotton, measuring 714.29 decitex or more, (not exceeding 14 metric number), not for retail sale\",\n  \"520512\":\n    \"Cotton yarn; (not sewing thread), single, of uncombed fibres, 85% or more by weight of cotton, less than 714.29 but not less than 232.56 decitex (exceeding 14 but not exceeding 43 metric number), not for retail sale\",\n  \"520513\":\n    \"Cotton yarn; (not sewing thread), single, of uncombed fibres, 85% or more by weight of cotton, less than 232.56 but not less than 192.31 decitex (exceeding 43 but not exceeding 52 metric number), not for retail sale\",\n  \"520514\":\n    \"Cotton yarn; (not sewing thread), single, of uncombed fibres, 85% or more by weight of cotton, less than 192.31 but not less than 125 decitex (exceeding 52 but not exceeding 80 metric number), not for retail sale\",\n  \"520515\":\n    \"Cotton yarn; (not sewing thread), single, of uncombed fibres, 85% or more by weight of cotton, measuring less than 125 decitex (exceeding 80 metric number), not for retail sale\",\n  \"520521\":\n    \"Cotton yarn; (not sewing thread), single, of combed fibres, 85% or more by weight of cotton, measuring 714.29 decitex or more, (not exceeding 14 metric number), not for retail sale\",\n  \"520522\":\n    \"Cotton yarn; (not sewing thread), single, of combed fibres, 85% or more by weight of cotton, less than 714.29 but not less than 232.56 decitex (exceeding 14 but not exceeding 43 metric number), not for retail sale\",\n  \"520523\":\n    \"Cotton yarn; (not sewing thread), single, of combed fibres, 85% or more by weight of cotton, less than 232.56 but not less than 192.31 decitex (exceeding 43 but not exceeding 52 metric number), not for retail sale\",\n  \"520524\":\n    \"Cotton yarn; (not sewing thread), single, of combed fibres, 85% or more by weight of cotton, less than 192.31 but not less than 125 decitex (exceeding 52 but not exceeding 80 metric number), not for retail sale\",\n  \"520525\":\n    \"Cotton yarn; (not sewing thread), single, of combed fibres, 85% or more by weight of cotton, measuring less than 125 decitex (exceeding 80 metric number), not for retail sale\",\n  \"520526\":\n    \"Cotton yarn; (not sewing thread), single, of combed fibres, 85% or more by weight of cotton, less than 125 but not less than 106.38 decitex (over 80 but not over 94 metric number), not for retail sale\",\n  \"520527\":\n    \"Cotton yarn; (not sewing thread), single, of combed fibres, 85% or more by weight of cotton, less than 106.38 but not less than 83.33 decitex (over 94 but not over 120 metric number), not for retail sale\",\n  \"520528\":\n    \"Cotton yarn; (not sewing thread), single, of combed fibres, 85% or more by weight of cotton, measuring less than 83.33 decitex (exceeding 120 metric number), not for retail sale\",\n  \"520531\":\n    \"Cotton yarn; (not sewing thread), multiple or cabled, of uncombed fibres, 85% or more by weight of cotton, 714.29 decitex or more (not exceeding 14 metric number) per single yarn, not for retail sale\",\n  \"520532\":\n    \"Cotton yarn; (not sewing thread), multiple or cabled, of uncombed fibres, 85% or more by weight of cotton, 714.28 to 232.56 decitex (15 to 43 metric number) per single yarn, not for retail sale\",\n  \"520533\":\n    \"Cotton yarn; (not sewing thread), multiple or cabled, of uncombed fibres, 85% or more by weight of cotton, 232.55 to 192.31 decitex (44 to 52 metric number) per single yarn, not for retail sale\",\n  \"520534\":\n    \"Cotton yarn; (not sewing thread), multiple or cabled, of uncombed fibres, 85% or more by weight of cotton, 192.30 to 125 decitex (53 to 80 metric number) per single yarn, not for retail sale\",\n  \"520535\":\n    \"Cotton yarn; (not sewing thread), multiple or cabled, of uncombed fibres, 85% or more by weight of cotton, less than 125 decitex (exceeding 80 metric number), per single yarn, not for retail sale\",\n  \"520541\":\n    \"Cotton yarn; (not sewing thread), multiple or cabled, of combed fibres, 85% or more by weight of cotton, 714.29 decitex or more (not exceeding 14 metric number) per single yarn, not for retail sale\",\n  \"520542\":\n    \"Cotton yarn; (not sewing thread), multiple or cabled, of combed fibres, 85% or more by weight of cotton, 714.28 to 232.56 decitex (15 to 43 metric number) per single yarn, not for retail sale\",\n  \"520543\":\n    \"Cotton yarn; (not sewing thread), multiple or cabled, of combed fibres, 85% or more by weight of cotton, 232.55 to 192.31 decitex (44 to 52 metric number) per single yarn, not for retail sale\",\n  \"520544\":\n    \"Cotton yarn; (not sewing thread), multiple or cabled, of combed fibres, 85% or more by weight of cotton, 192.30 to 125 decitex (53 to 80 metric number) per single yarn, not for retail sale\",\n  \"520545\":\n    \"Cotton yarn; (not sewing thread), multiple or cabled, of combed fibres, 85% or more by weight of cotton, less than 125 decitex (exceeding 80 metric number), per single yarn, not for retail sale\",\n  \"520546\":\n    \"Cotton yarn; (not sewing thread), multiple or cabled, of combed fibres, 85% or more by weight of cotton, 124 to 106.38 decitex (81 to 94 metric number) per single yarn, not for retail sale\",\n  \"520547\":\n    \"Cotton yarn; (not sewing thread), multiple or cabled, of combed fibres, 85% or more by weight of cotton, 106.37 to 83.33 decitex (95 to 120 metric number) per single yarn, not for retail sale\",\n  \"520548\":\n    \"Cotton yarn; (not sewing thread), multiple or cabled, of combed fibres, 85% or more by weight of cotton, less than 83.33 decitex (exceeding 120 metric number) per single yarn, not for retail sale\",\n  \"520611\":\n    \"Cotton yarn; (not sewing thread), single, of uncombed fibres, less than 85% by weight of cotton, measuring 714.29 decitex or more (not exceeding 14 metric number), not for retail sale\",\n  \"520612\":\n    \"Cotton yarn; (not sewing thread), single, of uncombed fibres, less than 85% by weight of cotton, less than 714.29 but not less than 232.56 decitex (exceeding 14 but not exceeding 43 metric number), not for retail sale\",\n  \"520613\":\n    \"Cotton yarn; (not sewing thread), single, of uncombed fibres, less than 85% by weight of cotton, less than 232.56 but not less than 192.31 decitex (exceeding 43 but not exceeding 52 metric number), not for retail sale\",\n  \"520614\":\n    \"Cotton yarn; (not sewing thread), single, of uncombed fibres, less than 85% by weight of cotton, less than 192.31 but not less than 125 decitex (exceeding 52 but not exceeding 80 metric number), not for retail sale\",\n  \"520615\":\n    \"Cotton yarn; (not sewing thread), single, of uncombed fibres, less than 85% by weight of cotton, measuring less than 125 decitex (exceeding 80 metric number), not for retail sale\",\n  \"520621\":\n    \"Cotton yarn; (not sewing thread), single, of combed fibres, less than 85% by weight of cotton, measuring 714.29 decitex or more, (not exceeding 14 metric number), not for retail sale\",\n  \"520622\":\n    \"Cotton yarn; (not sewing thread), single, of combed fibres, less than 85% by weight of cotton, less than 714.29 but not less than 232.56 decitex (exceeding 14 but not exceeding 43 metric number), not for retail sale\",\n  \"520623\":\n    \"Cotton yarn; (not sewing thread), single, of combed fibres, less than 85% by weight of cotton, less than 232.56 but not less than 192.31 decitex (exceeding 43 but not exceeding 52 metric number), not for retail sale\",\n  \"520624\":\n    \"Cotton yarn; (not sewing thread), single, of combed fibres, less than 85% by weight of cotton, less than 192.31 but not less than 125 decitex (exceeding 52 but not exceeding 80 metric number), not for retail sale\",\n  \"520625\":\n    \"Cotton yarn; (not sewing thread), single, of combed fibres, less than 85% by weight of cotton, measuring less than 125 decitex (exceeding 80 metric number), not for retail sale\",\n  \"520631\":\n    \"Cotton yarn; (not sewing thread), multiple or cabled, of uncombed fibres, less than 85% by weight of cotton, 714.29 decitex or more (not exceeding 14 metric number) per single yarn, not for retail sale\",\n  \"520632\":\n    \"Cotton yarn; (not sewing thread), multiple or cabled, of uncombed fibres, less than 85% by weight of cotton, 714.28 to 232.56 decitex (15 to 43 metric number) per single yarn, not for retail sale\",\n  \"520633\":\n    \"Cotton yarn; (not sewing thread), multiple or cabled, of uncombed fibres, less than 85% by weight of cotton, 232.55 to 192.31 decitex (44 to 52 metric number) per single yarn, not for retail sale\",\n  \"520634\":\n    \"Cotton yarn; (not sewing thread), multiple or cabled, of uncombed fibres, less than 85% by weight of cotton, 192.30 to 125 decitex (53 to 80 metric number) per single yarn, not for retail sale\",\n  \"520635\":\n    \"Cotton yarn; (not sewing thread), multiple or cabled, of uncombed fibres, less than 85% by weight of cotton, less than 125 decitex (exceeding 80 metric number) per single yarn, not for retail sale\",\n  \"520641\":\n    \"Cotton yarn; (not sewing thread), multiple or cabled, of combed fibres, less than 85% by weight of cotton, 714.29 decitex or more (not exceeding 14 metric number) per single yarn, not for retail sale\",\n  \"520642\":\n    \"Cotton yarn; (not sewing thread), multiple or cabled, of combed fibres, less than 85% by weight of cotton, 714.28 to 232.56 decitex (15 to 43 metric number) per single yarn, not for retail sale\",\n  \"520643\":\n    \"Cotton yarn; (not sewing thread), multiple or cabled, of combed fibres, less than 85% by weight of cotton, 232.55 to 192.31 decitex (44 to 52 metric number) per single yarn, not for retail sale\",\n  \"520644\":\n    \"Cotton yarn; (not sewing thread), multiple or cabled, of combed fibres, less than 85% by weight of cotton, 192.30 to 125 decitex (53 to 80 metric number) per single yarn, not for retail sale\",\n  \"520645\":\n    \"Cotton yarn; (not sewing thread), multiple or cabled, of combed fibres, less than 85% by weight of cotton, less than 125 decitex (exceeding 80 metric number) per single yarn, not for retail sale\",\n  \"520710\":\n    \"Cotton yarn; (not sewing thread), containing 85% or more by weight of cotton, put up for retail sale\",\n  \"520790\":\n    \"Cotton yarn; (not sewing thread), containing less than 85% by weight of cotton, put up for retail sale\",\n  \"520811\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, unbleached, plain weave, weighing not more than 100g/m2\",\n  \"520812\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, unbleached, plain weave, weighing more than 100g/m2 but not more than 200g/m2\",\n  \"520813\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, unbleached, 3-thread or 4-thread twill, including cross twill, weighing not more than 200g/m2\",\n  \"520819\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, unbleached, of weaves n.e.c. in item no. 5208.1, weighing not more than 200g/m2\",\n  \"520821\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, bleached, plain weave, weighing not more than 100g/m2\",\n  \"520822\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, bleached, plain weave, weighing more than 100g/m2 but not more than 200g/m2\",\n  \"520823\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, bleached, 3-thread or 4-thread twill, including cross twill, weighing not more than 200g/m2\",\n  \"520829\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, bleached, of weaves n.e.c. in item no. 5208.2, weighing not more than 200g/m2\",\n  \"520831\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, dyed, plain weave, weighing not more than 100g/m2\",\n  \"520832\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, dyed, plain weave, weighing more than 100g/m2 but not more than 200g/m2\",\n  \"520833\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, dyed, 3-thread or 4-thread twill, including cross twill, weighing not more than 200g/m2\",\n  \"520839\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, dyed, of weaves n.e.c. in item no. 5208.3 weighing not more than 200g/m2\",\n  \"520841\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, of yarns of different colours, plain weave, weighing not more than 100g/m2\",\n  \"520842\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, of yarns of different colours, weighing more than 100g/m2 but not more than 200g/m2\",\n  \"520843\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, of yarns of different colours, 3-thread or 4-thread twill, including cross twill, weighing not more than 200g/m2\",\n  \"520849\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, of yarns of different colours, of weaves n.e.c. in item no. 5208.4, weighing not more than 200g/m2\",\n  \"520851\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, printed, plain weave, weighing not more than 100g/m2\",\n  \"520852\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, printed, plain weave, weighing more than 100g/m2 but not more than 200g/m2\",\n  \"520853\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, printed, 3-thread or 4-thread twill, including cross twill, weighing not more than 200g/m2\",\n  \"520859\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, printed, of weaves n.e.c. in item no. 5208.5, weighing not more than 200g/m2\",\n  \"520911\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, unbleached, plain weave, weighing more than 200g/m2\",\n  \"520912\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, unbleached, 3-thread or 4-thread twill, including cross twill, weighing more than 200g/m2\",\n  \"520919\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, unbleached, of weaves n.e.c. in item no. 5209.1, weighing more than 200g/m2\",\n  \"520921\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, bleached, plain weave, weighing more than 200g/m2\",\n  \"520922\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, bleached, 3-thread or 4-thread twill, including cross twill, weighing more than 200g/m2\",\n  \"520929\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, bleached, of weaves n.e.c. in item no. 5209.2, weighing more than 200g/m2\",\n  \"520931\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, dyed, plain weave, weighing more than 200g/m2\",\n  \"520932\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, dyed, 3-thread or 4-thread twill, including cross twill, weighing more than 200g/m2\",\n  \"520939\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, dyed, of weaves n.e.c. in item no. 5209.3, weighing more than 200g/m2\",\n  \"520941\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, of yarns of different colours, plain weave, weighing more than 200g/m2\",\n  \"520942\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, of yarns of different colours, weighing more than 200g/m2, denim\",\n  \"520943\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, of yarns of different colours, 3-thread or 4-thread twill, including cross twill, weighing more than 200g/m2\",\n  \"520949\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, of yarns of different colours, of weaves n.e.c. in item no. 5209.4, weighing more than 200g/m2\",\n  \"520951\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, printed, plain weave, weighing more than 200g/m2\",\n  \"520952\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, printed, 3-thread or 4-thread twill, including cross twill, weighing more than 200g/m2\",\n  \"520959\":\n    \"Fabrics, woven; containing 85% or more by weight of cotton, printed, of weaves n.e.c. in item no. 5209.5, weighing more than 200g/m2\",\n  \"521011\":\n    \"Fabrics, woven; containing less than 85% by weight of cotton, mixed mainly or solely with man-made fibres, unbleached, plain weave, weighing 200g/m2 or less\",\n  \"521012\":\n    \"Fabrics, woven; containing less than 85% by weight of cotton, mixed mainly or solely with man-made fibres, unbleached, 3-thread or 4-thread twill, including cross twill, weighing 200g/m2 or less\",\n  \"521019\":\n    \"Fabrics, woven; containing less than 85% by weight of cotton, mixed mainly or solely with man-made fibres, unbleached, of weaves n.e.c. in item no. 5210.1, weighing 200g/m2 or less\",\n  \"521021\":\n    \"Fabrics, woven; containing less than 85% by weight of cotton, mixed mainly or solely with man-made fibres, bleached, plain weave, weighing 200g/m2 or less\",\n  \"521022\":\n    \"Fabrics, woven; containing less than 85% by weight of cotton, mixed mainly or solely with man-made fibres, bleached, 3-thread or 4-thread twill, including cross twill, weighing 200g/m2 or less\",\n  \"521029\":\n    \"Fabrics, woven; containing less than 85% by weight of cotton, mixed mainly or solely with man-made fibres, weighing 200g/m2 or less, bleached, of weaves n.e.c. in item no. 5210.2\",\n  \"521031\":\n    \"Fabrics, woven; containing less than 85% by weight of cotton, mixed mainly or solely with man-made fibres, weighing 200g/m2 or less, dyed, plain weave\",\n  \"521032\":\n    \"Fabrics, woven; containing less than 85% by weight of cotton, mixed mainly or solely with man-made fibres, weighing 200g/m2 or less, dyed, 3-thread or 4-thread twill, including cross twill\",\n  \"521039\":\n    \"Fabrics, woven; containing less than 85% by weight of cotton, mixed mainly or solely with man-made fibres, weighing 200g/m2 or less, dyed, of weaves n.e.c. in item no. 5210.3\",\n  \"521041\":\n    \"Fabrics, woven; containing less than 85% by weight of cotton, mixed mainly or solely with man-made fibres, weighing 200g/m2 or less, of yarns of different colours, plain weave\",\n  \"521042\":\n    \"Fabrics, woven; containing less than 85% by weight of cotton, mixed mainly or solely with man-made fibres, weighing 200g/m2 or less, of yarns of different colours, 3-thread or 4-thread twill, including cross twill\",\n  \"521049\":\n    \"Fabrics, woven; containing less than 85% by weight of cotton, mixed mainly or solely with man-made fibres, weighing 200g/m2 or less, of yarns of different colours, of weaves n.e.c. in item no. 5210.4\",\n  \"521051\":\n    \"Fabrics, woven; containing less than 85% by weight of cotton, mixed mainly or solely with man-made fibres, weighing 200g/m2 or less, printed, plain weave\",\n  \"521052\":\n    \"Fabrics, woven; containing less than 85% by weight of cotton, mixed mainly of solely with man-made fibres, weighing 200g/m2 or less, printed, 3-thread or 4-thread twill, including cross twill\",\n  \"521059\":\n    \"Fabrics, woven; containing less than 85% by weight of cotton, mixed mainly or solely with man-made fibres, weighing 200g/m2 or less, printed, of weaves n.e.c. in item no. 5210.5\",\n  \"521111\":\n    \"Fabrics, woven; containing less than 85% by weight of cotton, mixed mainly or solely with man-made fibres, unbleached, plain weave, weighing more than 200g/m2\",\n  \"521112\":\n    \"Fabrics, woven; containing less than 85% by weight of cotton, mixed mainly or solely with man-made fibres, unbleached, 3- or 4-thread twill, including cross twill, weighing more than 200g/m2\",\n  \"521119\":\n    \"Fabrics, woven; containing less than 85% by weight of cotton, mixed mainly or solely with man-made fibres, unbleached, of weaves n.e.c. in item no. 5211.1, weighing more than 200g/m2\",\n  \"521120\":\n    \"Fabrics, woven; containing less than 85% by weight of cotton, mixed mainly or solely with man-made fibres, weighing more than 200g/m2, bleached\",\n  \"521121\":\n    \"Fabrics, woven; containing less than 85% by weight of cotton, mixed mainly or solely with man-made fibres, weighing more than 200g/m2, bleached, plain weave\",\n  \"521122\":\n    \"Fabrics, woven; containing less than 85% by weight of cotton, mixed mainly or solely with man-made fibres, weighing more than 200g/m2, bleached, 3-thread or 4-thread twill, including cross twill\",\n  \"521129\":\n    \"Fabrics, woven; containing less than 85% by weight of cotton, mixed mainly or solely with man-made fibres, weighing more than 200g/m2, bleached, of weaves n.e.s. in item no. 5211.2\",\n  \"521131\":\n    \"Fabrics, woven; containing less than 85% by weight of cotton, mixed mainly or solely with man-made fibres, weighing more than 200g/m2, dyed, plain weave\",\n  \"521132\":\n    \"Fabrics, woven; containing less than 85% by weight of cotton, mixed mainly or solely with man-made fibres, weighing more than 200g/m2, dyed, 3-thread or 4-thread twill, including cross twill\",\n  \"521139\":\n    \"Fabrics, woven; containing less than 85% by weight of cotton, mixed mainly or solely with man-made fibres, weighing more than 200g/m2, dyed, of weaves n.e.c. in item no. 5211.3\",\n  \"521141\":\n    \"Fabrics, woven; containing less than 85% by weight of cotton, mixed mainly or solely with man-made fibres, weighing more than 200g/m2, of yarns of different colours, plain weave\",\n  \"521142\":\n    \"Fabrics, woven; containing less than 85% by weight of cotton, mixed mainly or solely with man-made fibres, weighing more than 200g/m2, of yarns of different colours, denim\",\n  \"521143\":\n    \"Fabrics, woven; containing less than 85% by weight of cotton, mixed mainly or solely with man-made fibres, weighing more than 200g/m2, of yarns of different colours, 3-thread or 4-thread twill, including cross twill\",\n  \"521149\":\n    \"Fabrics, woven; containing less than 85% by weight of cotton, mixed mainly or solely with man-made fibres, weighing more than 200g/m2, of yarns of different colours, of weaves n.e.c. in item no. 5211.4\",\n  \"521151\":\n    \"Fabrics, woven; containing less than 85% by weight of cotton, mixed mainly or solely with man-made fibres, weighing more than 200g/m2, printed, plain weave\",\n  \"521152\":\n    \"Fabrics, woven; containing less than 85% by weight of cotton, mixed mainly or solely with man-made fibres, weighing more than 200g/m2, printed, 3-thread or 4-thread twill, including cross twill\",\n  \"521159\":\n    \"Fabrics, woven; containing less than 85% by weight of cotton, mixed mainly or solely with man-made fibres, weighing more than 200g/m2, printed, of weaves n.e.c. in item no. 5211.5\",\n  \"521211\":\n    \"Fabrics, woven; of cotton, unbleached, weighing not more than 200g/m2, n.e.c. in chapter 52\",\n  \"521212\":\n    \"Fabrics, woven; of cotton, bleached, weighing not more than 200g/m2, n.e.c. in chapter 52\",\n  \"521213\":\n    \"Fabrics, woven; of cotton, dyed, weighing not more than 200g/m2, n.e.c. in chapter 52\",\n  \"521214\":\n    \"Fabrics, woven; of cotton, of yarns of different colours, weighing not more than 200g/m2, n.e.c. in chapter 52\",\n  \"521215\":\n    \"Fabrics, woven; of cotton, printed, weighing not more than 200g/m2, n.e.c. in chapter 52\",\n  \"521221\":\n    \"Fabrics, woven; of cotton, unbleached, weighing more than 200g/m2, n.e.c. in chapter 52\",\n  \"521222\":\n    \"Fabrics, woven; of cotton, bleached, weighing more than 200g/m2, n.e.c. in chapter 52\",\n  \"521223\":\n    \"Fabrics, woven; of cotton, dyed, weighing more than 200g/m2, n.e.c. in chapter 52\",\n  \"521224\":\n    \"Fabrics, woven; of cotton, of yarns of different colours, weighing more than 200g/m2, n.e.c. in chapter 52\",\n  \"521225\":\n    \"Fabrics, woven; of cotton, printed, weighing more than 200g/m2, n.e.c. in chapter 52\",\n  \"530110\": \"Flax; raw or retted, but not spun\",\n  \"530121\": \"Flax; broken or scutched, but not spun\",\n  \"530129\": \"Flax; hackled or otherwise processed, but not spun\",\n  \"530130\": \"Flax; tow and waste, including yarn waste and garnetted stock\",\n  \"530210\": \"Hemp (cannabis sativa L.); raw or retted, but not spun\",\n  \"530290\":\n    \"Hemp (cannabis sativa L.); processed (other than retted) (but not spun), true hemp tow and waste (including yarn waste and garnetted stock)\",\n  \"530310\":\n    \"Jute and other textile bast fibres; raw or retted, but not spun, (excluding flax, hemp (cannabis sativa L.), and ramie)\",\n  \"530390\":\n    \"Jute and other textile bast fibres; processed but not spun, tow and waste of these fibres, including yarn waste and garnetted stock (excluding flax, hemp (cannabis sativa L.), and ramie)\",\n  \"530410\":\n    \"Sisal and other textile fibres of the genus agave; raw, but not spun\",\n  \"530490\":\n    \"Sisal and other textile fibres of the genus agave; processed (but not spun), tow and waste of these fibres, including yarn waste and garnetted stock\",\n  \"530500\":\n    \"Coconut, abaca (Manila hemp or Musa textilis Nee), ramie and other vegetable textile fibres n.e.c., raw or processed but not spun; tow, noils and waste of these fibres (including yarn waste and garnetted stock)\",\n  \"530511\": \"Coconut (coir); raw, but not spun\",\n  \"530519\":\n    \"Coconut (coir); processed (but not spun), tow, noils and waste, including yarn waste and garnetted stock\",\n  \"530521\": \"Abaca (manila hemp or musa textilis nee); raw\",\n  \"530529\":\n    \"Abaca (manila hemp or musa textilis nee); processed but not spun, tow, noils and waste, including yarn waste and garnetted stock\",\n  \"530590\":\n    \"Vegetable textile fibres; other than coconut (coir) and abaca (manila hemp, or musa textilis nee), raw or processed (but not spun); tow, noils and waste of these fibres, including yarn waste and garnetted stock\",\n  \"530591\":\n    \"Ramie and other vegetable textile fibres; n.e.s. in chapter 53, raw\",\n  \"530599\":\n    \"Ramie and other vegetable textile fibres; n.e.s. in chapter 53, processed (but not spun); tow, noils and waste of these fibres, including yarn waste and garnetted stock\",\n  \"530610\": \"Yarn; of flax, single\",\n  \"530620\": \"Yarn; of flax, multiple (folded) or cabled\",\n  \"530710\": \"Yarn; of jute or of other textile bast fibres, single\",\n  \"530720\":\n    \"Yarn; of jute or of other textile bast fibres, multiple (folded) or cabled\",\n  \"530810\": \"Yarn; of coir\",\n  \"530820\": \"Yarn; of hemp (cannabis sativa L.)\",\n  \"530830\": \"Yarn; of paper\",\n  \"530890\":\n    \"Yarn; of vegetable textile fibres n.e.c. in heading no. 5306, 5307 and 5308\",\n  \"530911\":\n    \"Fabrics, woven; of flax, containing 85% or more flax, unbleached or bleached\",\n  \"530919\":\n    \"Fabrics, woven; of flax, containing 85% or more flax, other than bleached or unbleached\",\n  \"530921\":\n    \"Fabrics, woven; of flax, containing less than 85% flax, unbleached or bleached\",\n  \"530929\":\n    \"Fabrics, woven; of flax, containing less than 85% flax, other than unbleached or bleached\",\n  \"531010\":\n    \"Fabrics, woven; of jute or of other textile bast fibres of heading no. 5303, unbleached\",\n  \"531090\":\n    \"Fabrics, woven; of jute or of other textile bast fibres of heading no. 5303, other than unbleached\",\n  \"531100\":\n    \"Fabrics, woven; of vegetable textile fibres n.e.c. in heading no. 5309 and 5310, woven fabrics of paper yarn\",\n  \"540110\":\n    \"Sewing thread; of synthetic filaments, whether or not put up for retail sale\",\n  \"540120\":\n    \"Sewing thread; of artificial filaments, whether or not put up for retail sale\",\n  \"540210\":\n    \"Yarn; (not sewing thread), high tenacity yarn of nylon or other polyamides (including synthetic monofilament of less than 67 decitex), not put up for retail sale\",\n  \"540211\":\n    \"Yarn, synthetic; filament, monofilament (less than 67 decitex), of high tenacity yarn of nylon or other polyamides, textured or not; of aramids, not for retail sale, not sewing thread\",\n  \"540219\":\n    \"Yarn, synthetic; filament, monofilament (less than 67 decitex), of high tenacity nylon or other polyamides, textured or not; other than aramids, not for retail sale, not sewing thread\",\n  \"540220\":\n    \"Yarn, synthetic; filament, monofilament (less than 67 decitex), of high tenacity yarn of polyesters, whether or not textured, not for retail sale, not sewing thread\",\n  \"540231\":\n    \"Yarn, synthetic; filament, monofilament (less than 67 decitex), textured, of nylon or other polyamides, measuring per single yarn not more than 50 decitex, not for retail sale, not sewing thread\",\n  \"540232\":\n    \"Yarn, synthetic; filament, monofilament (less than 67 decitex), textured, of nylon or other polyamides, measuring per single yarn more than 50 decitex, not for retail sale, not sewing thread\",\n  \"540233\":\n    \"Yarn, synthetic; filament, monofilament (less than 67 decitex), textured, of polyesters, not for retail sale, not sewing thread\",\n  \"540234\":\n    \"Yarn, synthetic; filament, monofilament (less than 67 decitex), textured, of polypropylene, not for retail sale, not sewing thread\",\n  \"540239\":\n    \"Yarn, synthetic; filament, monofilament (less than 67 decitex), textured, other than of nylon or other polymides, polyesters, or polypropylene, not for retail sale, not sewing thread\",\n  \"540241\":\n    \"Yarn; (not sewing thread), single, of nylon or other polyamides (including synthetic monofilament of less than 67 decitex), untwisted or with a twist not exceeding 50 turns per metre, not for retail sale, not textured, not high tenacity\",\n  \"540242\":\n    \"Yarn; (not sewing thread), single, of polyesters, partially oriented (including synthetic monofilament of less than 67 decitex), untwisted or with twist not over 50 turns per metre, not for retail sale, not textured, not high tenacity\",\n  \"540243\":\n    \"Yarn; (not sewing thread), single, of polyesters not partially oriented (including synthetic monofilament of less than 67 decitex), untwisted or with twist not over 50 turns per metre, not for retail sale, not textured, not high tenacity\",\n  \"540244\":\n    \"Yarn, synthetic; filament, monofilament (less than 67 decitex), other than high tenacity or textured yarn, elastomeric, single, untwisted or twisted 50 turns or less per metre, not for retail sale, not sewing thread\",\n  \"540245\":\n    \"Yarn, synthetic; filament, monofilament (less than 67 decitex), of nylon or other polymides (not high tenacity or textured), single, untwisted or twisted 50 turns or less per metre, not for retail sale, not sewing thread\",\n  \"540246\":\n    \"Yarn, synthetic; filament, monofilament (less than 67 decitex), of polyesters (not high tenacity or textured), partially oriented, single, untwisted or twisted 50 turns or less per metre, not for retail sale, not sewing thread\",\n  \"540247\":\n    \"Yarn, synthetic; filament, monofilament (less than 67 decitex), polyesters (not high tenacity or textured), not partially oriented, single, untwisted or twisted 50 turns or less per metre, not for retail sale, not sewing thread\",\n  \"540248\":\n    \"Yarn, synthetic; filament, monofilament (less than 67 decitex), of polypropylene (not high tenacity or textured), single, untwisted or twisted 50 turns or less per metre, not for retail sale, not sewing thread\",\n  \"540249\":\n    \"Yarn, synthetic; filament, monofilament (less than 67 decitex), other than high tenacity or textured yarn, single, untwisted or twisted 50 turns or less per metre, n.e.c. in heading no. 5402, not for retail sale, not sewing thread\",\n  \"540251\":\n    \"Yarn, synthetic; filament, monofilament (less than 67 decitex), of nylon or other polymides (not high tenacity or textured), single, twisted more than 50 turns per metre, not for retail sale, not sewing thread\",\n  \"540252\":\n    \"Yarn, synthetic; filament, monofilament (less than 67 decitex), of polyesters (not high tenacity or textured), single, twisted more than 50 turns per metre, not for retail sale, not sewing thread\",\n  \"540253\":\n    \"Yarn, synthetic; filament, monofilament (less than 67 decitex), of polypropylene (not high tenacity or textured), single, twisted more than 50 turns per metre, not for retail sale, not sewing thread\",\n  \"540259\":\n    \"Yarn, synthetic; filament, monofilament (less than 67 decitex), other than high tenacity or textured yarn, single, twisted more than 50 turns per metre, n.e.c. in heading no. 5402, not for retail sale, not sewing thread\",\n  \"540261\":\n    \"Yarn, synthetic; filament, monofilament (less than 67 decitex), of nylon or other polymides (not high tenacity or textured), multiple (folded) or cabled, not for retail sale, not sewing thread\",\n  \"540262\":\n    \"Yarn, synthetic; filament, monofilament (less than 67 decitex), of polyesters (not high tenacity or textured), multiple (folded) or cabled, not for retail sale, not sewing thread\",\n  \"540263\":\n    \"Yarn, synthetic; filament, monofilament (less than 67 decitex), of polypropylene, other than high tenacity or textured yarn, multiple (folded) or cabled, not for retail sale, not sewing thread\",\n  \"540269\":\n    \"Yarn, synthetic; filament, monofilament (less than 67 decitex), other than high tenacity or textured yarn, multiple (folded) or cabled, n.e.c. in heading no. 5402, not for retail sale, not sewing thread\",\n  \"540310\":\n    \"Yarn, artificial; filament, monofilament (less than 67 decitex), of high tenacity viscose rayon, not for retail sale, not sewing thread\",\n  \"540320\":\n    \"Yarn; textured, (not sewing thread), artificial filament yarn, (including artificial monofilament of less than 67 decitex), not for retail sale\",\n  \"540331\":\n    \"Yarn, artificial; filament, monofilament (less than 67 decitex), of viscose rayon (not high tenacity), single, untwisted or twisted 120 turns per metre or less, not for retail sale, not sewing thread\",\n  \"540332\":\n    \"Yarn, artificial; filament, monofilament (less than 67 decitex), of viscose rayon (not high tenacity), single, twisted more than 120 turns per metre, not for retail sale, not sewing thread\",\n  \"540333\":\n    \"Yarn, artificial; filament, monofilament (less than 67 decitex), of cellulose acetate, single, not for retail sale, not sewing thread\",\n  \"540339\":\n    \"Yarn, artificial; filament, monofilament (less than 67 decitex), single, n.e.c. in heading no. 5403, not for retail sale, not sewing thread\",\n  \"540341\":\n    \"Yarn, artificial; filament, monofilament (less than 67 decitex), of viscose rayon (not high tenacity), multiple (folded) or cabled, not for retail sale, not sewing thread\",\n  \"540342\":\n    \"Yarn, artificial; filament, monofilament (less than 67 decitex), of cellulose acetate, multiple (folded) or cabled, not for retail sale, not sewing thread\",\n  \"540349\":\n    \"Yarn, artificial; filament, monofilament (less than 67 decitex), multiple (folded) or cabled, n.e.c. in heading no. 5403, not for retail sale, not sewing thread\",\n  \"540410\":\n    \"Monofilament, synthetic; of 67 decitex or more and of which no cross-sectional dimension exceeds 1mm\",\n  \"540411\":\n    \"Elastomeric monofilament; of 67 decitex or more and of which no cross-sectional dimension exceeds 1mm\",\n  \"540412\":\n    \"Monofilament of polypropylene; of 67 decitex or more and of which no cross-sectional dimension exceeds 1mm\",\n  \"540419\":\n    \"Monofilament n.e.c. in heading no 5404; of 67 decitex or more and of which no cross-sectional dimension exceeds 1mm\",\n  \"540490\":\n    \"Filament, synthetic; strip and the like (e.g.. artificial straw), of synthetic textile materials of an apparent width not exceeding 5mm\",\n  \"540500\":\n    \"Monofilament, synthetic; of 67 decitex or more and of which no cross-sectional dimension exceeds 1mm, strip and the like (e.g. artificial straw), of synthetic textile materials with width not over 5mm\",\n  \"540600\":\n    \"Man-made filament yarn (other than sewing thread), put up for retail sale\",\n  \"540610\":\n    \"Yarn; (not sewing thread), synthetic filament yarn, put up for retail sale\",\n  \"540620\":\n    \"Yarn; (not sewing thread), artificial filament yarn, put up for retail sale\",\n  \"540710\":\n    \"Fabrics, woven; from high tenacity yarn, of nylon, other polyamides or of polyesters\",\n  \"540720\":\n    \"Fabrics, woven; from strip or the like, of synthetic textile materials\",\n  \"540730\":\n    \"Fabrics, woven; from synthetic filament yarn, adhesive or thermal bonded\",\n  \"540741\":\n    \"Fabrics, woven; containing 85% or more by weight of filaments of nylon or other polyamides, unbleached or bleached\",\n  \"540742\":\n    \"Fabrics, woven; containing 85% or more by weight of filaments of nylon or other polyamides, dyed\",\n  \"540743\":\n    \"Fabrics, woven; containing 85% or more by weight of filaments of nylon or other polyamides, of yarns of different colours\",\n  \"540744\":\n    \"Fabrics, woven; containing 85% or more by weight of filaments of nylon or other polyamides, printed\",\n  \"540751\":\n    \"Fabrics, woven; containing 85% or more by weight of textured polyester filaments, unbleached or bleached\",\n  \"540752\":\n    \"Fabrics, woven; containing 85% or more by weight of textured polyester filaments, dyed\",\n  \"540753\":\n    \"Fabrics, woven; containing 85% or more by weight of textured polyester filaments, of yarns of different colours\",\n  \"540754\":\n    \"Fabrics, woven; containing 85% or more by weight of textured polyester filaments, printed\",\n  \"540760\":\n    \"Fabrics, woven; containing 85% or more by weight of non-textured polyester filaments\",\n  \"540761\":\n    \"Fabrics, woven; containing 85% or more by weight of non-textured polyester filaments\",\n  \"540769\":\n    \"Fabrics, woven; containing less than 85% by weight of non-textured polyester filaments\",\n  \"540771\":\n    \"Fabrics, woven; containing 85% or more by weight of synthetic filaments (excluding nylon or other polyamides and polyesters), unbleached or bleached\",\n  \"540772\":\n    \"Fabrics, woven; containing 85% or more by weight of synthetic filaments (excluding nylon or other polyamides and polyesters), dyed\",\n  \"540773\":\n    \"Fabrics, woven; containing 85% or more by weight of synthetic filaments (excluding nylon or other polyamides and polyesters), of yarns of different colours\",\n  \"540774\":\n    \"Fabrics, woven; containing 85% or more by weight of synthetic filaments (excluding nylon or other polyamides and polyesters), printed\",\n  \"540781\":\n    \"Fabrics, woven; of synthetic filament yarn, containing less than 85% by weight of synthetic filaments, mixed mainly or solely with cotton, bleached or unbleached\",\n  \"540782\":\n    \"Fabrics, woven; of synthetic filament yarn, containing less than 85% by weight of synthetic filaments, mixed mainly or solely with cotton, dyed\",\n  \"540783\":\n    \"Fabrics, woven; of synthetic filament yarn, containing less than 85% by weight of synthetic filaments, mixed mainly or solely with cotton, of yarns of different colours\",\n  \"540784\":\n    \"Fabrics, woven; of synthetic filament yarn, containing less than 85% by weight of synthetic filaments, printed\",\n  \"540791\":\n    \"Fabrics, woven; of synthetic filament yarn, bleached or unbleached, n.e.c. in heading no. 5407\",\n  \"540792\":\n    \"Fabrics, woven; of synthetic filament yarn, dyed, n.e.c. in heading 5407\",\n  \"540793\":\n    \"Fabrics, woven; of synthetic filament yarn, of yarns of different colours, n.e.c. in heading no. 5407\",\n  \"540794\":\n    \"Fabrics, woven; of synthetic filament yarn, printed, n.e.c. in heading no. 5407\",\n  \"540810\":\n    \"Fabrics, woven; of viscose rayon, high tenacity, artificial filament yarn\",\n  \"540821\":\n    \"Fabrics, woven; of artificial filament yarn, containing 85% or more by weight of artificial filament, strip or the like, bleached or unbleached\",\n  \"540822\":\n    \"Fabrics, woven; of artificial filament yarn, containing 85% or more by weight of artificial filament, strip or the like, dyed\",\n  \"540823\":\n    \"Fabrics, woven; containing 85% or more by weight of artificial filament, strip or the like, of yarns of different colours\",\n  \"540824\":\n    \"Fabrics, woven; of artificial filament yarn, containing 85% or more by weight of artificial filament, strip or the like, printed\",\n  \"540831\":\n    \"Fabrics, woven; of artificial filament yarn, of artificial monofilament, strip and the like, n.e.c. in heading no. 5408, unbleached or bleached\",\n  \"540832\":\n    \"Fabrics, woven; of artificial filament yarn, of artificial monofilament, strip and the like, n.e.c. in heading no. 5408, dyed\",\n  \"540833\":\n    \"Fabrics, woven; of artificial filament yarn, of artificial monofilament, strip and the like, n.e.c. in heading no. 5408, of yarns of different colours\",\n  \"540834\":\n    \"Fabrics, woven; of artificial filament yarn, of artificial monofilament, strip and the like, n.e.c. in heading no. 5408, printed\",\n  \"550110\": \"Fibres; synthetic filament tow, of nylon or other polyamides\",\n  \"550111\":\n    \"Fibres; synthetic filament tow, of nylon or other polyamides, of aramids\",\n  \"550119\":\n    \"Fibres; synthetic filament tow, of nylon or other polyamides, of other than aramids\",\n  \"550120\": \"Fibres; synthetic filament tow, of polyesters\",\n  \"550130\": \"Fibres; synthetic filament tow, acrylic or modacrylic\",\n  \"550140\": \"Fibres; synthetic filament tow, of polypropylene\",\n  \"550190\":\n    \"Fibres; synthetic filament tow, of synthetic materials n.e.c. in heading no. 5501\",\n  \"550200\": \"Fibres; artificial filament tow\",\n  \"550210\": \"Fibres; artificial filament tow of cellulose acetate\",\n  \"550290\": \"Fibres; artificial filament tow, other than cellulose acetate\",\n  \"550310\":\n    \"Fibres; synthetic staple fibres, of nylon or other polyamides, not carded, combed or otherwise processed for spinning\",\n  \"550311\":\n    \"Fibres; synthetic staple fibres, of aramids, not carded, combed or otherwise processed for spinning\",\n  \"550319\":\n    \"Fibres; synthetic staple fibres, of nylon or other polyamides other than aramids, not carded, combed or otherwise processed for spinning\",\n  \"550320\":\n    \"Fibres; synthetic staple fibres, of polyesters, not carded, combed or otherwise processed for spinning\",\n  \"550330\":\n    \"Fibres; synthetic staple fibres, acrylic or modacrylic, not carded, combed or otherwise processed for spinning\",\n  \"550340\":\n    \"Fibres; synthetic staple fibres, of polypropylene, not carded, combed or otherwise processed for spinning\",\n  \"550390\":\n    \"Fibres; synthetic staple fibres, of synthetic materials n.e.c. in heading no. 5503, not carded, combed or otherwise processed for spinning\",\n  \"550410\":\n    \"Fibres; artificial staple fibres, of viscose, not carded, combed or otherwise processed for spinning\",\n  \"550490\":\n    \"Fibres; artificial staple fibres, other than of viscose, not carded, combed or otherwise processed for spinning\",\n  \"550510\":\n    \"Fibres; waste (including noils, yarn waste and garnetted stock), of synthetic fibres\",\n  \"550520\":\n    \"Fibres; waste (including noils, yarn waste and garnetted stock), of artificial fibres\",\n  \"550610\":\n    \"Fibres; synthetic staple fibres, of nylon or other polyamides, carded, combed or otherwise processed for spinning\",\n  \"550620\":\n    \"Fibres; synthetic staple fibres, of polyesters, carded, combed or otherwise processed for spinning\",\n  \"550630\":\n    \"Fibres; synthetic staple fibres, acrylic or modacrylic, carded, combed or otherwise processed for spinning\",\n  \"550640\":\n    \"Fibres; synthetic staple fibres, of polypropylene, carded, combed or otherwise processed for spinning\",\n  \"550690\":\n    \"Fibres; synthetic staple fibres, n.e.c. in heading no. 5506, carded, combed or otherwise processed for spinning\",\n  \"550700\":\n    \"Fibres; artificial staple fibres, carded, combed or otherwise processed for spinning\",\n  \"550810\":\n    \"Sewing thread; of synthetic staple fibres, whether or not put up for retail sale\",\n  \"550820\":\n    \"Sewing thread; of artificial staple fibres, whether or not put up for retail sale\",\n  \"550911\":\n    \"Yarn; (not sewing thread), single, of synthetic staple fibres, containing 85% or more by weight of nylon or other polyamides, not put up for retail sale\",\n  \"550912\":\n    \"Yarn; (not sewing thread), multiple (folded) or cabled yarn, of synthetic staple fibres, containing 85% or more by weight of nylon or other polyamides, not put up for retail sale\",\n  \"550921\":\n    \"Yarn; (not sewing thread), single, of synthetic staple fibres, containing 85% or more by weight of polyester, not put up for retail sale\",\n  \"550922\":\n    \"Yarn; (not sewing thread), multiple (folded) or cabled yarn, of synthetic staple fibres, containing 85% or more by weight of polyester, not put up for retail sale\",\n  \"550931\":\n    \"Yarn; (not sewing thread), single, of synthetic staple fibres, containing 85% or more by weight of acrylic or modacrylic, not put up for retail sale\",\n  \"550932\":\n    \"Yarn; (not sewing thread), multiple (folded) or cabled, of synthetic staple fibres, containing 85% or more by weight of acrylic or modacrylic, not put up for retail sale\",\n  \"550941\":\n    \"Yarn; (not sewing thread), single, containing 85% or more by weight of synthetic staple fibres, n.e.c. in heading no. 5509, not put up for retail sale\",\n  \"550942\":\n    \"Yarn; (not sewing thread), multiple (folded) or cabled yarn, containing 85% or more by weight of synthetic staple fibres, n.e.c. in heading no. 5509, not put up for retail sale\",\n  \"550951\":\n    \"Yarn; (not sewing thread), of polyester staple fibres, mixed mainly or solely with artificial staple fibres, not put up for retail sale\",\n  \"550952\":\n    \"Yarn; (not sewing thread), of polyester staple fibres, mixed mainly or solely with wool or fine animal hair, not put up for retail sale\",\n  \"550953\":\n    \"Yarn; (not sewing thread), of polyester staple fibres, mixed mainly or solely with cotton, not put up for retail sale\",\n  \"550959\":\n    \"Yarn; (not sewing thread), of polyester staple fibres, mixed mainly or solely with fibres n.e.c. in item no. 5509.5, not put up for retail sale\",\n  \"550961\":\n    \"Yarn; (not sewing thread), of acrylic or modacrylic staple fibres, mixed mainly or solely with wool or fine animal hair, not put up for retail sale\",\n  \"550962\":\n    \"Yarn; (not sewing thread), of acrylic or modacrylic staple fibres, mixed mainly or solely with cotton, not put up for retail sale\",\n  \"550969\":\n    \"Yarn; (not sewing thread), of acrylic or modacrylic staple fibres, mixed mainly or solely with fibres n.e.c. in item no. 5509.6, not put up for retail sale\",\n  \"550991\":\n    \"Yarn; (not sewing thread), of synthetic staple fibres, mixed mainly or solely with wool or fine animal hair, n.e.c. in heading no. 5509, not put up for retail sale\",\n  \"550992\":\n    \"Yarn; (not sewing thread), of synthetic staple fibres, mixed mainly or solely with cotton, n.e.c. in heading no. 5509, not put up for retail sale\",\n  \"550999\":\n    \"Yarn; (not sewing thread), of synthetic staple fibres, mixed mainly or solely with fibres (other than wool, fine animal hair or cotton), n.e.c. in heading no. 5509, not put up for retail sale\",\n  \"551011\":\n    \"Yarn; (not sewing thread), single, of artificial staple fibres, containing 85% or more by weight of artificial staple fibres, not put up for retail sale\",\n  \"551012\":\n    \"Yarn; (not sewing thread), multiple (folded) or cabled yarn, of artificial staple fibres, containing 85% or more by weight of artificial staple fibres, not put up for retail sale\",\n  \"551020\":\n    \"Yarn; (not sewing thread), of artificial staple fibres, mixed mainly or solely with wool or fine animal hair, not put up for retail sale\",\n  \"551030\":\n    \"Yarn; (not sewing thread), of artificial staple fibres, mixed mainly or solely with cotton, not put up for retail sale\",\n  \"551090\":\n    \"Yarn; (not sewing thread), of artificial staple fibres, mixed mainly or solely with fibres (other than wool, fine animal hair or cotton), not put up for retail sale\",\n  \"551110\":\n    \"Yarn; (not sewing thread), of synthetic staple fibres, containing 85% or more by weight of synthetic staple fibres, put up for retail sale\",\n  \"551120\":\n    \"Yarn; (not sewing thread), of synthetic staple fibres, containing less than 85% by weight of synthetic staple fibres, put up for retail sale\",\n  \"551130\":\n    \"Yarn; (not sewing thread), of artificial staple fibres, put up for retail sale\",\n  \"551211\":\n    \"Fabrics, woven; of synthetic staple fibres, containing 85% or more by weight of polyester staple fibres, unbleached or bleached\",\n  \"551219\":\n    \"Fabrics, woven; of synthetic staple fibres, containing 85% or more by weight of polyester staple fibres, other than unbleached or bleached\",\n  \"551221\":\n    \"Fabrics, woven; of synthetic staple fibres, containing 85% or more by weight of acrylic or modacrylic staple fibres, unbleached or bleached\",\n  \"551229\":\n    \"Fabrics, woven; of synthetic staple fibres, containing 85% or more by weight of acrylic or modacrylic staple fibres, other than unbleached or bleached\",\n  \"551291\":\n    \"Fabrics, woven; of synthetic staple fibres, containing 85% or more by weight of such fibres n.e.c. in heading no. 5512, unbleached or bleached\",\n  \"551299\":\n    \"Fabrics, woven; of synthetic staple fibres, containing 85% or more by weight of such fibres n.e.c. in heading no. 5512, other than unbleached or bleached\",\n  \"551311\":\n    \"Fabrics, woven; plain weave, of polyester staple fibres, containing less than 85% by weight of such fibres, mixed mainly or solely with cotton, of a weight not exceeding 170g/m2, unbleached or bleached\",\n  \"551312\":\n    \"Fabrics, woven; 3-thread or 4-thread twill, of polyester staple fibres, containing less than 85% by weight of such, mixed mainly or solely with cotton, not exceeding 170g/m2, unbleached or bleached\",\n  \"551313\":\n    \"Fabrics, woven; of polyester staple fibres, containing less than 85% by weight of such fibres, mixed mainly or solely with cotton, not exceeding 170g/m2, unbleached or bleached\",\n  \"551319\":\n    \"Fabrics, woven; containing less than 85% by weight of synthetic staple fibres (other than polyesters), mixed mainly or solely with cotton, not exceeding 170g/m2, unbleached or bleached\",\n  \"551321\":\n    \"Fabrics, woven; plain weave, dyed, containing less than 85% by weight of polyester staple fibres, mixed mainly or solely with cotton, not exceeding 170g/m2\",\n  \"551322\":\n    \"Fabrics, woven; 3- or 4-thread twill, including cross twill, dyed, containing less than 85% by weight of polyester staple fibres, mixed mainly or solely with cotton, not exceeding 170g/m2\",\n  \"551323\":\n    \"Fabrics, woven; dyed, containing less than 85% by weight of polyester staple fibres, mixed mainly or solely with cotton, not exceeding 170g/m2\",\n  \"551329\":\n    \"Fabrics, woven; dyed, containing less than 85% by weight of synthetic staple fibres (other than polyesters), mixed mainly or solely with cotton, not exceeding 170g/m2\",\n  \"551331\":\n    \"Fabrics, woven; plain weave, of yarns of different colours, containing less than 85% by weight of polyester staple fibres, mixed mainly or solely with cotton, not exceeding 170g/m2\",\n  \"551332\":\n    \"Fabrics, woven; 3- or 4-thread twill, including cross twill, of yarns of different colours, less than 85% by weight of polyester staple fibres, mixed mainly or solely with cotton, not exceeding 170g/m2\",\n  \"551333\":\n    \"Fabrics, woven; of yarns of different colours, containing less than 85% by weight of polyester staple fibres, mixed mainly or solely with cotton, not exceeding 170g/m2, n.e.s. in heading no. 5513\",\n  \"551339\":\n    \"Fabrics, woven; of yarns of different colours, containing less than 85% of synthetic staple fibres (other than polyester, plain weave), mixed mainly or solely with cotton, not exceeding 170g/m2\",\n  \"551341\":\n    \"Fabrics, woven; plain weave, printed, of polyester staple fibres, containing less than 85% by weight of such fibres, mixed mainly or solely with cotton, not exceeding 170g/m2\",\n  \"551342\":\n    \"Fabrics, woven; 3- or 4-thread twill, including cross twill, printed, containing less than 85% by weight of polyester staple fibres, mixed mainly or solely with cotton, not exceeding 170g/m2\",\n  \"551343\":\n    \"Fabrics, woven; printed, containing less than 85% by weight of polyester staple fibres, mixed mainly or solely with cotton, not exceeding 170g/m2, n.e.s. in heading no. 5513\",\n  \"551349\":\n    \"Fabrics, woven; printed, containing less than 85% by weight of synthetic staple fibres (other than polyester, plain weave), mixed mainly or solely with cotton, not exceeding 170g/m2\",\n  \"551411\":\n    \"Fabrics, woven; plain weave, unbleached or bleached, containing less than 85% by weight of polyester staple fibres, mixed mainly or solely with cotton, exceeding 170g/m2\",\n  \"551412\":\n    \"Fabrics, woven; 3- or 4-thread twill, including cross twill, unbleached or bleached, containing less than 85% by weight of polyester staple fibres, mixed mainly or solely with cotton, over 170g/m2\",\n  \"551413\":\n    \"Fabrics, woven; unbleached or bleached, containing less than 85% by weight of polyester staple fibres, mixed mainly or solely with cotton, exceeding 170g/m2, n.e.s. in heading no. 5514\",\n  \"551419\":\n    \"Fabrics, woven; unbleached or bleached, containing less than 85% by weight of synthetic staple fibres n.e.c. in item no. 55.14.1, mixed mainly or solely with cotton, exceeding 170g/m2\",\n  \"551421\":\n    \"Fabrics, woven; plain weave, dyed, containing less than 85% by weight of polyester staple fibres, mixed mainly or solely with cotton, exceeding 170g/m2\",\n  \"551422\":\n    \"Fabrics, woven; 3- or 4-thread twill, including cross twill, dyed, containing less than 85% by weight of polyester staple fibres, mixed mainly or solely with cotton, exceeding 170g/m2\",\n  \"551423\":\n    \"Fabrics, woven; dyed, containing less than 85% by weight of polyester staple fibres, mixed mainly or solely with cotton, exceeding 170g/m2, n.e.c. in heading no. 5514\",\n  \"551429\":\n    \"Fabrics, woven; dyed, containing less than 85% by weight of synthetic staple fibres (other than polyesters), mixed mainly or solely with cotton, exceeding 170g/m2\",\n  \"551430\":\n    \"Fabrics, woven; of yarns of different colours, containing less than 85% by weight of synthetic staple fibres, mixed mainly or solely with cotton, exceeding 170g/m2\",\n  \"551431\":\n    \"Fabrics, woven; plain weave, of yarns of different colours, containing less than 85% by weight of polyester staple fibres, mixed mainly or solely with cotton, exceeding 170g/m2\",\n  \"551432\":\n    \"Fabrics, woven; 3- or 4-thread twill, including cross twill, of yarns of different colours, containing less than 85% by weight of polyester staple fibres, mixed mainly or solely with cotton, exceeding 170g/m2\",\n  \"551433\":\n    \"Fabrics, woven; of yarns of different colours, of polyester staple fibres, containing less than 85% by weight of such, mixed mainly or solely with cotton, over 170g/m2, n.e.s. in heading no. 5514\",\n  \"551439\":\n    \"Fabrics, woven; of yarns of different colours, containing less than 85% by weight of synthetic staple fibres (other than polyesters), mixed mainly or solely with cotton, exceeding 170g/m2\",\n  \"551441\":\n    \"Fabrics, woven; plain weave, printed, containing less than 85% by weight of polyester staple fibres, mixed mainly or solely with cotton, exceeding 170g/m2\",\n  \"551442\":\n    \"Fabrics, woven; 3- or 4-thread twill, including cross twill, printed, containing less than 85% by weight of polyester staple fibres, mixed mainly or solely with cotton, exceeding 170g/m2\",\n  \"551443\":\n    \"Fabrics, woven; printed, containing less than 85% by weight of polyester staple fibres, mixed mainly or solely with cotton, weight exceeding 170g/m2, n.e.c. in heading no. 5514\",\n  \"551449\":\n    \"Fabrics, woven; printed, containing less than 85% by weight of synthetic staple fibres (other than polyesters), mixed mainly or solely with cotton, exceeding 170g/m2\",\n  \"551511\":\n    \"Fabrics, woven; of polyester staple fibres n.e.c. in chapter 55, mixed mainly or solely with viscose rayon staple fibres\",\n  \"551512\":\n    \"Fabrics, woven; of polyester staple fibres n.e.c. in chapter 55, mixed mainly or solely with man-made filaments\",\n  \"551513\":\n    \"Fabrics, woven; of polyester staple fibres n.e.c. in chapter 55, mixed mainly or solely with wool or fine animal hair\",\n  \"551519\":\n    \"Fabrics, woven; of polyester staple fibres n.e.c. in chapter 55, mixed mainly or solely with fibres n.e.c. in item no. 5515.1\",\n  \"551521\":\n    \"Fabrics, woven; of acrylic or modacrylic staple fibres n.e.c. in chapter 55, mixed mainly or solely with man-made filaments\",\n  \"551522\":\n    \"Fabrics, woven; of acrylic or modacrylic staple fibres n.e.c. in chapter 55, mixed mainly or solely with wool or fine animal hair\",\n  \"551529\":\n    \"Fabrics, woven; of acrylic or modacrylic staple fibres n.e.c. in chapter 55, mixed mainly or solely with fibres n.e.c. in item no. 5515.2\",\n  \"551591\":\n    \"Fabrics, woven; of synthetic staple fibres n.e.c. in chapter 55, mixed mainly or solely with man-made filaments\",\n  \"551592\":\n    \"Fabrics, woven; of synthetic staple fibres n.e.s. in chapter 55, mixed mainly or solely with wool or fine animal hair\",\n  \"551599\":\n    \"Fabrics, woven; of synthetic staple fibres n.e.c. in chapter 55, mixed mainly or solely with fibres n.e.c. in heading no. 5515\",\n  \"551611\":\n    \"Fabrics, woven; unbleached or bleached, containing 85% or more by weight of artificial staple fibres\",\n  \"551612\":\n    \"Fabrics, woven; dyed, containing 85% or more by weight of artificial staple fibres\",\n  \"551613\":\n    \"Fabrics, woven; of yarns of different colours, containing 85% or more by weight of artificial staple fibres\",\n  \"551614\":\n    \"Fabrics, woven; printed, containing 85% or more by weight of artificial staple fibres\",\n  \"551621\":\n    \"Fabrics, woven; unbleached or bleached, containing less than 85% by weight of artificial staple fibres, mixed mainly or solely with manmade filaments\",\n  \"551622\":\n    \"Fabrics, woven; dyed, containing less than 85% by weight of artificial staple fibres, mixed mainly or solely with man-made filaments\",\n  \"551623\":\n    \"Fabrics, woven; of yarns of different colours, containing less than 85% by weight of artificial staple fibres, mixed mainly or solely with man-made filaments\",\n  \"551624\":\n    \"Fabrics, woven; printed, containing less than 85% by weight of artificial staple fibres, mixed mainly or solely with man-made filaments\",\n  \"551631\":\n    \"Fabrics, woven; unbleached or bleached, containing less than 85% by weight of artificial staple fibres, mixed mainly or solely with wool or fine animal hair\",\n  \"551632\":\n    \"Fabrics, woven; dyed, containing less than 85% by weight of artificial staple fibres, mixed mainly or solely with wool or fine animal hair\",\n  \"551633\":\n    \"Fabrics, woven; of yarns of different colours, containing less than 85% by weight of artificial staple fibres, mixed mainly or solely with wool or fine animal hair\",\n  \"551634\":\n    \"Fabrics, woven; printed, containing less than 85% by weight of artificial staple fibres, mixed mainly or solely with wool or fine animal hair\",\n  \"551641\":\n    \"Fabrics, woven; unbleached or bleached, containing less than 85% by weight of artificial staple fibres, mixed mainly or solely with cotton\",\n  \"551642\":\n    \"Fabrics, woven; dyed, containing less than 85% by weight of artificial staple fibres, mixed mainly or solely with cotton\",\n  \"551643\":\n    \"Fabrics, woven; of yarns of different colours, containing less than 85% by weight of artificial staple fibres, mixed mainly or solely with cotton\",\n  \"551644\":\n    \"Fabrics, woven; printed, containing less than 85% by weight of artificial staple fibres, mixed mainly or solely with cotton\",\n  \"551691\":\n    \"Fabrics, woven; unbleached or bleached, of artificial staple fibres, n.e.c. in heading no. 5516\",\n  \"551692\":\n    \"Fabrics, woven; dyed, of artificial staple fibres, n.e.c. in heading no. 5516\",\n  \"551693\":\n    \"Fabrics, woven; of yarns of different colours, of artificial staple fibres, n.e.c. in heading no. 5516\",\n  \"551694\":\n    \"Fabrics, woven; printed, of artificial staple fibres, n.e.c. in heading no. 5516\",\n  \"560110\":\n    \"Wadding, other articles thereof, sanitary towels and tampons, napkins and napkin liners for babies and similar\",\n  \"560121\": \"Wadding; other articles thereof, of cotton\",\n  \"560122\": \"Wadding; other articles thereof, of man-made fibres\",\n  \"560129\":\n    \"Wadding; other articles thereof, other than of cotton or man-made fibres\",\n  \"560130\": \"Wadding; textile flock and dust and mill neps\",\n  \"560210\":\n    \"Felt; needleloom felt and stitch-bonded fibre fabrics, whether or not impregnated, coated, covered or laminated\",\n  \"560221\":\n    \"Felt; of wool or fine animal hair (excluding needleloom felt or stitch-bonded fibre fabrics), not impregnated, coated, covered nor laminated\",\n  \"560229\":\n    \"Felt; of textile materials other than wool or fine animal hair (excluding needleloom felt and stitch-bonded fibre fabrics), not impregnated, coated, covered or laminated\",\n  \"560290\":\n    \"Felt; impregnated, coated, covered or laminated (excluding needleloom felt and stitch-bonded fibre fabrics)\",\n  \"560300\":\n    \"Nonwovens; whether or not impregnated, coated, covered or laminated\",\n  \"560311\":\n    \"Nonwovens; whether or not impregnated, coated, covered or laminated, of man-made filaments, (weighing not more than 25g/m2)\",\n  \"560312\":\n    \"Nonwovens; whether or not impregnated, coated, covered or laminated, of man-made filaments, (weighing more than 25g/m2 but not more than 70g/m2)\",\n  \"560313\":\n    \"Nonwovens; whether or not impregnated, coated, covered or laminated, of man-made filaments, (weighing more than 70g/m2 but not more than 150g/m2)\",\n  \"560314\":\n    \"Nonwovens; whether or not impregnated, coated, covered or laminated, of man-made filaments, (weighing more than 150g/m2)\",\n  \"560391\":\n    \"Nonwovens; whether or not impregnated, coated, covered or laminated, not of man-made filaments, (weighing not more than 25g/m2)\",\n  \"560392\":\n    \"Nonwovens; whether or not impregnated, coated, covered or laminated, not of man-made filaments, (weighing more than 25g/m2 but not more than 70g/m2)\",\n  \"560393\":\n    \"Nonwovens; whether or not impregnated, coated, covered or laminated, not of man-made filaments, (weighing more than 70g/m2 but not more than 150g/m2)\",\n  \"560394\":\n    \"Nonwovens; whether or not impregnated, coated, covered or laminated, not of man-made filaments, (weighing more than 150g/m2)\",\n  \"560410\": \"Rubber thread and cord; textile covered\",\n  \"560420\":\n    \"Yarn; high tenacity yarn of polyesters, nylon, other polyamides or of viscose rayon, impregnated or coated\",\n  \"560490\":\n    \"Yarn; textile yarn, strip, and the like of heading no. 5404 or 5405, impregnated, coated, covered, or sheathed with rubber or plastics, n.e.c. in heading no. 5604\",\n  \"560500\":\n    \"Yarn; metallised, whether or not gimped, of textile yarn, or strip or the like of heading no. 5404 or 5405, combined with metal in the form of thread, strip or powder or covered with metal\",\n  \"560600\":\n    \"Yarn and strip and the like of heading no. 5404 or 5405; gimped, (other than those of heading no. 5406 and gimped horsehair yarn); chenille yarn (including flock chenille yarn); loop wale-yarn\",\n  \"560710\":\n    \"Twine, cordage, ropes and cables; whether or not plaited, braided or impregnated, coated, covered or sheathed with rubber or plastics; of jute or other textile bast fibres of heading no. 5303\",\n  \"560721\":\n    \"Twine; binder or baler twine, of sisal or other textile fibres of the genus agave\",\n  \"560729\":\n    \"Twine, cordage, ropes, cables; of sisal or other textile fibres of the genus agave (excluding binder or baler twine), whether or not plaited, braided or rubber or plastic impregnated, coated, covered or sheathed\",\n  \"560730\":\n    \"Twine, cordage, ropes, cables; of abaca (manila hemp or musa textilis nee) or other hard (leaf) fibres\",\n  \"560741\": \"Twine; binder or baler twine, of polyethylene or polypropylene\",\n  \"560749\":\n    \"Twine, cordage, ropes, cables; of polyethylene or polypropylene (excluding binder or baler twine), whether or not plaited, braided or rubber or plastic impregnated, coated, covered or sheathed\",\n  \"560750\":\n    \"Twine, cordage, ropes, cables; of synthetic fibres other than polyethylene or polypropylene, whether or not plaited, braided or impregnated, coated, covered or sheathed with rubber or plastics\",\n  \"560790\":\n    \"Twine, cordage, ropes, cables; of materials n.e.c. in heading no. 5607, whether or not plaited, braided or impregnated, coated, covered, or sheathed with rubber or plastics\",\n  \"560811\":\n    \"Twine, cordage or rope; fishing nets, made up, of man made textile materials\",\n  \"560819\":\n    \"Twine, cordage or rope; knotted netting, for other than fishing, of man-made textile materials\",\n  \"560890\":\n    \"Twine, cordage or rope; knotted netting, of other than man-made textiles\",\n  \"560900\":\n    \"Yarn; articles of yarn, strip or the like of heading no. 5404 and 5405, twine, cordage, rope or cables n.e.c. or included\",\n  \"570110\":\n    \"Carpets and other textile floor coverings; knotted, of wool or fine animal hair, whether or not made up\",\n  \"570190\":\n    \"Carpets and other textile floor coverings; knotted, of textile materials (other than wool or fine animal hair), whether or not made up\",\n  \"570210\":\n    \"Carpets and other textile floor coverings; woven, (not tufted or flocked), whether or not made up, including kelem, schumacks, karamanie and similar hand-woven rugs\",\n  \"570220\":\n    \"Carpets and other textile floor coverings; woven, (not tufted or flocked), whether or not made up, of coconut fibres (coir)\",\n  \"570231\":\n    \"Carpets and other textile floor coverings; woven, (not tufted or flocked), of wool or fine animal hair, of pile construction, not made up, n.e.c. in item no. 5702.10 or 5702.20\",\n  \"570232\":\n    \"Carpets and other textile floor coverings; woven, (not tufted or flocked), of man-made textile materials, of pile construction, not made up, n.e.c. in item no. 5702.10 or 5702.20\",\n  \"570239\":\n    \"Carpets and other textile floor coverings; woven, (not tufted or flocked), of textile materials (other than man-made, wool or fine animal hair), of pile construction, not made up, n.e.c. in item no. 5702.10 or 5702.20\",\n  \"570241\":\n    \"Carpets and other textile floor coverings; woven, (not tufted or flocked), of wool or fine animal hair, of pile construction, made up, n.e.c. in item no. 5702.10 or 5702.20\",\n  \"570242\":\n    \"Carpets and other textile floor coverings; woven, (not tufted or flocked), of man-made textile materials, of pile construction, made up, n.e.c. in item no. 5702.10 or 5702.20\",\n  \"570249\":\n    \"Carpets and other textile floor coverings; woven, (not tufted or flocked), of textile materials (other than man-made, wool or fine animal hair), of pile construction, made up, n.e.c. in item no. 5702.10 or 5702.20\",\n  \"570250\":\n    \"Carpets and other textile floor coverings; woven, (not tufted or flocked), not of pile construction, not made up, n.e.c. in item no. 5702.10 or 5702.20\",\n  \"570251\":\n    \"Carpets and other textile floor coverings; woven, (not tufted or flocked), of wool or fine animal hair, not of pile construction, not made up, n.e.s. in item no. 5702.10 or 5702.20\",\n  \"570252\":\n    \"Carpets and other textile floor coverings; woven, (not tufted or flocked), of man-made textile materials, not of pile construction, not made up, n.e.s. in item no. 5702.10 or 5702.20\",\n  \"570259\":\n    \"Carpets and other textile floor coverings; woven, (not tufted or flocked), of textile materials (other than man-made or wool or fine animal hair), not of pile construction, not made up, n.e.s. in item no. 5702.10 or 5702.20\",\n  \"570291\":\n    \"Carpets and other textile floor coverings; woven, (not tufted or flocked), of wool or fine animal hair, (not of pile construction), made up, n.e.c. in item no. 5702.10 or 5702.20\",\n  \"570292\":\n    \"Carpets and other textile floor coverings; woven, (not tufted or flocked), of man-made textile materials, (not of pile construction), made up, n.e.c. in item no. 5702.10 or 5702.20\",\n  \"570299\":\n    \"Carpets and other textile floor coverings; woven, (not tufted or flocked), of textile materials (other than man-made or wool or fine animal hair, not of pile construction), made up, n.e.c. in item no. 5702.10 or 5702.20\",\n  \"570310\":\n    \"Carpets and other textile floor coverings; tufted, of wool or fine animal hair, whether or not made up\",\n  \"570320\":\n    \"Carpets and other textile floor coverings; tufted, of nylon or other polyamides, whether or not made up\",\n  \"570321\":\n    \"Carpets and other textile floor coverings; tufted, of nylon or other polyamides, whether or not made up\",\n  \"570329\":\n    \"Carpets; tufted, of nylon or other polyamides, whether or not made up\",\n  \"570330\":\n    \"Carpets and other textile floor coverings; tufted, of man-made textile materials (other than polyamides), whether or not made up\",\n  \"570331\":\n    \"Carpets and other textile floor coverings; tufted, of other man-made textile materials (other than polyamides), whether or not made up\",\n  \"570339\":\n    \"Carpets; tufted, of man-made textile materials (other than polyamides), whether of not made up\",\n  \"570390\":\n    \"Carpets and other textile floor coverings; tufted, of textile materials (other than man-made, wool or fine animal hair), whether or not made up\",\n  \"570410\":\n    \"Textile floor coverings; felt tiles, (not tufted or flocked), whether or not made up, having a maximum surface area of 0.3m2\",\n  \"570420\":\n    \"Carpets and other textile floor coverings; of felt, (not tufted or flocked), whether or not made up, having a maximum surface area exceeding 0.3 m2 but not exceeding 1 m2\",\n  \"570490\":\n    \"Carpets and other textile floor coverings; of felt, (not tufted or flocked), in the piece,  whether or not made up, having a maximum surface area exceeding 1 m2\",\n  \"570500\":\n    \"Carpets and other textile floor coverings; n.e.c. in chapter 57, whether or not made up\",\n  \"580110\":\n    \"Fabrics; woven pile, of wool or fine animal hair, other than fabrics of heading no. 5802 or 5806\",\n  \"580121\":\n    \"Fabrics; woven pile, of cotton, uncut weft pile fabrics, other than fabrics of heading no. 5802 or 5806\",\n  \"580122\":\n    \"Fabrics; woven pile, of cotton, cut corduroy, other than fabrics of heading no. 5802 or 5806\",\n  \"580123\":\n    \"Fabrics; woven pile, of cotton, weft pile fabrics other than uncut and corduroy, other than fabrics of heading no. 5802 or 5806\",\n  \"580124\":\n    \"Fabrics; woven pile, of cotton, warp pile fabrics, epingle (uncut), other than fabrics of heading no. 5802 or 5806\",\n  \"580125\":\n    \"Fabrics; woven pile, of cotton, warp pile fabrics, cut, other than fabrics of heading no. 5802 or 5806\",\n  \"580126\":\n    \"Fabrics; chenille, of cotton, other than fabrics of heading no. 5802 or 5806\",\n  \"580127\":\n    \"Fabrics; woven pile, of cotton, warp pile fabrics, other than fabrics of heading no. 5802 or 5806\",\n  \"580131\":\n    \"Fabrics; woven pile, of man-made fibres, uncut weft pile fabrics, other than fabrics of heading no. 5802 or 5806\",\n  \"580132\":\n    \"Fabrics; woven pile, of man-made fibres, cut corduroy, other than fabrics of heading no. 5802 or 5806\",\n  \"580133\":\n    \"Fabrics; woven pile, of man-made fibres, other weft pile fabrics, other than fabrics of heading no. 5802 or 5806\",\n  \"580134\":\n    \"Fabrics; woven pile, of man-made fibres, warp pile fabrics, epingle (uncut), other than fabrics of heading no. 5802 or 5806\",\n  \"580135\":\n    \"Fabrics; woven pile, of man-made fibres, warp pile fabrics, cut, other than fabrics of heading no. 5802 or 5806\",\n  \"580136\":\n    \"Fabrics; chenille, of man-made fibres, other than fabrics of heading no. 5802 or 5806\",\n  \"580137\":\n    \"Fabrics; woven pile, of man-made fibres, warp pile fabrics, other than fabrics of heading no. 5802 or 5806\",\n  \"580190\":\n    \"Fabrics; woven pile and chenille, of textile materials n.e.c. in heading no. 5801, other than fabrics of heading no. 5802 or 5806\",\n  \"580210\":\n    \"Fabrics; terry towelling and similar woven terry fabrics, of cotton, whether bleached or unbleached, excluding narrow fabrics of heading no. 5806\",\n  \"580211\":\n    \"Fabrics; terry towelling and similar woven terry fabrics, of cotton, unbleached, excluding narrow fabrics of heading no. 5806\",\n  \"580219\":\n    \"Fabrics; terry towelling and similar woven terry fabrics, of cotton, bleached, excluding narrow fabrics of heading no. 5806\",\n  \"580220\":\n    \"Fabrics; terry towelling and similar woven terry fabrics, of textile materials, excluding cotton, excluding narrow fabrics of heading no. 5806\",\n  \"580230\":\n    \"Fabrics; tufted textile fabrics, excluding products of heading no. 5703\",\n  \"580300\": \"Gauze; other than narrow fabrics of heading no. 5806\",\n  \"580310\": \"Gauze; of cotton, other than narrow fabrics of heading no. 5806\",\n  \"580390\":\n    \"Gauze; of textile materials other than cotton, (excluding narrow fabrics of heading no. 5806)\",\n  \"580410\":\n    \"Tulles and other net fabrics; excluding woven, knitted or crocheted fabrics, (other than fabrics of headings 60.02 to 60.06)\",\n  \"580421\":\n    \"Lace; mechanically made, of man-made fibres in the piece, in strips or in motifs, (other than fabrics of headings 60.02 to 60.06)\",\n  \"580429\":\n    \"Lace; mechanically made, of textile materials, (other than man-made fibres), in the piece, in strips or motifs, (other than fabrics of headings 60.02 to 60.06)\",\n  \"580430\":\n    \"Lace; hand-made, in the piece, in strips or motifs, (other than fabrics of headings 60.02 to 60.06)\",\n  \"580500\":\n    \"Tapestries; hand-woven, (Gobelins, Flanders, Aubusson, Beauvais and the like) and needle-worked tapestries (e.g. petit point, cross-stitch) whether or not made up\",\n  \"580610\":\n    \"Fabrics; woven pile (including terry towelling and similar terry fabrics) and chenille fabrics (excluding goods of heading no. 5807)\",\n  \"580620\":\n    \"Fabrics; narrow (excluding pile fabrics), containing by weight 5% or more of elastomeric yarn or rubber thread\",\n  \"580631\":\n    \"Fabrics; narrow woven fabrics, n.e.c. in heading no. 5806, of cotton (excluding goods of heading no. 5807)\",\n  \"580632\":\n    \"Fabrics, narrow woven fabrics, n.e.c. in heading no. 5806, of man-made fibres (excluding goods of heading no. 5807)\",\n  \"580639\":\n    \"Fabrics; narrow woven fabrics, n.e.c. in heading no. 5806, of textile materials n.e.c. in item no. 5806.3 (excluding goods of heading no. 5807)\",\n  \"580640\":\n    \"Fabrics; narrow woven, consisting of warp without weft, assembled by means of an adhesive (bolducs)\",\n  \"580710\":\n    \"Labels, badges and similar articles; woven, of textile materials, in the piece, in strips or cut to shape or size, not embroidered\",\n  \"580790\":\n    \"Labels, badges and similar articles; (other than woven), of textile materials, in the piece, in strips or cut to shape or size, not embroidered\",\n  \"580810\": \"Braids; in the piece\",\n  \"580890\":\n    \"Ornamental trimmings; tassels, pompons and similar articles; ornamental trimmings in the piece, without embroidery, other than knitted or crocheted\",\n  \"580900\":\n    \"Fabrics, woven; of metal thread and metallised yarn of heading no. 5605, of a kind used in apparel, as furnishing fabrics or similar purposes; n.e.c. or included\",\n  \"581010\":\n    \"Embroidery; without visible ground, in the piece, in strips or in motifs\",\n  \"581091\":\n    \"Embroidery; with visible ground, of cotton, in the piece, in strips or in motifs\",\n  \"581092\":\n    \"Embroidery; with visible ground, of man-made fibres, in the piece, in strips or in motifs\",\n  \"581099\":\n    \"Embroidery; with visible ground, of textile materials (other than cotton and man-made fibres), in the piece, in strips or in motifs\",\n  \"581100\":\n    \"Quilted textile products; in the piece, composed of one or more layers of textile materials assembled with padding by stitching or otherwise (excluding embroidery of heading no. 5810)\",\n  \"590110\":\n    \"Textile fabrics; coated with gum or amylaceous substances, of a kind used for the outer covers of books or the like\",\n  \"590190\":\n    \"Textile fabrics; coated with gum or amylaceous substances, tracing cloth, prepared painting canvas, buckram and similar stiffened textile fabrics for hat foundations, (excluding book covers)\",\n  \"590210\":\n    \"Textile fabrics; tyrecord of high tenacity yarn of nylon or other polyamides\",\n  \"590220\": \"Textile fabrics; tyrecord of high tenacity yarn of polyester\",\n  \"590290\": \"Textile fabrics; tyrecord of high tenacity yarn of viscose rayon\",\n  \"590310\":\n    \"Textile fabrics; impregnated, coated, covered or laminated with poly(vinyl chloride)\",\n  \"590320\":\n    \"Textile fabrics; impregnated, coated, covered or laminated with polyurethane\",\n  \"590390\":\n    \"Textile fabrics; impregnated, coated, covered or laminated with plastics, (excluding polyvinyl chloride, polyurethane and those of heading no. 5902)\",\n  \"590410\": \"Linoleum, whether or not cut to shape\",\n  \"590490\":\n    \"Textiles floor coverings; consisting of a coating or covering applied on a textile backing, whether or not cut to shape, other than linoleum\",\n  \"590491\":\n    \"Textiles; floor coverings (excluding linoleum) consisting of a coating or covering applied on a base of needleloom felt or nonwovens, whether or not cut to shape\",\n  \"590492\":\n    \"Textiles; floor coverings (excluding linoleum) consisting of a coating or covering applied on a textile base (excluding needleloom felt or nonwovens), whether or not cut to shape\",\n  \"590500\":\n    \"Textile wall coverings of fabrics impregnated, coated, covered or laminated\",\n  \"590610\":\n    \"Textile fabrics, rubberised; (excluding those of heading no. 5902), adhesive tape of a width not exceeding 20cm\",\n  \"590691\":\n    \"Textile fabrics, rubberised; (excluding those of heading no. 5902 and adhesive tape of a width not exceeding 20cm), knitted or crocheted\",\n  \"590699\":\n    \"Textile fabrics, rubberised; (excluding those of heading no. 5902 and adhesive tape of a width not exceeding 20cm), not knitted or crocheted\",\n  \"590700\":\n    \"Textile fabrics; otherwise impregnated, coated or covered, painted canvas being theatrical scenery, studio back-cloths or the like\",\n  \"590800\":\n    \"Textile wicks, woven, plaited or knitted; for lamps, stoves, lighters, candles or the like; incandescent gas mantles and tubular knitted gas mantle fabric therefor, whether or not impregnated\",\n  \"590900\":\n    \"Textile hosepiping and similar textile tubing; with or without lining, armour or accessories of other materials\",\n  \"591000\":\n    \"Textiles; transmission or conveyor belts or belting, of textile material, whether or not impregnated, coated, covered or laminated with plastics, or reinforced with metal or other material\",\n  \"591110\":\n    \"Textile fabric, felt & felt-lined woven fabrics, coated/covered/laminated with rubber, leather or other material, for card clothing, similar fabrics used for technical purposes, including rubber impregnated narrow velvet fabrics to cover weaving spindles\",\n  \"591120\":\n    \"Textile products and articles for technical uses; bolting cloth, whether or not made up\",\n  \"591131\":\n    \"Textiles; fabrics and felts, endless or fitted with linking devices, of a kind used in paper-making or similar machines, weighing less than 650g/m2\",\n  \"591132\":\n    \"Textiles; fabrics and felts, endless or fitted with linking devices, of a kind used in paper-making or similar machines, weighing 650g/m2 or more\",\n  \"591140\":\n    \"Textile products and articles for technical uses; straining cloth of a kind used in oil presses and the like, including that of human hair\",\n  \"591190\":\n    \"Textile products and articles for technical uses; n.e.c. in heading no. 5911\",\n  \"600110\": \"Fabrics; long pile fabrics, knitted or crocheted\",\n  \"600121\": \"Fabrics; looped pile fabrics, of cotton, knitted or crocheted\",\n  \"600122\":\n    \"Fabrics; looped pile fabrics, of man-made fibres, knitted or crocheted\",\n  \"600129\":\n    \"Fabrics; looped pile fabrics, of textile materials (other than cotton or man-made fibres), knitted or crocheted\",\n  \"600191\":\n    \"Fabrics; pile fabrics (excluding long pile and loop pile), of cotton, knitted or crocheted\",\n  \"600192\":\n    \"Fabrics; pile fabrics (excluding long pile and loop pile), of man-made fibres, knitted or crocheted\",\n  \"600199\":\n    \"Fabrics; pile fabrics (excluding long pile and loop pile), of textile materials (other than cotton or man-made fibres), knitted or crocheted\",\n  \"600210\":\n    \"Fabrics; knitted or crocheted (excluding pile fabrics), 30cm wide or less, containing 5% or more by weight of elastomeric yarn or rubber thread\",\n  \"600220\":\n    \"Fabrics; knitted or crocheted (excluding pile fabrics), 30cm or less wide\",\n  \"600230\":\n    \"Fabrics; knitted or crocheted (excluding pile fabrics), wider than 30cm, containing 5% or more by weight of elastomeric yarn or rubber thread\",\n  \"600240\":\n    \"Fabrics; knitted or crocheted, other than those of heading 60.01, of a width not exceeding 30 cm, containing by weight 5% or more of elastomeric yarn but not containing rubber thread\",\n  \"600241\":\n    \"Fabrics; warp knit, (including those made on galloon knitting machines, excluding pile fabrics), of wool or fine animal hair\",\n  \"600242\":\n    \"Fabrics; warp knit, (including those made on galloon knitting machines, excluding pile fabrics), of cotton\",\n  \"600243\":\n    \"Fabrics; warp knit, (including those made on galloon knitting machines, excluding pile fabrics), of man-made fibres\",\n  \"600249\":\n    \"Fabrics; warp knit, (including those made on galloon knitting machines, excluding pile fabrics), of fibres n.e.s. in item no. 6002.4\",\n  \"600290\":\n    \"Fabrics; knitted or crocheted, other than those of heading 60.01, of a width not exceeding 30 cm, containing by weight 5% or more of elastomeric yarn or rubber thread\",\n  \"600291\":\n    \"Fabrics; knitted or crocheted (excluding pile fabrics and warp knit), of wool or fine animal hair\",\n  \"600292\":\n    \"Fabrics; knitted or crocheted (excluding pile fabrics and warp knit), of cotton\",\n  \"600293\":\n    \"Fabrics; knitted or crocheted (excluding pile fabrics and warp knit), of man-made fibres\",\n  \"600299\":\n    \"Fabrics; knitted or crocheted (excluding pile fabrics and warp knit), of fibres n.e.s. in item no. 6002.9\",\n  \"600310\":\n    \"Fabrics; knitted or crocheted fabrics, other than those of heading 60.01 and 60.02, of a width not exceeding 30 cm, of wool or fine animal hair\",\n  \"600320\":\n    \"Fabrics; knitted or crocheted fabrics, other than those of heading 60.01 and 60.02, of a width not exceeding 30 cm, of cotton\",\n  \"600330\":\n    \"Fabrics; knitted or crocheted fabrics, other than those of heading 60.01 and 60.02, of a width not exceeding 30 cm, of synthetic fibres\",\n  \"600340\":\n    \"Fabrics; knitted or crocheted fabrics, other than those of heading 60.01 and 60.02, of a width not exceeding 30 cm, of artificial fibres\",\n  \"600390\":\n    \"Fabrics; knitted or crocheted fabrics, other than those of heading 60.01 and 60.02, of a width not exceeding 30 cm, other than of wool and fine animal hair, cotton, synthetic or artificial fibres\",\n  \"600410\":\n    \"Knitted or crocheted fabrics; width >30cm, >5% elastomeric yarn (not rubber); excl. pile\",\n  \"600490\":\n    \"Fabrics; knitted or crocheted, other than those of heading 60.01, of a width exceeding 30 cm, containing by weight 5% or more of elastomeric yarn or rubber thread,\",\n  \"600510\":\n    \"Fabrics; warp knit (including those made on galloon knitting machines), other than those of headings 60.01 to 60.04, of wool or fine animal hair\",\n  \"600521\":\n    \"Fabrics; warp knit (including those made on galloon knitting machines), other than those of headings 60.01 to 60.04, of cotton, unbleached or bleached\",\n  \"600522\":\n    \"Fabrics; warp knit (including those made on galloon knitting machines), other than those of headings 60.01 to 60.04, of cotton, dyed\",\n  \"600523\":\n    \"Fabrics; warp knit (including those made on galloon knitting machines), other than those of headings 60.01 to 60.04, of cotton, yarns of different colours\",\n  \"600524\":\n    \"Fabrics; warp knit (including those made on galloon knitting machines), other than those of headings 60.01 to 60.04, of cotton, printed\",\n  \"600531\":\n    \"Fabrics; warp knit (including those made on galloon knitting machines), other than those of headings 60.01 to 60.04, of synthetic fibres, bleached or unbleached\",\n  \"600532\":\n    \"Fabrics; warp knit (including those made on galloon knitting machines), other than those of headings 60.01 to 60.04, of synthetic fibres, dyed\",\n  \"600533\":\n    \"Fabrics; warp knit (including those made on galloon knitting machines), other than those of headings 60.01 to 60.04, of synthetic fibres, of yarns of different colours\",\n  \"600534\":\n    \"Fabrics; warp knit (including those made on galloon knitting machines), other than those of headings 60.01 to 60.04, of synthetic fibres, printed\",\n  \"600535\":\n    \"Fabrics; warp knit (including those made on galloon knitting machines), other than those of headings 60.01 to 60.04, of synthetic fibres specified in Subheading Note 1 to this Chapter\",\n  \"600536\":\n    \"Fabrics; warp knit (including those made on galloon knitting machines), other than those of headings 60.01 to 60.04, of synthetic fibres, bleached or unbleached\",\n  \"600537\":\n    \"Fabrics; warp knit (including those made on galloon knitting machines), other than those of headings 60.01 to 60.04, of synthetic fibres, dyed\",\n  \"600538\":\n    \"Fabrics; warp knit (including those made on galloon knitting machines), other than those of headings 60.01 to 60.04, of synthetic fibres, yarns of different colours\",\n  \"600539\":\n    \"Fabrics; warp knit (including those made on galloon knitting machines), other than those of headings 60.01 to 60.04, of synthetic fibres, printed\",\n  \"600541\":\n    \"Fabrics; warp knit (including those made on galloon knitting machines), other than those of headings 60.01 to 60.04, of artificial fibres, bleached or unbleached\",\n  \"600542\":\n    \"Fabrics; warp knit (including those made on galloon knitting machines), other than those of headings 60.01 to 60.04, of artificial fibres, dyed\",\n  \"600543\":\n    \"Fabrics; warp knit (including those made on galloon knitting machines), other than those of headings 60.01 to 60.04, of artificial fibres, of yarns of different colours\",\n  \"600544\":\n    \"Fabrics; warp knit (including those made on galloon knitting machines), other than those of headings 60.01 to 60.04, of artificial fibres, printed\",\n  \"600590\":\n    \"Fabrics; warp knit (including those made on galloon knitting machines), other than those of headings 60.01 to 60.04, excluding those made from cotton or synthetic or artificial fibres\",\n  \"600610\":\n    \"Fabrics; knitted or crocheted fabrics, other than those of headings 60.01 to 60.04, of wool or fine animal hair\",\n  \"600621\":\n    \"Fabrics; knitted or crocheted fabrics, other than those of headings 60.01 to 60.04, of cotton, unbleached or bleached\",\n  \"600622\":\n    \"Fabrics; knitted or crocheted fabrics, other than those of headings 60.01 to 60.04, of cotton, dyed\",\n  \"600623\":\n    \"Fabrics; knitted or crocheted fabrics, other than those of headings 60.01 to 60.04, of cotton, of yarns of different colours\",\n  \"600624\":\n    \"Fabrics; knitted or crocheted fabrics, other than those of headings 60.01 to 60.04, of cotton, printed\",\n  \"600631\":\n    \"Fabrics; knitted or crocheted fabrics, other than those of headings 60.01 to 60.04, of synthetic fibres, unbleached or bleached\",\n  \"600632\": \"Knitted or crocheted fabrics of syntetic fibres; dyed\",\n  \"600633\":\n    \"Fabrics; knitted or crocheted fabrics, other than those of headings 60.01 to 60.04, of synthetic fibres, of yarns of different colours\",\n  \"600634\":\n    \"Fabrics; knitted or crocheted fabrics, other than those of headings 60.01 to 60.04, of synthetic fibres, printed\",\n  \"600641\":\n    \"Fabrics; knitted or crocheted fabrics, other than those of headings 60.01 to 60.04, of artificial fibres, unbleached or bleached\",\n  \"600642\":\n    \"Fabrics; knitted or crocheted fabrics, other than those of headings 60.01 to 60.04, of artificial fibres, dyed\",\n  \"600643\":\n    \"Fabrics; knitted or crocheted fabrics, other than those of headings 60.01 to 60.04, of artificial fibres, of yarns of different colours\",\n  \"600644\":\n    \"Fabrics; knitted or crocheted fabrics, other than those of headings 60.01 to 60.04, of artificial fibres, printed\",\n  \"600690\":\n    \"Fabrics; knitted or crocheted fabrics, other than those of headings 60.01 to 60.04,and other than those made of wool, fine animal hair, cotton, synthetic or artificial fibres\",\n  \"610110\":\n    \"Coats; men's or boys' overcoats, car-coats, capes, anoraks, wind-jackets and similar articles, of wool or fine animal hair, knitted or crocheted (excluding those of heading no. 6103)\",\n  \"610120\":\n    \"Coats; men's or boys' overcoats, car-coats, capes, anoraks, wind-jackets and similar articles, of cotton, knitted or crocheted (excluding those of heading no. 6103)\",\n  \"610130\":\n    \"Coats; men's or boys' overcoats, car-coats, capes, anoraks, wind-jackets and similar articles, of man-made fibres, knitted or crocheted, (excluding those of heading no. 6103)\",\n  \"610190\":\n    \"Coats; men's or boys' overcoats, car-coats, capes, anoraks, wind-jackets and similar articles, of textile materials n.e.c. in heading no. 6101, knitted or crocheted (excluding those of heading no. 6103)\",\n  \"610210\":\n    \"Coats; women's or girls' overcoats, car-coats, capes, anoraks, wind-jackets and similar articles, of wool or fine animal hair, knitted or crocheted (excluding those of heading no. 6104)\",\n  \"610220\":\n    \"Coats; women's or girls' overcoats, car-coats, capes, anoraks, wind-jackets and similar articles, of cotton, knitted or crocheted (excluding those of heading no. 6104)\",\n  \"610230\":\n    \"Coats; women's or girls' overcoats, car-coats, capes, anoraks, wind-jackets and similar articles, of man-made fibres, knitted or crocheted (excluding those of heading no. 6104)\",\n  \"610290\":\n    \"Coats; women's or girls' overcoats, car-coats, capes, anoraks, wind-jackets and similar articles, of textile materials n.e.c. in heading no. 6102, knitted or crocheted (excluding those of heading no. 6104)\",\n  \"610310\": \"Suits; men's or boys', knitted or crocheted\",\n  \"610311\":\n    \"Suits; men's or boys', of wool or fine animal hair, knitted or crocheted\",\n  \"610312\": \"Suits; men's or boys', of synthetic fibres, knitted or crocheted\",\n  \"610319\":\n    \"Suits; men's or boys', of textile materials (other than wool, fine animal hair or synthetic fibres), knitted or crocheted\",\n  \"610321\":\n    \"Ensembles; men's or boys', of wool or fine animal hair, knitted or crocheted\",\n  \"610322\": \"Ensembles; men's or boys', of cotton, knitted or crocheted\",\n  \"610323\":\n    \"Ensembles; men's or boys', of synthetic fibres, knitted or crocheted\",\n  \"610329\":\n    \"Ensembles; men's or boys', of textile materials (other than cotton or synthetic fibres), knitted or crocheted\",\n  \"610331\":\n    \"Jackets and blazers; men's or boys', of wool or fine animal hair, knitted or crocheted\",\n  \"610332\":\n    \"Jackets and blazers; men's or boys', of cotton, knitted or crocheted\",\n  \"610333\":\n    \"Jackets and blazers; men's or boys', of synthetic fibres, knitted or crocheted\",\n  \"610339\":\n    \"Jackets and blazers; men's or boys', of textile materials (other than wool or fine animal hair, cotton or synthetic fibres), knitted or crocheted\",\n  \"610341\":\n    \"Trousers, bib and brace overalls, breeches and shorts; men's or boys', of wool or fine animal hair, knitted or crocheted\",\n  \"610342\":\n    \"Trousers, bib and brace overalls, breeches and shorts; men's or boys', of cotton, knitted or crocheted\",\n  \"610343\":\n    \"Trousers, bib and brace overalls, breeches and shorts; men's or boys', of synthetic fibres, knitted or crocheted\",\n  \"610349\":\n    \"Trousers, bib and brace overalls, breeches and shorts; men's or boys', of textile materials (other than wool or fine animal hair, cotton or synthetic fibres), knitted or crocheted\",\n  \"610411\":\n    \"Suits; women's or girls', of wool or fine animal hair, knitted or crocheted\",\n  \"610412\": \"Suits; women's or girls', of cotton, knitted or crocheted\",\n  \"610413\":\n    \"Suits; women's or girls', of synthetic fibres, knitted or crocheted\",\n  \"610419\":\n    \"Suits; women's or girls', of textile materials (other than synthetic fibres), knitted or crocheted\",\n  \"610421\":\n    \"Ensembles; women's or girls', of wool or fine animal hair, knitted or crocheted\",\n  \"610422\": \"Ensembles; women's or girls', of cotton, knitted or crocheted\",\n  \"610423\":\n    \"Ensembles; women's or girls', of synthetic fibres, knitted or crocheted\",\n  \"610429\":\n    \"Ensembles; women's or girls', of textile materials (other than cotton or synthetic fibres), knitted or crocheted\",\n  \"610431\":\n    \"Jackets; women's or girls', of wool or fine animal hair, knitted or crocheted\",\n  \"610432\": \"Jackets; women's or girls', of cotton, knitted or crocheted\",\n  \"610433\":\n    \"Jackets; women's or girls', of synthetic fibres, knitted or crocheted\",\n  \"610439\":\n    \"Jackets; women's or girls', of textile materials (other than wool or fine animal hair, cotton or synthetic fibres), knitted or crocheted\",\n  \"610441\":\n    \"Dresses; women's or girls', of wool or fine animal hair, knitted or crocheted\",\n  \"610442\": \"Dresses; women's or girls', of cotton, knitted or crocheted\",\n  \"610443\":\n    \"Dresses; women's or girls', of synthetic fibres, knitted or crocheted\",\n  \"610444\":\n    \"Dresses; women's or girls', of artificial fibres, knitted or crocheted\",\n  \"610449\":\n    \"Dresses; women's or girls', of textile materials (other than wool or fine animal hair, cotton, synthetic or artificial fibres), knitted or crocheted\",\n  \"610451\":\n    \"Skirts and divided skirts; women's or girls', of wool or fine animal hair, knitted or crocheted\",\n  \"610452\":\n    \"Skirts and divided skirts; women's or girls', of cotton, knitted or crocheted\",\n  \"610453\":\n    \"Skirts and divided skirts; women's or girls', of synthetic fibres, knitted or crocheted\",\n  \"610459\":\n    \"Skirts and divided skirts; women's or girls', of textile materials (other than wool or fine animal hair, cotton or synthetic fibres), knitted or crocheted\",\n  \"610461\":\n    \"Trousers, bib and brace overalls, breeches and shorts; women's or girls', of wool or fine animal hair, knitted or crocheted\",\n  \"610462\": \"Cotton pants for women or girls; knitted\",\n  \"610463\": \"Synthetic pants for women or girls; knitted\",\n  \"610469\":\n    \"Trousers, bib and brace overalls, breeches and shorts; women's or girls', of textile materials (other than wool or fine animal hair, cotton or synthetic fibres), knitted or crocheted\",\n  \"610510\": \"Shirts; men's or boys', of cotton, knitted or crocheted\",\n  \"610520\": \"Shirts; men's or boys', of man-made fibres, knitted or crocheted\",\n  \"610590\":\n    \"Shirts; men's or boys', of textile materials (other than cotton or man-made fibres), knitted or crocheted\",\n  \"610610\":\n    \"Blouses, shirts and shirt-blouses; women's or girls', of cotton, knitted or crocheted\",\n  \"610620\":\n    \"Blouses, shirts and shirt-blouses; women's or girls', of man-made fibres, knitted or crocheted\",\n  \"610690\":\n    \"Blouses, shirts and shirt-blouses; women's or girls', of textile materials (other than cotton or man-made fibres), knitted or crocheted\",\n  \"610711\":\n    \"Underpants and briefs; men's or boys', of cotton, knitted or crocheted\",\n  \"610712\":\n    \"Underpants and briefs; men's or boys', of man-made fibres, knitted or crocheted\",\n  \"610719\":\n    \"Underpants and briefs; men's or boys', of textile materials (other than cotton or man-made fibres), knitted or crocheted\",\n  \"610721\":\n    \"Nightshirts and pyjamas; men's or boys', of cotton, knitted or crocheted\",\n  \"610722\":\n    \"Nightshirts and pyjamas; men's or boys', of man-made fibres, knitted or crocheted\",\n  \"610729\":\n    \"Nightshirts and pyjamas; men's or boys', of textile materials (other than cotton or man-made fibres), knitted or crocheted\",\n  \"610791\":\n    \"Bathrobes, dressing gowns and similar articles; men's or boys', of cotton, knitted or crocheted\",\n  \"610792\":\n    \"Bathrobes, dressing gowns and similar articles; men's or boys', of man-made fibres, knitted or crocheted\",\n  \"610799\":\n    \"Bathrobes, dressing gowns and similar articles; men's or boys', of textile materials (other than cotton), knitted or crocheted\",\n  \"610811\":\n    \"Slips and petticoats; women's or girls', of man-made fibres, knitted or crocheted\",\n  \"610819\":\n    \"Slips and petticoats; women's or girls', of textile materials (other than man-made fibres), knitted or crocheted\",\n  \"610821\":\n    \"Briefs and panties; women's or girls', of cotton, knitted or crocheted\",\n  \"610822\":\n    \"Briefs and panties; women's or girls', of man-made fibres, knitted or crocheted\",\n  \"610829\":\n    \"Briefs and panties; women's or girls', of textile materials (other than cotton or man-made fibres), knitted or crocheted\",\n  \"610831\":\n    \"Nightdresses and pyjamas; women's or girls', of cotton, knitted or crocheted\",\n  \"610832\":\n    \"Nightdresses and pyjamas; women's or girls', of man-made fibres, knitted or crocheted\",\n  \"610839\":\n    \"Nightdresses and pyjamas; women's or girls', of textile materials (other than cotton or man-made fibres), knitted or crocheted\",\n  \"610891\":\n    \"Negligees, bathrobes, dressing gowns and similar articles; women's or girls', of cotton, knitted or crocheted\",\n  \"610892\":\n    \"Negligees, bathrobes, dressing gowns and similar articles; women's or girls', of man-made fibres, knitted or crocheted\",\n  \"610899\":\n    \"Negligees, bathrobes, dressing gowns and similar articles; women's or girls', of textile materials (other than cotton or man-made fibres), knitted or crocheted\",\n  \"610910\": \"Cotton tops; knitted\",\n  \"610990\": \"Tops; knitted; excl. cotton\",\n  \"611010\":\n    \"Jerseys, pullovers, cardigans, waistcoats and similar articles; of wool or fine animal hair, knitted or crocheted\",\n  \"611011\":\n    \"Jerseys, pullovers, cardigans, waistcoats and similar articles; knitted or crocheted, of wool or fine animal hair\",\n  \"611012\":\n    \"Jerseys, pullovers, cardigans, waistcoats and similar articles; knitted or crocheted, of fibres from kashmir (cashmere) goats\",\n  \"611019\":\n    \"Jerseys, pullovers, cardigans, waistcoats and similar articles; knitted or crocheted, of fine animal hair other than that of kashmir (cashmere) goats\",\n  \"611020\": \"Cotton sweaters and cardigans; knitted\",\n  \"611030\": \"Sweaters and cardigans of man-made fibres; knitted\",\n  \"611090\":\n    \"Jerseys, pullovers, cardigans, waistcoats and similar articles; of textile materials (other than wool or fine animal hair, cotton or man-made fibres), knitted or crocheted\",\n  \"611110\":\n    \"Garments and clothing accessories; babies', of wool or fine animal hair, knitted or crocheted\",\n  \"611120\": \"Cotton garments and clothing accessories for babies; knitted\",\n  \"611130\":\n    \"Garments and clothing accessories; babies', of synthetic fibres, knitted or crocheted\",\n  \"611190\":\n    \"Garments and clothing accessories; babies', of textile materials (other than cotton or synthetic fibres), knitted or crocheted\",\n  \"611211\": \"Track suits; of cotton, knitted or crocheted\",\n  \"611212\": \"Track suits; of synthetic fibres, knitted or crocheted\",\n  \"611219\":\n    \"Track suits; of textile materials (other than cotton or synthetic fibres), knitted or crocheted\",\n  \"611220\": \"Ski suits; knitted or crocheted\",\n  \"611231\":\n    \"Swimwear; men's or boys', of synthetic fibres, knitted or crocheted\",\n  \"611239\":\n    \"Swimwear; men's or boys', of textile materials (other than synthetic fibres), knitted or crocheted\",\n  \"611241\":\n    \"Swimwear; women's or girls', of synthetic fibres, knitted or crocheted\",\n  \"611249\":\n    \"Swimwear; women's or girls', of textile materials (other than synthetic fibres), knitted or crocheted\",\n  \"611300\":\n    \"Garments made up of knitted or crocheted fabrics of heading no. 5903, 5906 and 5907\",\n  \"611410\":\n    \"Garments; of wool or fine animal hair, knitted or crocheted, n.e.s. in chapter 61\",\n  \"611420\": \"Garments; of cotton, knitted or crocheted, n.e.c. in chapter 61\",\n  \"611430\":\n    \"Garments; of man-made fibres, knitted or crocheted, n.e.c. in chapter 61\",\n  \"611490\":\n    \"Garments; of textile materials (other than cotton or man-made fibres), knitted or crocheted, n.e.c. in chapter 61\",\n  \"611510\":\n    \"Graduated compression hosiery (for example, stockings for varicose veins), knitted or crocheted\",\n  \"611511\":\n    \"Hosiery; panty hose and tights, of synthetic fibres, measuring per single yarn less than 67 decitex, knitted or crocheted\",\n  \"611512\":\n    \"Hosiery; panty hose and tights, of synthetic fibres, measuring per single yarn 67 decitex or more, knitted or crocheted\",\n  \"611519\":\n    \"Hosiery; panty hose and tights, of textile materials (other than synthetic fibres), knitted or crocheted\",\n  \"611520\":\n    \"Hosiery; women's, full-length or knee-length, measuring per single yarn less than 67 decitex, knitted or crocheted\",\n  \"611521\":\n    \"Hosiery; panty hose and tights (other than graduated compression hosiery), of synthetic fibres, measuring per single yarn less than 67 decitex, knitted or crocheted\",\n  \"611522\":\n    \"Hosiery; panty hose and tights (other than graduated compression hosiery), of synthetic fibres, measuring per single yarn 67 decitex or more, knitted or crocheted\",\n  \"611529\":\n    \"Hosiery; panty hose and tights (other than graduated compression hosiery), of textile materials (other than synthetic fibres), knitted or crocheted\",\n  \"611530\":\n    \"Hosiery; women's, full-length or knee-length (other than graduated compression hosiery), measuring per single yarn less than 67 decitex, knitted or crocheted\",\n  \"611591\":\n    \"Hosiery and footwear; without applied soles, of wool or fine animal hair, knitted or crocheted (excluding tights, women's full or knee-length hosiery measuring per single yarn less than 67 decitex)\",\n  \"611592\":\n    \"Hosiery and footwear; without applied soles, of cotton, knitted or crocheted (excluding panty hose, tights, full or knee-length hosiery measuring per single yarn less than 67 decitex)\",\n  \"611593\":\n    \"Hosiery and footwear; without applied soles, of synthetic fibres, knitted or crocheted (excluding panty hose, tights, full or knee-length hosiery measuring per single yarn less than 67 decitex)\",\n  \"611594\":\n    \"Hosiery and footwear; without applied soles, of wool or fine animal hair, knitted or crocheted (excluding graduated compression hosiery, panty hose, tights, women's full or knee-length hosiery measuring per single yarn less than 67 decitex)\",\n  \"611595\":\n    \"Hosiery and footwear; without applied soles, of cotton, knitted or crocheted (excluding graduated compression hosiery, panty hose, tights, full or knee-length hosiery measuring per single yarn less than 67 decitex)\",\n  \"611596\":\n    \"Hosiery and footwear; without applied soles, of synthetic fibres, knitted or crocheted (excluding graduated compression hosiery, panty hose, tights, full or knee-length hosiery measuring per single yarn less than 67 decitex)\",\n  \"611599\":\n    \"Hosiery and footwear; without applied soles, of textile materials n.e.c. in item no. 6115.9, knitted or crocheted (excluding graduated compression hosiery, panty hose, tights, full or knee-length hosiery measuring per single yarn less than 67 decitex)\",\n  \"611610\":\n    \"Gloves, mittens and mitts; knitted or crocheted, impregnated, coated or covered with plastics or rubber\",\n  \"611691\":\n    \"Gloves, mittens and mitts; of wool or fine animal hair, knitted or crocheted, (other than impregnated, coated or covered with plastics or rubber)\",\n  \"611692\":\n    \"Gloves, mittens and mitts; of cotton, knitted or crocheted, (other than impregnated, coated or covered with plastics or rubber)\",\n  \"611693\":\n    \"Gloves, mittens and mitts; of synthetic fibres, knitted or crocheted, (other than impregnated, coated or covered with plastics or rubber)\",\n  \"611699\":\n    \"Gloves, mittens and mitts; of textile materials (other than wool or fine animal hair, cotton or synthetic fibres), knitted or crocheted, (other than impregnated, coated or covered with plastics or rubber)\",\n  \"611710\":\n    \"Shawls, scarves, mufflers, mantillas, veils and the like; knitted or crocheted\",\n  \"611720\": \"Ties, bow ties and cravats; knitted or crocheted\",\n  \"611780\":\n    \"Clothing accessories; knitted or crocheted, n.e.c. in heading no. 6117\",\n  \"611790\": \"Clothing; parts, knitted or crocheted\",\n  \"620111\":\n    \"Coats; men's or boys', overcoats, raincoats, car-coats, capes, cloaks and similar articles, of wool or fine animal hair, other than those of heading no. 6203 (not knitted or crocheted)\",\n  \"620112\":\n    \"Coats; men's or boys', overcoats, raincoats, car-coats, capes, cloaks and similar articles, of cotton, other than those of heading no. 6203 (not knitted or crocheted)\",\n  \"620113\":\n    \"Coats; men's or boys', overcoats, raincoats, car-coats, capes, cloaks and similar articles, of man-made fibres, other than those of heading no. 6203 (not knitted or crocheted)\",\n  \"620119\":\n    \"Coats; men's or boys', overcoats, raincoats, car-coats, capes, cloaks and similar articles, of textile materials (other than wool or fine animal hair, cotton or man-made fibres), other than those of heading no. 6203 (not knitted or crocheted)\",\n  \"620120\":\n    \"Coats; men's or boys', overcoats, raincoats, car-coats, capes, cloaks, anoraks (including ski-jackets) and similar articles, of wool or fine animal hair, other than those of heading no. 6203 (not knitted or crocheted)\",\n  \"620130\":\n    \"Coats; men's or boys', overcoats, raincoats, car-coats, capes, cloaks, anoraks (including ski-jackets) and similar articles, of cotton, other than those of heading no. 6203 (not knitted or crocheted)\",\n  \"620140\":\n    \"Coats; men's or boys', overcoats, raincoats, car-coats, capes, cloaks, anoraks (including ski-jackets) and similar articles, of man-made fibres, other than those of heading no. 6203 (not knitted or crocheted)\",\n  \"620190\":\n    \"Coats; men's or boys', overcoats, rain-coats, car-coats, capes, cloaks and similar, of textile materials (other than wool, fine animal hair, cotton or man-made fibres), other than those of heading no. 6203 (not knitted or crocheted)\",\n  \"620191\":\n    \"Anoraks (including ski-jackets), wind-cheaters, wind-jackets and similar articles; men's or boys', of wool or fine animal hair, other than those of heading no. 6203 (not knitted or crocheted)\",\n  \"620192\":\n    \"Anoraks (including ski-jackets), wind-cheaters, wind-jackets and similar articles; men's or boys', of cotton, other than those of heading no. 6203 (not knitted or crocheted)\",\n  \"620193\": \"Anoraks for men or boys, of man-made fibres; not knitted\",\n  \"620199\":\n    \"Anoraks (including ski-jackets), wind-cheaters, wind-jackets and similar articles; men's or boys', of textile materials (other than wool or fine animal hair, cotton or man-made fibres), other than those of heading no. 6203 (not knitted or crocheted)\",\n  \"620211\":\n    \"Coats; women's or girls', overcoats, raincoats, car-coats, capes, cloaks and similar articles, of wool or fine animal hair, other than those of heading no. 6204 (not knitted or crocheted)\",\n  \"620212\":\n    \"Coats; women's or girls', overcoats, raincoats, car-coats, capes, cloaks and similar articles, of cotton, other than those of heading no. 6204 (not knitted or crocheted)\",\n  \"620213\":\n    \"Coats; women's or girls', overcoats, raincoats, car-coats, capes, cloaks and similar articles, of man-made fibres, other than those of heading no. 6204 (not knitted or crocheted)\",\n  \"620219\":\n    \"Coats; women's or girls', overcoats, raincoats, car-coats, capes, cloaks and similar articles, of textile materials (other than wool or fine animal hair, cotton or man-made fibres), other than those of heading no. 6204 (not knitted or crocheted)\",\n  \"620220\":\n    \"Coats; women's or girls', overcoats, raincoats, car-coats, capes, cloaks anoraks (including ski-jackets) and similar articles, of wool or fine animal hair, other than those of heading no. 6204 (not knitted or crocheted)\",\n  \"620230\":\n    \"Coats; women's or girls', overcoats, raincoats, car-coats, capes, cloaks anoraks (including ski-jackets) and similar articles, of cotton, other than those of heading no. 6204 (not knitted or crocheted)\",\n  \"620240\":\n    \"Coats; women's or girls', overcoats, raincoats, car-coats, capes, cloaks anoraks (including ski-jackets) and similar articles, of man-made fibres, other than those of heading no. 6204 (not knitted or crocheted)\",\n  \"620290\":\n    \"Coats; women's or girls', overcoats, raincoats, car-coats, capes, cloaks and similar articles, of textile materials (other than wool, fine animal hair, cotton or man-made fibres), other than those of heading no. 6204 (not knitted or crocheted)\",\n  \"620291\":\n    \"Anoraks (including ski-jackets), wind-cheaters, wind-jackets and similar articles; women's or girls', of wool or fine animal hair, other than those of heading no. 6204 (not knitted or crocheted)\",\n  \"620292\":\n    \"Anoraks (including ski-jackets), wind-cheaters, wind-jackets and similar articles; women's or girls', of cotton, other than those of heading no. 6204 (not knitted or crocheted)\",\n  \"620293\": \"Anoraks for women or girls, of man-made fibres; not knitted\",\n  \"620299\":\n    \"Anoraks (including ski-jackets), wind-cheaters, wind-jackets and similar articles; women's or girls', of textile materials n.e.c. in item no. 6202.9, other than those of heading no. 6204, (not knitted or crocheted)\",\n  \"620311\":\n    \"Suits; men's or boys', of wool or fine animal hair (not knitted or crocheted)\",\n  \"620312\":\n    \"Suits; men's or boys', of synthetic fibres (not knitted or crocheted)\",\n  \"620319\":\n    \"Suits; men's or boys', of textile materials n.e.c. in item no. 6203.1 (not knitted or crocheted)\",\n  \"620321\":\n    \"Ensembles; men's or boys', of wool or fine animal hair (not knitted or crocheted)\",\n  \"620322\": \"Ensembles; men's or boys', of cotton (not knitted or crocheted)\",\n  \"620323\":\n    \"Ensembles; men's or boys', of synthetic fibres (not knitted or crocheted)\",\n  \"620329\":\n    \"Ensembles; men's or boys', of textile materials n.e.c. in item no. 6203.2 (not knitted or crocheted)\",\n  \"620331\":\n    \"Jackets and blazers; men's or boys', of wool or fine animal hair (not knitted or crocheted)\",\n  \"620332\":\n    \"Jackets and blazers; men's or boys', of cotton (not knitted or crocheted)\",\n  \"620333\":\n    \"Jackets and blazers; men's or boys', of synthetic fibres (not knitted or crocheted)\",\n  \"620339\":\n    \"Jackets and blazers; men's or boys', of textile materials n.e.c. in item no. 6203.3 (not knitted or crocheted)\",\n  \"620341\":\n    \"Trousers, bib and brace overalls, breeches and shorts; men's or boys', of wool or fine animal hair (not knitted or crocheted)\",\n  \"620342\": \"Cotton pants for men or boys; not knitted\",\n  \"620343\": \"Synthetic pants for men or boys; not knitted\",\n  \"620349\":\n    \"Trousers, bib and brace overalls, breeches and shorts; men's or boys', of textile materials (other than wool, fine animal hair, cotton or synthetic fibres), (not knitted or crocheted)\",\n  \"620411\":\n    \"Suits; women's or girls', of wool or fine animal hair (not knitted or crocheted)\",\n  \"620412\": \"Suits; women's or girls', of cotton (not knitted or crocheted)\",\n  \"620413\":\n    \"Suits; women's or girls', of synthetic fibres (not knitted or crocheted)\",\n  \"620419\":\n    \"Suits; women's or girls', of textile materials n.e.c. in item no. 6204.1 (not knitted or crocheted)\",\n  \"620421\":\n    \"Ensembles; women's or girls', of wool or fine animal hair (not knitted or crocheted)\",\n  \"620422\":\n    \"Ensembles; women's or girls', of cotton (not knitted or crocheted)\",\n  \"620423\":\n    \"Ensembles; women's or girls', of synthetic fibres (not knitted or crocheted)\",\n  \"620429\":\n    \"Ensembles; women's or girls', of textile materials n.e.c. in item no. 6204.2 (not knitted or crocheted)\",\n  \"620431\":\n    \"Jackets and blazers; women's or girls', of wool or fine animal hair (not knitted or crocheted)\",\n  \"620432\":\n    \"Jackets and blazers; women's or girls', of cotton (not knitted or crocheted)\",\n  \"620433\":\n    \"Jackets and blazers; women's or girls', of synthetic fibres (not knitted or crocheted)\",\n  \"620439\":\n    \"Jackets and blazers; women's or girls', of textile materials n.e.c. in item no. 6204.3 (not knitted or crocheted)\",\n  \"620441\":\n    \"Dresses; women's or girls', of wool or fine animal hair (not knitted or crocheted)\",\n  \"620442\": \"Dresses; women's or girls', of cotton (not knitted or crocheted)\",\n  \"620443\":\n    \"Dresses; women's or girls', of synthetic fibres (not knitted or crocheted)\",\n  \"620444\":\n    \"Dresses; women's or girls', of artificial fibres (not knitted or crocheted)\",\n  \"620449\":\n    \"Dresses; women's or girls', of textile materials n.e.c. in item no. 6204.4 (not knitted or crocheted)\",\n  \"620451\":\n    \"Skirts and divided skirts; women's or girls', of wool or fine animal hair (not knitted or crocheted)\",\n  \"620452\":\n    \"Skirts and divided skirts; women's or girls', of cotton (not knitted or crocheted)\",\n  \"620453\":\n    \"Skirts and divided skirts; women's or girls', of synthetic fibres (not knitted or crocheted)\",\n  \"620459\":\n    \"Skirts and divided skirts; women's or girls', of textile materials n.e.c. in item no. 6204.5 (not knitted or crocheted)\",\n  \"620461\":\n    \"Trousers, bib and brace overalls, breeches and shorts; women's or girls', of wool or fine animal hair (not knitted or crocheted)\",\n  \"620462\": \"Cotton pants for women or girls; not knitted\",\n  \"620463\": \"Synthetic pants for women or girls; not knitted\",\n  \"620469\":\n    \"Trousers, bib and brace overalls, breeches and shorts; women's or girls', of textile materials (other than wool, fine animal hair, cotton or synthetic fibres), (not knitted or crocheted)\",\n  \"620510\":\n    \"Shirts; men's or boys', of wool or fine animal hair (not knitted or crocheted)\",\n  \"620520\": \"Cotton shirts for men or boys; not knitted\",\n  \"620530\":\n    \"Shirts; men's or boys', of man-made fibres (not knitted or crocheted)\",\n  \"620590\":\n    \"Shirts; men's or boys', of textile materials n.e.c. in heading no. 6205 (not knitted or crocheted)\",\n  \"620610\":\n    \"Blouses, shirts and shirt-blouses; women's or girls', of silk or silk waste (not knitted or crocheted)\",\n  \"620620\":\n    \"Blouses, shirts and shirt-blouses; women's or girls', of wool or fine animal hair (not knitted or crocheted)\",\n  \"620630\":\n    \"Blouses, shirts and shirt-blouses; women's or girls', of cotton (not knitted or crocheted)\",\n  \"620640\":\n    \"Blouses, shirts and shirt-blouses; women's or girls', of man-made fibres (not knitted or crocheted)\",\n  \"620690\":\n    \"Blouses, shirts and shirt-blouses; women's or girls', of textile materials n.e.c. in heading no. 6206 (not knitted or crocheted)\",\n  \"620711\":\n    \"Underpants and briefs; men's or boys', of cotton (not knitted or crocheted)\",\n  \"620719\":\n    \"Underpants and briefs; men's or boys', of textile materials other than cotton (not knitted or crocheted)\",\n  \"620721\":\n    \"Nightshirts and pyjamas; men's or boys', of cotton (not knitted or crocheted)\",\n  \"620722\":\n    \"Nightshirts and pyjamas; men's or boys', of man-made fibres (not knitted or crocheted)\",\n  \"620729\":\n    \"Nightshirts and pyjamas; men's or boys', of textile materials other than cotton or man-made fibres (not knitted or crocheted)\",\n  \"620791\":\n    \"Singlets and other vests, bathrobes, dressing gowns and similar articles; men's or boys', of cotton (not knitted or crocheted)\",\n  \"620792\":\n    \"Singlets and other vests, bathrobes, dressing gowns and similar articles; men's or boys', of man-made fibres (not knitted or crocheted)\",\n  \"620799\":\n    \"Singlets and other vests, bathrobes, dressing gowns and similar articles; men's or boys', of textile materials other than cotton (not knitted or crocheted)\",\n  \"620811\":\n    \"Slips and petticoats; women's or girls', of man-made fibres (not knitted or crocheted)\",\n  \"620819\":\n    \"Slips and petticoats; women's or girls', of textile materials other than man-made fibres (not knitted or crocheted)\",\n  \"620821\":\n    \"Nightdresses and pyjamas; women's or girls', of cotton (not knitted or crocheted)\",\n  \"620822\":\n    \"Nightdresses and pyjamas; women's or girls', of man-made fibres (not knitted or crocheted)\",\n  \"620829\":\n    \"Nightdresses and pyjamas; women's or girls', of textile materials other than cotton or man-made fibres (not knitted or crocheted)\",\n  \"620891\":\n    \"Singlets and other vests, briefs, panties, negligees, bathrobes, dressing gowns and similar articles; women's or girls', of cotton (not knitted or crocheted)\",\n  \"620892\":\n    \"Singlets and other vests, briefs, panties, negligees, bathrobes, dressing gowns etc.; women's or girls', of man-made fibres (not knitted or crocheted), excluding incontinence or other sanitary garments or garment liners of heading no. 96.19\",\n  \"620899\":\n    \"Singlets and other vests, briefs, panties, negligees, bathrobes, dressing gowns and similar articles; women's or girls', of textile materials other than cotton or man-made fibres (not knitted or crocheted)\",\n  \"620910\":\n    \"Garments and clothing accessories; babies', of wool or fine animal hair (not knitted or crocheted)\",\n  \"620920\":\n    \"Garments and clothing accessories; babies', of cotton (not knitted or crocheted)\",\n  \"620930\":\n    \"Garments and clothing accessories; babies', of synthetic fibres (not knitted or crocheted)\",\n  \"620990\":\n    \"Garments and clothing accessories; babies', of textile materials other than cotton or synthetic fibres (not knitted or crocheted)\",\n  \"621010\": \"Garments; of felt or non-wovens (not knitted or crocheted)\",\n  \"621020\":\n    \"Garments; overcoats, raincoats, car-coats, capes, cloaks and similar articles, men's or boys', of the fabrics of heading no. 5602, 5603, 5903, 5906 or 5907 (not knitted or crocheted)\",\n  \"621030\":\n    \"Garments; overcoats, raincoats, car-coats, capes, cloaks and similar articles, women's or girls', of the fabrics of heading no. 5602, 5603, 5903, 5906 or 5907 (not knitted or crocheted)\",\n  \"621040\":\n    \"Garments; men's or boys', n.e.c. in item no. 6210.2, of the fabrics of heading no. 5602, 5603, 5903, 5906 or 5907 (not knitted or crocheted)\",\n  \"621050\":\n    \"Garments; women's or girls', n.e.c. in item no. 6210.3, of the fabrics of heading no. 5602, 5603, 5903, 5906 or 5907 (not knitted or crocheted)\",\n  \"621111\": \"Swimwear; men's or boys', (not knitted or crocheted)\",\n  \"621112\": \"Swimwear; women's or girls', (not knitted or crocheted)\",\n  \"621120\": \"Ski suits; (not knitted or crocheted)\",\n  \"621131\":\n    \"Track suits and other garments n.e.s.; men's or boys', of wool or fine animal hair (not knitted or crocheted)\",\n  \"621132\":\n    \"Track suits and other garments n.e.c.; men's or boys', of cotton (not knitted or crocheted)\",\n  \"621133\":\n    \"Track suits and other garments n.e.c.; men's or boys', of man-made fibres (not knitted or crocheted)\",\n  \"621139\":\n    \"Track suits and other garments n.e.c.; men's or boys', of textile materials n.e.c. in item no. 6211.3 (not knitted or crocheted)\",\n  \"621141\":\n    \"Track suits and other garments n.e.c.; women's or girls', of wool or fine animal hair (not knitted or crocheted)\",\n  \"621142\":\n    \"Track suits and other garments n.e.c.; women's or girls', of cotton (not knitted or crocheted)\",\n  \"621143\":\n    \"Track suits and other garments n.e.c.; women's or girls', of man-made fibres (not knitted or crocheted)\",\n  \"621149\":\n    \"Track suits and other garments n.e.c.; women's or girls', of textile materials n.e.c. in item no. 6211.4 (not knitted or crocheted)\",\n  \"621210\": \"Brassieres\",\n  \"621220\": \"Girdles and panty-girdles; whether or not knitted or crocheted\",\n  \"621230\": \"Corselettes; whether or not knitted or crocheted\",\n  \"621290\":\n    \"Braces, suspenders, garters and similar articles; whether or not knitted or crocheted, n.e.c. in heading no. 6212\",\n  \"621310\": \"Handkerchiefs; of silk or silk waste (not knitted or crocheted)\",\n  \"621320\": \"Handkerchiefs; of cotton (not knitted or crocheted)\",\n  \"621390\":\n    \"Handkerchiefs; of textile materials other than cotton (not knitted or crocheted)\",\n  \"621410\":\n    \"Shawls, scarves, mufflers, mantillas, veils and the like; of silk or silk waste (not knitted or crocheted)\",\n  \"621420\":\n    \"Shawls, scarves, mufflers, mantillas, veils and the like; of wool or fine animal hair (not knitted or crocheted)\",\n  \"621430\":\n    \"Shawls, scarves, mufflers, mantillas, veils and the like; of synthetic fibres (not knitted or crocheted)\",\n  \"621440\":\n    \"Shawls, scarves, mufflers, mantillas, veils and the like; of artificial fibres (not knitted or crocheted)\",\n  \"621490\":\n    \"Shawls, scarves, mufflers, mantillas, veils and the like; of textile materials n.e.c. in heading no. 6214 (not knitted or crocheted)\",\n  \"621510\":\n    \"Ties, bow ties and cravats; of silk or silk waste (not knitted or crocheted)\",\n  \"621520\":\n    \"Ties, bow ties and cravats; of man-made fibres (not knitted or crocheted)\",\n  \"621590\":\n    \"Ties, bow ties and cravats; of textile materials other than silk or man-made fibres (not knitted or crocheted)\",\n  \"621600\": \"Gloves, mittens and mitts (not knitted or crocheted)\",\n  \"621710\":\n    \"Clothing accessories; other than those of heading no. 6212 (not knitted or crocheted)\",\n  \"621790\":\n    \"Clothing; parts of garments or of clothing accessories, other than those of heading no. 6212 (not knitted or crocheted)\",\n  \"630110\": \"Blankets; electric\",\n  \"630120\":\n    \"Blankets (other than electric blankets) and travelling rugs; of wool or fine animal hair\",\n  \"630130\":\n    \"Blankets (other than electric blankets) and travelling rugs; of cotton\",\n  \"630140\":\n    \"Blankets (other than electric blankets) and travelling rugs; of synthetic fibres\",\n  \"630190\": \"Blankets and travelling rugs; n.e.c. in heading no. 6301\",\n  \"630210\": \"Bed linen; knitted or crocheted\",\n  \"630221\": \"Bed linen; of cotton, printed, not knitted or crocheted\",\n  \"630222\": \"Bed linen; of man-made fibres, printed, not knitted or crocheted\",\n  \"630229\":\n    \"Bed linen; of textile materials (other than cotton or man-made fibres), printed, not knitted or crocheted\",\n  \"630231\": \"Bed linen; of cotton (not printed, knitted or crocheted)\",\n  \"630232\": \"Bed linen; of man-made fibres (not printed, knitted or crocheted)\",\n  \"630239\":\n    \"Bed linen; of textile materials other than cotton or man-made fibres (not printed, knitted or crocheted)\",\n  \"630240\": \"Table linen; knitted or crocheted\",\n  \"630251\": \"Table linen; of cotton, not knitted or crocheted\",\n  \"630252\": \"Table linen; of flax, not knitted or crocheted\",\n  \"630253\": \"Table linen; of man-made fibres, not knitted or crocheted\",\n  \"630259\":\n    \"Table linen; of textile materials (other than cotton or man-made fibres), not knitted or crocheted\",\n  \"630260\":\n    \"Kitchen and toilet linen; of terry towelling or similar terry fabrics, of cotton\",\n  \"630291\":\n    \"Toilet and kitchen linen; of cotton, excluding terry towelling or similar terry fabrics\",\n  \"630292\": \"Toilet and kitchen linen; of flax\",\n  \"630293\": \"Toilet and kitchen linen; of man-made fibres\",\n  \"630299\":\n    \"Toilet and kitchen linen; of textile materials (other than cotton or man-made fibres)\",\n  \"630311\":\n    \"Curtains (including drapes) and interior blinds; curtain or bed valances, knitted or crocheted, of cotton\",\n  \"630312\":\n    \"Curtains (including drapes) and interior blinds; curtain or bed valances, knitted or crocheted, of synthetic fibres\",\n  \"630319\":\n    \"Curtains (including drapes) and interior blinds; curtain or bed valances, knitted or crocheted, of textile materials other than synthetic fibres\",\n  \"630391\":\n    \"Curtains (including drapes) and interior blinds, curtain or bed valances; of cotton, not knitted or crocheted\",\n  \"630392\":\n    \"Curtains (including drapes) and interior blinds, curtain or bed valances; of synthetic fibres, not knitted or crocheted\",\n  \"630399\":\n    \"Curtains (including drapes) and interior blinds, curtain or bed valances; of textile materials other than cotton or synthetic fibres, not knitted or crocheted\",\n  \"630411\": \"Bedspreads; knitted or crocheted\",\n  \"630419\": \"Bedspreads; not knitted or crocheted\",\n  \"630420\":\n    \"Furnishing articles; excluding those of heading no. 9404, bed nets, specified in Subheading Note 1 to this Chapter\",\n  \"630491\":\n    \"Furnishing articles; excluding those of heading no. 9404, n.e.c. in heading 6304, knitted or crocheted\",\n  \"630492\":\n    \"Furnishing articles; of cotton, not knitted or crocheted (excluding bedspreads and articles of heading no. 9404)\",\n  \"630493\":\n    \"Furnishing articles; of synthetic fibres, not knitted or crocheted (excluding bedspreads and articles of heading no. 9404)\",\n  \"630499\":\n    \"Furnishing articles; of textile materials other than cotton or synthetic fibres, not knitted or crocheted (excluding bedspreads and articles of heading no. 9404)\",\n  \"630510\":\n    \"Sacks and bags; of a kind used for the packing of goods, of jute or of other textile bast fibres of heading no. 5303\",\n  \"630520\":\n    \"Sacks and bags; of a kind used for the packing of goods, of cotton\",\n  \"630531\":\n    \"Sacks and bags; of a kind used for the packing of goods, of polyethylene or polypropylene strip or the like\",\n  \"630532\":\n    \"Sacks and bags; of a kind used for the packing of goods, of man-made textile materials, flexible intermediate bulk containers\",\n  \"630533\":\n    \"Sacks and bags; of a kind used for the packing of goods, of man-made textile materials, of polyethylene or polypropylene strip or the like, not flexible intermediate bulk containers\",\n  \"630539\":\n    \"Sacks and bags; of a kind used for the packing of goods, of man-made textile materials, not of polyethylene or polypropylene strip or the like, not flexible intermediate bulk containers\",\n  \"630590\":\n    \"Sacks and bags; of a kind used for the packing of goods, of textile materials (other than jute, cotton or man-made textile materials)\",\n  \"630611\": \"Tarpaulins, awnings and sunblinds; of cotton\",\n  \"630612\": \"Tarpaulins, awnings and sunblinds; of synthetic fibres\",\n  \"630619\":\n    \"Tarpaulins, awnings and sunblinds; of textile materials other than synthetic fibres\",\n  \"630621\": \"Tents; of cotton\",\n  \"630622\": \"Tents; of synthetic fibres\",\n  \"630629\": \"Tents; of textile materials other than synthetic fibres\",\n  \"630630\": \"Sails; for boats, sailboards or landcraft\",\n  \"630631\": \"Sails; of synthetic fibres\",\n  \"630639\": \"Sails; of textile materials other than synthetic fibres\",\n  \"630640\": \"Camping goods; pneumatic mattresses\",\n  \"630641\": \"Pneumatic mattresses; of cotton\",\n  \"630649\": \"Pneumatic mattresses; of textile materials other than cotton\",\n  \"630690\": \"Camping goods; (of textile materials), n.e.c in heading no. 6306\",\n  \"630691\": \"Sailboards, landcraft or camping goods; of cotton\",\n  \"630699\":\n    \"Sailboards, landcraft or camping goods; of textile materials other than cotton\",\n  \"630710\":\n    \"Cloths; floor cloths, dish-cloths, dusters and similar cleaning cloths\",\n  \"630720\": \"Life-jackets and life-belts\",\n  \"630790\":\n    \"Textiles; made up articles (including dress patterns), n.e.c. in chapter 63, n.e.c. in heading no. 6307\",\n  \"630800\":\n    \"Fabrics, woven and yarn; in sets, whether or not with accessories, for making up into rugs, tapestries, embroidered table cloths or serviettes or similar textile articles, packaged for retail sale\",\n  \"630900\": \"Clothing; worn, and other worn articles\",\n  \"631010\":\n    \"Rags; used or new, scrap twine, cordage, rope and cables and worn out articles of twine, cordage, rope or cables, of textile materials; sorted\",\n  \"631090\":\n    \"Rags; used or new, scrap twine, cordage, rope and cables and worn out articles of twine, cordage, rope or cables, of textile materials; other than sorted\",\n  \"640110\":\n    \"Footwear; waterproof with metal toe-cap, rubber or plastic outer soles and uppers (not assembled by stitch, rivet, nail, screw, plug or similar)\",\n  \"640191\":\n    \"Footwear; waterproof, covering the knee, rubber or plastic outer soles and uppers (not assembled by stitch, rivet, nail, screw, plug or similar)\",\n  \"640192\":\n    \"Footwear; waterproof, covering the ankle (but not the knee), rubber or plastic outer soles and uppers (not assembled by stitch, rivet, nail, screw, plug or similar)\",\n  \"640199\":\n    \"Footwear; waterproof, n.e.c. in heading no. 6401, rubber or plastic outer soles and uppers (not assembled by stitch, rivet, nail, screw, plug or similar)\",\n  \"640211\":\n    \"Sports footwear; ski boots and cross-country ski footwear, with outer soles and uppers of rubber or plastics\",\n  \"640212\":\n    \"Sports footwear; with outer soles and uppers of rubber or plastics, ski-boots, cross-country ski footwear and snowboard boots\",\n  \"640219\":\n    \"Sports footwear; (other than ski-boots, snowboard boots or cross-country ski footwear), with outer soles and uppers of rubber or plastics\",\n  \"640220\":\n    \"Footwear; with outer soles and uppers of rubber or plastics, upper straps or thongs assembled to the sole by plugs\",\n  \"640230\":\n    \"Footwear; with metal toe-caps, outer soles and uppers of rubber or plastics\",\n  \"640291\":\n    \"Footwear; n.e.c. in heading no. 6402, covering the ankle, with outer soles and uppers of rubber or plastics\",\n  \"640299\": \"Other footwear of rubber or plastics (exclusionary category)\",\n  \"640311\":\n    \"Sports footwear; ski-boots and cross-country ski footwear, outer soles of rubber, plastics, leather or composition leather, uppers of leather\",\n  \"640312\":\n    \"Sports footwear; with outer soles of rubber, plastics, leather or composition leather and uppers of leather, ski-boots, snowboard boots and cross-country ski footwear\",\n  \"640319\":\n    \"Sports footwear; (other than ski-boots, snowboard boots or cross-country ski footwear), with outer soles of rubber, plastics, leather or composition leather and uppers of leather\",\n  \"640320\":\n    \"Footwear; with outer soles of leather, uppers consisting of leather straps across instep and around the big toe\",\n  \"640330\":\n    \"Footwear; made on wooden base or platform, without inner sole or metal toe cap, outer sole of rubber, plastic, leather or composition leather, uppers of leather\",\n  \"640340\":\n    \"Footwear; with metal toe-cap, outer soles of rubber, plastics, leather or composition leather, uppers of leather\",\n  \"640351\":\n    \"Footwear; n.e.c. in heading no. 6403, with outer soles and uppers of leather, covering the ankle\",\n  \"640359\":\n    \"Footwear; n.e.c. in heading no. 6403, (not covering the ankle), outer soles and uppers of leather\",\n  \"640391\":\n    \"Footwear; n.e.c. in heading no. 6403, covering the ankle, outer soles of rubber, plastics or composition leather, uppers of leather\",\n  \"640399\":\n    \"Other footwear; sole rubber, plastics, or leather, upper leather (exclusionary category)\",\n  \"640411\": \"Sports footwear of rubber and textile\",\n  \"640419\":\n    \"Footwear; sole rubber or plastics, upper textile; excl. sportswear\",\n  \"640420\":\n    \"Footwear; outer soles of leather or composition leather, uppers of textile materials\",\n  \"640510\":\n    \"Footwear; with uppers of leather or composition leather, n.e.c. in chapter 64\",\n  \"640520\": \"Footwear; with uppers of textile materials, n.e.c. in chapter 64\",\n  \"640590\": \"Footwear; n.e.c. in chapter 64\",\n  \"640610\": \"Footwear; parts, uppers and parts thereof, other than stiffeners\",\n  \"640620\": \"Footwear; parts, outer soles and heels, of rubber or plastics\",\n  \"640690\": \"Footwear; parts, n.e.c. in heading 6406\",\n  \"640691\": \"Footwear; parts, of wood\",\n  \"640699\": \"Footwear; of materials n.e.c. in heading no. 6406\",\n  \"650100\":\n    \"Hat-forms, hat bodies and hoods of felt, neither blocked to shape nor with made brims; plateaux and manchons (including slit manchons) of felt\",\n  \"650200\":\n    \"Hat-shapes; plaited or made by assembling strips of any material, neither blocked to shape, nor with made brims, nor lined, nor trimmed\",\n  \"650300\":\n    \"Hats and other felt headgear; made from the hat bodies, hoods or plateaux of heading no. 6501, whether or not lined or trimmed\",\n  \"650400\":\n    \"Hats and other headgear; plaited or made by assembling strips of any material, whether or not lined or trimmed\",\n  \"650500\": \"Hats and other headgear\",\n  \"650510\": \"Hair-nets; of any material, whether or not lined or trimmed\",\n  \"650590\":\n    \"Hats and other headgear; knitted or crocheted, or made up from lace, felt or other textile fabrics, in the piece (but not in strips), whether or not lined or trimmed\",\n  \"650610\": \"Headgear; safety, whether or not lined or trimmed\",\n  \"650691\":\n    \"Headgear; (other than safety headgear), of rubber or plastics, whether or not lined or trimmed\",\n  \"650692\":\n    \"Headgear; (other than safety headgear), of furskin, whether or not lined or trimmed\",\n  \"650699\":\n    \"Headgear; (other than safety headgear), (of materials other than rubber or plastic), whether or not lined or trimmed\",\n  \"650700\":\n    \"Head-bands, linings, covers, hat foundations, hat frames, peaks and chinstraps; for headgear\",\n  \"660110\": \"Umbrellas and sun umbrellas; garden or similar umbrellas\",\n  \"660191\":\n    \"Umbrellas and sun umbrellas; having a telescopic shaft, (excluding garden or similar umbrellas)\",\n  \"660199\":\n    \"Umbrellas and sun umbrellas; n.e.c. in heading no. 6601 (including walking stick umbrellas)\",\n  \"660200\": \"Walking-sticks, seat-sticks, whips, riding-crops and the like\",\n  \"660310\": \"Handles and knobs; of articles of heading no. 6601 or 6602\",\n  \"660320\": \"Umbrella frames; including frames mounted on shafts (sticks)\",\n  \"660390\":\n    \"Trimmings, accessories and parts of articles of heading no. 6601 or 6602; n.e.c. in heading no. 6603\",\n  \"670100\":\n    \"Skins and other parts of birds with their feathers or down; feathers, parts of feathers, down and articles thereof (other than goods of heading no. 0505 and worked quills and scapes)\",\n  \"670210\":\n    \"Flowers, foliage and fruit, artificial, and parts thereof; articles made of artificial flowers, foliage or fruit, of plastics\",\n  \"670290\":\n    \"Flowers, foliage and fruit, artificial, and parts thereof; articles made of artificial flowers, foliage or fruit, of materials other than plastics\",\n  \"670300\":\n    \"Human hair, dressed, thinned, bleached or otherwise worked; wool or other animal hair or other textile materials, prepared for use in making wigs or the like\",\n  \"670411\": \"Wigs; complete, of synthetic textile materials\",\n  \"670419\":\n    \"False beards, eyebrows and eyelashes, switches and the like; of synthetic textile materials\",\n  \"670420\":\n    \"Wigs, false beards, eyebrows and eyelashes, switches and the like and other articles n.e.c.; of human hair\",\n  \"670490\":\n    \"Wigs, false beards, eyebrows and eyelashes, switches and the like and other articles n.e.c.; of animal hair or of textile materials other than synthetic\",\n  \"680100\":\n    \"Stone; setts, curbstones and flagstones, of natural stone (except slate)\",\n  \"680210\":\n    \"Tiles, cubes and similar articles; whether or not rectangular (including square), largest surface area of which is capable of being enclosed in square, side less than 7cm, coloured granules, chippings, powder\",\n  \"680221\":\n    \"Marble, travertine and alabaster; simply cut or sawn, with a flat or even surface\",\n  \"680222\":\n    \"Stone; calcareous (excluding marble, travertine, alabaster), articles thereof, simply cut or sawn, with a flat or even surface\",\n  \"680223\":\n    \"Granite; articles thereof, simply cut or sawn, with a flat or even surface\",\n  \"680229\":\n    \"Stone; monumental or building stone, n.e.c. in item no. 6802.2, articles thereof, simply cut or sawn, with a flat or even surface\",\n  \"680291\":\n    \"Marble, travertine and alabaster; articles thereof, (other than simply cut or sawn, with a flat or even surface)\",\n  \"680292\":\n    \"Stone; calcareous (excluding marble, travertine, alabaster) articles thereof, (other than simply cut or sawn, with a flat or even surface)\",\n  \"680293\": \"Worked granite articles\",\n  \"680299\":\n    \"Stone; natural (excluding marble, travertine, alabaster, other calcareous stone or granite), monumental or building stone, (other than simply cut or sawn, with a flat or even surface)\",\n  \"680300\": \"Slate, worked; and articles of slate or of agglomerated slate\",\n  \"680410\": \"Millstones and grindstones; for milling, grinding or pulping\",\n  \"680421\":\n    \"Millstones, grindstones, grinding wheels and the like; of agglomerated synthetic or natural diamond\",\n  \"680422\":\n    \"Millstones, grindstones, grinding wheels and the like; of other agglomerated abrasives or of ceramics\",\n  \"680423\":\n    \"Millstones, grindstones, grinding wheels and the like; of natural stone\",\n  \"680430\":\n    \"Stones; hand sharpening or polishing stones, of natural stone, agglomerated natural or artificial abrasives or ceramics, with or without parts of other materials\",\n  \"680510\":\n    \"Abrasive powder or grain; natural or artificial, on a base of woven textile fabric only, whether or not cut to shape or sewn or otherwise made up\",\n  \"680520\":\n    \"Abrasive powder or grain; natural or artificial, on a base of paper or paperboard only, whether or not cut to shape or sewn or otherwise made up\",\n  \"680530\":\n    \"Abrasive powder or grain; natural or artificial, on a base of materials n.e.c. in heading no. 6805, whether or not cut to shape or sewn or otherwise made up\",\n  \"680610\":\n    \"Slag wool, rock wool and similar mineral wools (including intermixtures thereof), in bulk, sheets or rolls\",\n  \"680620\":\n    \"Exfoliated vermiculite, expanded clays, foamed slag and similar expanded mineral materials (including intermixtures thereof)\",\n  \"680690\":\n    \"Minerals; mixtures and articles of heat-insulating, sound-insulating or sound-absorbing mineral materials, other than those of heading no. 6811 or 6812 or of chapter 69\",\n  \"680710\":\n    \"Asphalt or similar material; articles (e.g. petroleum bitumen or coal tar pitch) in rolls\",\n  \"680790\":\n    \"Asphalt or similar material; articles (e.g. petroleum bitumen or coal tar pitch) other than in rolls\",\n  \"680800\":\n    \"Panels, boards, tiles, blocks and the like; of vegetable fibre, of straw, shavings, chips, particles, sawdust or other waste, of wood, agglomerated with cement, plaster or other mineral binders\",\n  \"680911\":\n    \"Plaster, or plaster compositions; boards, sheets, panels, tiles and similar articles, faced or reinforced with paper or paperboard only, not ornamented\",\n  \"680919\":\n    \"Plaster, or plaster compositions; boards, sheets, panels, tiles and similar articles, (other than faced or reinforced with paper or paperboard only), not ornamented\",\n  \"680990\":\n    \"Plaster articles or articles of compositions based on plaster; n.e.c. in heading no. 6809\",\n  \"681011\":\n    \"Cement, concrete or artificial stone; building blocks or bricks, whether or not reinforced\",\n  \"681019\":\n    \"Cement, concrete or artificial stone; tiles, flagstones and similar, (excluding building blocks and bricks) whether or not reinforced\",\n  \"681020\":\n    \"Cement, concrete or artificial stone; pipes, whether or not reinforced\",\n  \"681091\":\n    \"Cement, concrete or artificial stone; prefabricated structural components for building or civil engineering, whether or not reinforced\",\n  \"681099\":\n    \"Cement, concrete or artificial stone; articles (other than prefabricated structural components for building or civil engineering), whether or not reinforced, n.e.c. in heading no. 6810\",\n  \"681110\":\n    \"Asbestos-cement, cellulose fibre-cement articles or the like; corrugated sheets\",\n  \"681120\":\n    \"Asbestos-cement, cellulose fibre-cement articles or the like; sheets, panels, tiles and similar articles, other than corrugated sheets\",\n  \"681130\":\n    \"Asbestos-cement, cellulose fibre-cement articles or the like; tubes, pipes and tube or pipe fittings\",\n  \"681140\": \"Asbestos-cement; articles or the like, containing asbestos\",\n  \"681181\":\n    \"Cellulose fibre-cement; articles or the like; corrugated sheets, not containing asbestos\",\n  \"681182\":\n    \"Cellulose fibre-cement; articles or the like, sheets, panels, tiles and similar articles (other than corrugated sheets), not containing asbestos\",\n  \"681183\":\n    \"Cellulose fibre-cement articles or the like; tubes, pipes and tube or pipe fittings\",\n  \"681189\":\n    \"Cellulose fibre-cement; articles or the like, other than corrugated sheets and other sheets, panels, tiles and similar articles, not containing asbestos\",\n  \"681190\":\n    \"Asbestos-cement, cellulose fibre-cement articles or the like; articles n.e.s. in heading no. 6811\",\n  \"681210\":\n    \"Asbestos fibres, fabricated; mixtures with a basis of asbestos or with a basis of asbestos and magnesium carbonate\",\n  \"681220\":\n    \"Asbestos; articles thereof, yarn and thread, whether or not reinforced, (excluding goods of heading no. 6811 or 6813)\",\n  \"681230\":\n    \"Asbestos; cords and string, whether or not plaited, of a mixture with a basis of asbestos or asbestos and magnesium carbonate, whether or not reinforced, (excluding goods of heading no. 6811 or 6813)\",\n  \"681240\":\n    \"Asbestos; woven or knitted fabric, of a mixture with a basis of asbestos or asbestos and magnesium carbonate, whether or not reinforced, (excluding goods of heading no. 6811 or 6813)\",\n  \"681250\":\n    \"Asbestos; clothing, clothing accessories, footwear and headgear, of a mixture with a basis of asbestos or asbestos and magnesium carbonate, whether or not reinforced (excluding heading no. 6811 or 6813)\",\n  \"681260\":\n    \"Asbestos; paper, millboard and felt, of a mixture with a basis of asbestos or asbestos and magnesium carbonate, whether or not reinforced (excluding goods of heading no. 6811 or 6813)\",\n  \"681270\":\n    \"Asbestos fibres, fabricated; compressed asbestos fibre jointing, in sheets or rolls\",\n  \"681280\":\n    \"Fabricated crocidolite (blue asbestos) fibres, mixtures with a basis of crocidolite (blue asbestos), articles of crocidolite (blue asbestos), whether or not reinforced, not goods of heading 6811 or 6813\",\n  \"681290\":\n    \"Asbestos; goods n.e.s. in heading no. 6812, of a mixture with a basis of asbestos and magnesium carbonate, whether or not reinforced (excluding goods of heading no. 6811 or 6813)\",\n  \"681291\":\n    \"Asbestos or mixtures with a basis of asbestos (other than crocidolite); clothing, clothing accessories, footwear and headgear, whether or not reinforced, not goods of heading 6811 or 6813\",\n  \"681292\":\n    \"Asbestos or mixtures with a basis of asbestos (other than crocidolite); paper, millboard and felt, whether or not reinforced, not goods of heading 6811 or 6813\",\n  \"681293\":\n    \"Asbestos or mixtures with a basis of asbestos (other than crocidolite); compressed asbestos fibre jointing, in sheets or rolls, whether or not reinforced, not goods of heading 6811 or 6813\",\n  \"681299\":\n    \"Asbestos or mixtures with a basis of asbestos (other than crocidolite); fibres, mixtures or articles n.e.c. in heading no. 6812, whether or not reinforced, not goods of heading 6811 or 6813\",\n  \"681310\":\n    \"Brake linings and pads; with a basis of asbestos, of other mineral substances or of cellulose\",\n  \"681320\":\n    \"Friction material and articles thereof (e.g. sheets, rolls, strips, segments, discs, washers, pads) not mounted; for brakes, clutches or the like, with a basis of asbestos\",\n  \"681381\":\n    \"Brake linings and pads; with a basis of mineral substances or cellulose (other than asbestos)\",\n  \"681389\":\n    \"Friction material and articles thereof (e.g. sheets, rolls, strips, segments, discs, washers, pads) not mounted; for clutches or the like (not brake linings and pads), with a basis of mineral substances or cellulose (other than asbestos)\",\n  \"681390\":\n    \"Friction material; unmounted, for clutches or the like, with a basis of asbestos, of other mineral substances or of cellulose, other than brake linings and pads\",\n  \"681410\":\n    \"Mica; plates, sheets and strips of agglomerated or reconstituted mica, whether or not on a support of paper, paperboard or other materials\",\n  \"681490\":\n    \"Mica; worked mica and articles of mica (excluding plates, sheets and strips) whether or not on a support of paper, paperboard or other materials\",\n  \"681510\": \"Articles of graphite or other carbon; non-electrical\",\n  \"681511\":\n    \"Stone or other mineral substances not elsewhere specified or included; carbon fibres for non-electrical uses\",\n  \"681512\":\n    \"Stone or other mineral substances not elsewhere specified or included; fabrics of carbon fibres for non-electrical uses\",\n  \"681513\":\n    \"Stone or other mineral substances not elsewhere specified or included; articles of carbon fibres for non-electrical uses\",\n  \"681519\":\n    \"Stone or other mineral substances not elsewhere specified or included; non-electrical articles of graphite or carbon n.e.c. in heading 6815\",\n  \"681520\": \"Peat; articles of peat n.e.c. or included\",\n  \"681591\":\n    \"Stone articles and articles of other mineral substances; containing magnesite, dolomite or chromite\",\n  \"681599\":\n    \"Stone articles and articles of other mineral substances; n.e.c. or included in heading no. 6815\",\n  \"690100\":\n    \"Bricks, blocks, tiles and other ceramic goods of siliceous fossil meals (e.g. kieselguhr, tripolite or diatomite) or of similar siliceous earths\",\n  \"690210\":\n    \"Refractory bricks, blocks, tiles and similar refractory ceramic constructional goods; containing by weight, singly or together, more than 50% of the elements Mg, Ca or Cr, expressed as MgO, CaO or Cr2o3\",\n  \"690220\":\n    \"Refractory bricks, blocks, tiles and similar refractory ceramic constructional goods; containing by weight more than 50% of alumina (Al2o3), of silica (SiO2) or of a mixture or compound of these\",\n  \"690290\":\n    \"Refractory bricks, blocks, tiles and similar refractory ceramic constructional goods; n.e.c. in item no. 6902.1 or 6902.2\",\n  \"690310\":\n    \"Refractory ceramic goods; containing by weight more than 50% of graphite or other forms of carbon or of a mixture of these products, excluding those of siliceous fossil meals or similar earths\",\n  \"690320\":\n    \"Refractory ceramic goods; containing by weight more than 50% of alumina or of a mixture or compound of alumina and of silica, excluding those of siliceous fossil meals or similar earths\",\n  \"690390\":\n    \"Refractory ceramic goods; composition of which n.e.c. in heading no. 6903, other than those of siliceous fossil meals or similar earths\",\n  \"690410\": \"Ceramic building bricks\",\n  \"690490\":\n    \"Ceramic flooring blocks, supports or filler tiles and the like (excluding building bricks)\",\n  \"690510\": \"Ceramic roofing tiles\",\n  \"690590\":\n    \"Ceramic chimney-pots, cowls, chimney liners, architectural ornaments and other constructional goods (excluding roofing tiles)\",\n  \"690600\": \"Ceramic pipes, conduits, guttering and pipe fittings\",\n  \"690710\":\n    \"Ceramic tiles, cubes and similar articles; unglazed, whether or not rectangular, the largest surface area of which is capable of being enclosed in a square the side of which is less than 7cm\",\n  \"690721\":\n    \"Ceramic tiles; flags and paving, hearth or wall tiles other than those of subheadings 6907.30 and 6907.40, of a water absorption coefficient by weight not over 0.5%\",\n  \"690722\":\n    \"Ceramic tiles; flags and paving, hearth or wall tiles other than those of subheadings 6907.30 and 6907.40, of a water absorption coefficient by weight over 0.5% but not over 10%\",\n  \"690723\":\n    \"Ceramic tiles; flags and paving, hearth or wall tiles other than those of subheadings 6907.30 and 6907.40, of a water absorption coefficient by weight over 10%\",\n  \"690730\": \"Mosaic cubes and the like, other than those of subheading 6907.40\",\n  \"690740\": \"Finishing ceramics\",\n  \"690790\": \"Ceramic flags and paving; unglazed\",\n  \"690810\":\n    \"Ceramic tiles, cubes and similar articles; glazed, whether or not rectangular or on a backing, with the largest surface area less than a 7cm square\",\n  \"690890\": \"Ceramic flags and pavings; glazed\",\n  \"690911\":\n    \"Ceramic wares; for laboratory, chemical or other technical uses, of porcelain or china\",\n  \"690912\":\n    \"Ceramic wares; for laboratory, chemical or other technical uses, articles having a hardness equivalent to 9 or more on the Mohs scale\",\n  \"690919\":\n    \"Ceramic wares; for laboratory, chemical or other technical uses, other than articles having a hardness equivalent to 9 or more on the Mohs scale or of porcelain or china\",\n  \"690990\":\n    \"Ceramic wares; pots, jars and similar articles of a kind used for the conveyance or packing of goods and ceramic troughs, tubs and similar receptacles used in agriculture\",\n  \"691010\":\n    \"Ceramic sinks, wash basins, wash basin pedestals, baths, bidets, water closet pans, flushing cisterns, urinals and similar sanitary fixtures; of porcelain or china\",\n  \"691090\":\n    \"Ceramic sinks, wash basins, wash basin pedestals, baths, bidets, water closet pans, flushing cisterns, urinals and similar sanitary fixtures; of other than porcelain or china\",\n  \"691110\": \"Tableware and kitchenware; of porcelain or china\",\n  \"691190\":\n    \"Household and toilet articles; n.e.c. in heading no. 6911, of porcelain or china\",\n  \"691200\": \"Ceramic housewares; excl. porcelain and china\",\n  \"691310\":\n    \"Ceramic statuettes and other ornamental ceramic articles, of porcelain or china\",\n  \"691390\":\n    \"Ceramic statuettes and other ornamental ceramic articles; other than of porcelain or china\",\n  \"691410\": \"Ceramic articles n.e.c. in chapter 69; of porcelain or china\",\n  \"691490\":\n    \"Ceramic articles n.e.c. in chapter 69; other than of porcelain or china\",\n  \"700100\":\n    \"Glass; cullet and other waste and scrap of glass, glass in the mass\",\n  \"700210\":\n    \"Glass; unworked, in balls (other than microspheres of heading no. 7018)\",\n  \"700220\": \"Glass; unworked, in rods\",\n  \"700231\": \"Glass; unworked, in tubes, of fused quartz or other fused silica\",\n  \"700232\":\n    \"Glass; unworked, tubes, of glass having a linear coefficient of expansion not exceeding 5 x 10 (to the minus 6), (or 0.000005) per Kelvin within a temperature range of 0-300 degrees C\",\n  \"700239\":\n    \"Glass; unworked, in tubes, other than of glass having a linear coefficient of expansion not exceeding 5 x 10 (to the minus 6, (or 0.000005) ) per Kelvin within a temperature range of 0-300 degrees C, not fused quartz or other fused silica\",\n  \"700311\":\n    \"Glass; cast glass and rolled glass, non-wired sheets, coloured throughout the mass (body tinted), opacified, flashed or having an absorbent or reflecting layer\",\n  \"700312\":\n    \"Glass; cast glass and rolled glass, non-wired sheets, coloured through the mass (body tinted), opacified, flashed or having an absorbent, reflecting or non-reflecting layer\",\n  \"700319\":\n    \"Glass; cast glass and rolled glass, non-wired sheets, (excluding those coloured throughout the mass (body tinted) opacified, flashed or having an absorbent or reflecting layer)\",\n  \"700320\":\n    \"Glass; cast glass and rolled glass, wired sheets, whether or not having an absorbent or reflecting layer but not otherwise worked\",\n  \"700330\":\n    \"Glass; cast glass and rolled glass, profiles, not otherwise worked\",\n  \"700410\":\n    \"Glass; drawn and blown, in sheets, coloured throughout the mass (body tinted), opacified, flashed or having an absorbent or reflecting layer but not otherwise worked\",\n  \"700420\":\n    \"Glass; drawn and blown, in sheets, coloured throughout the mass (body tinted), opacified, flashed or having an absorbent, reflecting or non-reflecting layer, but not otherwise worked\",\n  \"700490\":\n    \"Glass; drawn and blown, in sheets, (other than glass coloured throughout the mass (body tinted), opacified, flashed or having an absorbent, reflecting or non-reflecting layer)\",\n  \"700510\":\n    \"Glass; float glass and surface ground or polished glass, in sheets, non-wired, having an absorbent reflecting or non-reflecting layer\",\n  \"700521\":\n    \"Glass; float glass and surface ground or polished glass, in sheets, non-wired, coloured throughout the mass (body tinted), opacified, flashed or merely surface ground\",\n  \"700529\":\n    \"Glass; float glass and surface ground or polished glass, in sheets, non-wired, (other than coloured throughout the mass (body tinted), opacified, flashed or merely surface ground)\",\n  \"700530\":\n    \"Glass; float glass and surface ground or polished glass, in sheets, wired glass, whether or not having an absorbent or reflecting layer\",\n  \"700600\":\n    \"Glass of heading no. 7003, 7004 or 7005; bent, edge-worked, engraved, drilled, enamelled or otherwise worked, but not framed or fitted with other materials\",\n  \"700711\":\n    \"Glass; safety glass, toughened (tempered), of size and shape suitable for incorporation in vehicles, aircraft, spacecraft or vessels\",\n  \"700719\":\n    \"Glass; safety glass, toughened (tempered), (not of a size and shape suitable for incorporation in vehicles, aircraft, spacecraft or vessels)\",\n  \"700721\":\n    \"Glass; safety glass, laminated, of size and shape suitable for incorporation in vehicles, aircraft, spacecraft or vessels\",\n  \"700729\":\n    \"Glass; safety glass, laminated, (not of a size and shape suitable for incorporation in vehicles, aircraft, spacecraft or vessels)\",\n  \"700800\": \"Glass; multiple-walled insulating units of glass\",\n  \"700910\": \"Rear-view mirrors for vehicles\",\n  \"700991\": \"Glass mirrors; unframed, excluding rear-view mirrors for vehicles\",\n  \"700992\": \"Glass mirrors; framed, excluding rear-view mirrors for vehicles\",\n  \"701010\":\n    \"Glass; ampoules, of a kind used for the conveyance or packing of goods\",\n  \"701020\": \"Glass; stoppers, lids and other closures\",\n  \"701090\":\n    \"Glass; carboys, bottles, flasks, jars, pots, phials and other containers of glass, (not ampoules), used for the conveyance or packing of goods\",\n  \"701091\":\n    \"Glass; carboys, bottles, flasks, jars, pots, phials and other containers of glass, (not ampoules), used for the conveyance or packing of goods, of a capacity exceeding 1l\",\n  \"701092\":\n    \"Glass; carboys, bottles, flasks, jars, pots, phials and other containers of glass, (not ampoules), used for the conveyance or packing of goods, of a capacity exceeding 0.33l but not exceeding 1l\",\n  \"701093\":\n    \"Glass; carboys, bottles, flasks, jars, pots, phials and other containers of glass, (not ampoules), used for the conveyance or packing of goods, of a capacity exceeding 0.15l but not exceeding 0.33l\",\n  \"701094\":\n    \"Glass; carboys, bottles, flasks, jars, pots, phials and other containers of glass, (not ampoules), used for the conveyance or packing of goods, of a capacity not exceeding 0.15l\",\n  \"701110\":\n    \"Glass envelopes (including bulbs and tubes); open, and glass parts thereof, without fittings, for electric lighting\",\n  \"701120\":\n    \"Glass envelopes (including bulbs and tubes); open, and glass parts thereof, without fittings, for cathode-ray tubes\",\n  \"701190\":\n    \"Glass envelopes (including bulbs and tubes); open, and glass parts thereof, without fittings, other than for electric lighting and cathode-ray tubes\",\n  \"701200\": \"Glass; inners for vacuum flasks or other vacuum vessels\",\n  \"701310\":\n    \"Glassware; of a kind used for table, kitchen, toilet, office, indoor decoration or similar purposes (other than of heading no. 7010 or 7018), of glass-ceramics\",\n  \"701321\": \"Glassware; drinking glasses, of lead crystal\",\n  \"701322\": \"Stemware drinking glasses, of lead crystal\",\n  \"701328\":\n    \"Stemware drinking glasses, other than of lead crystal or glass-ceramics\",\n  \"701329\":\n    \"Glassware; drinking glasses, not of glass-ceramics or lead crystal\",\n  \"701331\":\n    \"Glassware; of a kind used for table or kitchen purposes, (excluding drinking glasses), of lead crystal\",\n  \"701332\":\n    \"Glassware; of a kind used for table or kitchen purposes, of glass having a linear co-efficient of expansion not exceeding 5 x 10-6 per kelvin within a temperature range of 0-300 degrees C, (not of glass-ceramics)\",\n  \"701333\": \"Glassware; drinking glasses (not stemware), of lead crystal\",\n  \"701337\":\n    \"Glassware; drinking glasses (not stemware), other than of lead crystal or glass-ceramics\",\n  \"701339\":\n    \"Glassware; used for table or kitchen purposes, (not of lead crystal or glass-ceramics or glass having a linear co-efficient of expansion not exceeding 5 x 10-6 per kelvin with a temperature range of 0-300 degrees c)\",\n  \"701341\":\n    \"Glassware of a kind used for table or kitchen purposes (not drinking glasses), of lead crystal\",\n  \"701342\":\n    \"Glassware of a kind used for table or kitchen purposes (not drinking glasses), of glass having a linear coefficient of expansion not exceeding 5 x 10 (to the minus 6), (or 0.000005) per Kelvin within a temperature range of 0-300 degrees C\",\n  \"701349\":\n    \"Glassware of a kind used for table or kitchen purposes (not drinking glasses or of glass-ceramics), of glass n.e.c. in item no. 7013.4\",\n  \"701391\": \"Glassware; n.e.c. in heading no. 7013, of lead crystal\",\n  \"701399\": \"Glassware; n.e.c. in heading no. 7013, other than of lead crystal\",\n  \"701400\": \"Glassware; signalling, (not optically worked)\",\n  \"701510\":\n    \"Glasses for corrective spectacles; curved, bent, hollowed or the like, not optically worked\",\n  \"701590\":\n    \"Glasses; clock or watch and similar, glasses for non-corrective spectacles, curved, bent, hollowed etc, (not optically worked), hollow glass spheres and segments, for the manufacture of such glasses\",\n  \"701610\":\n    \"Glass cubes and other glass smallwares; whether or not on a backing, for mosaics or similar decorative purposes\",\n  \"701690\":\n    \"Multicellular or foam glass; in blocks, panels, plates, shells or similar forms; paving blocks, slabs, bricks and other articles of pressed or moulded glass\",\n  \"701710\":\n    \"Glassware; laboratory, hygienic or pharmaceutical, whether or not graduated or calibrated, of fused quartz or other fused silica\",\n  \"701720\":\n    \"Glassware; laboratory, hygienic or pharmaceutical, whether or not graduated or calibrated, having a linear co-efficient of expansion not over 5 x 10 (to the minus 6), (or 0.000005)) per Kelvin with a temperature of 0-300 degrees C\",\n  \"701790\":\n    \"Glassware; laboratory, hygienic or pharmaceutical, whether or not graduated or calibrated, of glass n.e.c. in heading no. 7017\",\n  \"701810\":\n    \"Glass; beads, imitation pearls, imitation precious or semi-precious stones and similar glass smallwares\",\n  \"701820\": \"Glass microspheres; not exceeding 1mm in diameter\",\n  \"701890\":\n    \"Glass; articles thereof, statuettes and other ornaments of lamp worked glass, other than imitation jewellery\",\n  \"701910\":\n    \"Glass fibres (including glass wool); slivers, rovings, yarn and chopped strands\",\n  \"701911\":\n    \"Glass fibres; (including glass wool), chopped strands, of a length of not more than 50mm\",\n  \"701912\": \"Glass fibres; (including glass wool), rovings\",\n  \"701913\": \"Glass fibres; (including glass wool), yarns and slivers\",\n  \"701914\": \"Glass fibres; (including glass wool), mechanically bonded mats\",\n  \"701915\": \"Glass fibres; (including glass wool), chemically bonded mats\",\n  \"701919\": \"Glass fibres; (including glass wool), slivers, yarns and threads\",\n  \"701920\": \"Glass fibres; woven fabrics, including narrow fabrics\",\n  \"701931\": \"Glass fibres; non-woven products, mats\",\n  \"701932\": \"Glass fibres; non-woven products, thin sheets (voiles)\",\n  \"701939\":\n    \"Glass fibres; webs, mattresses, boards and similar non-woven products excluding mats and thin sheets\",\n  \"701940\": \"Glass fibres; woven fabrics of rovings\",\n  \"701951\":\n    \"Glass fibres; woven fabrics (other than of rovings), of a width not exceeding 30cm\",\n  \"701952\":\n    \"Glass fibres; woven fabrics (other than of rovings), of a width exceeding 30cm, plain weave, weighing less than 250g/m2, of filaments measuring per single yarn not more than 136 tex\",\n  \"701959\":\n    \"Glass fibres; woven fabrics (other than of rovings), n.e.c. in item no. 7019.5\",\n  \"701961\":\n    \"Glass fibres; mechanically bonded fabrics and closed woven fabrics of rovings\",\n  \"701962\":\n    \"Glass fibres; non-woven mechanically bonded fabrics and closed fabrics of rovings\",\n  \"701963\":\n    \"Glass fibres; mechanically bonded fabrics and closed woven fabrics, plain weave, of yarns, not coated or laminated (other than rovings)\",\n  \"701964\":\n    \"Glass fibres; closed woven fabrics, plain weave, of yarns, coated or laminated, (other than rovings)\",\n  \"701965\": \"Glass fibres; open woven fabrics of a width not exceeding 30cm\",\n  \"701966\": \"Glass fibres; open woven fabrics of a width exceeding 30cm\",\n  \"701969\": \"Glass fibres; fabrics n.e.c. in item no. 7019.6\",\n  \"701971\": \"Glass fibres; chemically bonded fabrics\",\n  \"701972\":\n    \"Glass fibres; chemically bonded fabrics, closed fabrics n.e.c. in heading 7019\",\n  \"701973\":\n    \"Glass fibres; chemically bonded fabrics, open fabrics n.e.c. in heading 7019\",\n  \"701980\": \"Glass fibres; glass wool and articles thereof\",\n  \"701990\": \"Other glass fibres; incl. articles (exclusionary category)\",\n  \"702000\": \"Other glass articles (exclusionary category)\",\n  \"710110\":\n    \"Pearls; natural, whether or not worked or graded (but not strung, mounted or set), temporarily strung for the convenience of transport\",\n  \"710121\":\n    \"Pearls; cultured, unworked, whether or not graded (but not strung, mounted or set), temporarily strung for the convenience of transport\",\n  \"710122\":\n    \"Pearls; cultured, worked, whether or not graded (but not strung, mounted or set), temporarily strung for the convenience of transport\",\n  \"710210\": \"Diamonds; whether or not worked, but not mounted or set, unsorted\",\n  \"710221\":\n    \"Diamonds; industrial, unworked or simply sawn, cleaved or bruted, but not mounted or set\",\n  \"710229\":\n    \"Diamonds; industrial, (other than unworked or simply sawn, cleaved or bruted), but not mounted or set\",\n  \"710231\":\n    \"Diamonds; non-industrial, unworked or simply sawn, cleaved or bruted, but not mounted or set\",\n  \"710239\":\n    \"Diamonds; non-industrial, (other than unworked or simply sawn, cleaved or bruted), but not mounted or set\",\n  \"710310\":\n    \"Stones; precious (other than diamonds) and semi-precious stones, unworked or simply sawn or roughly shaped, not strung, mounted or set\",\n  \"710391\":\n    \"Stones; rubies, sapphires and emeralds, worked (other than simply sawn or roughly shaped), not strung, mounted or set\",\n  \"710399\":\n    \"Stones; precious (other than diamonds) and semi-precious stones, (other than rubies, sapphires and emeralds), worked other than simply sawn or roughly shaped, not strung, mounted or set\",\n  \"710410\":\n    \"Stones; precious or semi-precious, synthetic or reconstructed, piezo-electric quartz, whether or not worked or graded (but not strung, mounted or set), temporarily strung for transport convenience\",\n  \"710420\":\n    \"Stones; precious or semi-precious, synthetic or reconstructed, (not piezo-electric quartz), unworked or simply sawn, roughly shaped, (not strung, mounted or set), temporarily strung for transport convenience\",\n  \"710421\": \"Stones; diamonds, unworked or simply sawn or roughly shaped\",\n  \"710429\":\n    \"Stones; synthetic or reconstructed precious or semi-precious n.e.c. in heading 7104, unworked or simply sawn or roughly shaped\",\n  \"710490\":\n    \"Stones; precious or semi-precious, synthetic or reconstructed, (not piezo-electric quartz), worked or graded or not, (but not strung, mounted or set), temporarily strung for transport convenience, n.e.c. in item no. 7104.20\",\n  \"710491\":\n    \"Stones; diamonds, n.e.c. in heading 7104, worked or graded but not strung, mounted or set; ungraded synthetic or reconstructed precious or semi-precious stones, temporarily strung for convenience of transport\",\n  \"710499\":\n    \"Stones; synthetic or reconstructed precious or semi-precious n.e.c. in heading 7104, worked or graded but not strung, mounted or set; ungraded synthetic or reconstructed precious or semi-precious stones, temporarily strung for convenience of transport\",\n  \"710510\": \"Stones; precious and semi-precious, dust and powder, of diamonds\",\n  \"710590\":\n    \"Stones; precious and semi-precious, dust and powder, of natural or synthetic precious or semi-precious stones, excluding diamonds\",\n  \"710610\": \"Metals; silver powder\",\n  \"710691\": \"Silver; unwrought\",\n  \"710692\": \"Metals; silver, semi-manufactured\",\n  \"710700\":\n    \"Base metals clad with silver; not further worked than semi-manufactured\",\n  \"710811\": \"Metals; gold, non-monetary, powder\",\n  \"710812\":\n    \"Gold; unwrought but not powder; excl. reserve assets from monetary authorities\",\n  \"710813\": \"Gold; semi-manufactured\",\n  \"710900\":\n    \"Base metals or silver; clad with gold, not further worked than semi-manufactured\",\n  \"711011\": \"Metals; platinum, unwrought or in powder form\",\n  \"711019\": \"Metals; platinum, semi-manufactured\",\n  \"711021\": \"Palladium; unwrought or in powder form\",\n  \"711029\": \"Metals; palladium, semi-manufactured\",\n  \"711031\": \"Rhodium; unwrought or in powder form\",\n  \"711039\": \"Metals; rhodium, semi-manufactured\",\n  \"711041\": \"Metals; iridium, osmium, ruthenium, unwrought or in powder form\",\n  \"711049\": \"Metals; iridium, osmium, ruthenium, semi-manufactured\",\n  \"711100\":\n    \"Base metals, silver or gold, clad with platinum; not further worked than semi-manufactured\",\n  \"711210\":\n    \"Metals; waste and scrap of gold, including metal clad with gold but excluding sweepings containing other precious metals\",\n  \"711220\":\n    \"Metals; waste and scrap of platinum, including metal clad with platinum but excluding sweepings containing other precious metals\",\n  \"711230\":\n    \"Waste and scrap of precious metal or of metal clad with precious metal; ash containing precious metal or precious metal compounds\",\n  \"711290\":\n    \"Metals; waste and scrap of precious metal other than gold or platinum but excluding sweepings containing other precious metals\",\n  \"711291\":\n    \"Waste and scrap of precious metals; of gold, including metal clad with gold but excluding sweepings containing other precious metals\",\n  \"711292\": \"Platinum waste and scrap\",\n  \"711299\": \"Precious metals waste and scrap; excl. gold and platinum\",\n  \"711311\":\n    \"Jewellery; of silver, whether or not plated or clad with other precious metal, and parts thereof\",\n  \"711319\": \"Jewellery; of precious metal, incl. parts; excl. Silver\",\n  \"711320\":\n    \"Jewellery; of base metal clad with precious metal, and parts thereof\",\n  \"711411\":\n    \"Silversmiths' wares; and parts thereof, of silver, whether or not plated or clad with other precious metal\",\n  \"711419\":\n    \"Goldsmiths' wares; articles of and parts thereof, of precious metal (excluding silver) whether or not plated or clad with precious metal\",\n  \"711420\":\n    \"Goldsmiths' and silversmiths' wares; articles of and parts thereof, of base metal clad with precious metal\",\n  \"711510\": \"Metal; catalysts in the form of wire cloth or grill, of platinum\",\n  \"711590\":\n    \"Metal; precious or metal clad with precious metal, other than that of item no. 7115.10\",\n  \"711610\": \"Pearls; articles of natural or cultured pearls\",\n  \"711620\":\n    \"Stones; precious or semi-precious stones (natural, synthetic or reconstructed) articles of\",\n  \"711711\":\n    \"Jewellery; imitation, cuff links and studs, of base metal, whether or not plated with precious metal\",\n  \"711719\":\n    \"Jewellery; imitation, (excluding cuff links and studs), of base metal, whether or not plated with precious metal\",\n  \"711790\":\n    \"Jewellery; imitation, of other than base metal, whether or not plated with precious metal\",\n  \"711810\": \"Coin (other than gold coin), not being legal tender\",\n  \"720110\":\n    \"Iron; non-alloy pig iron containing by weight 0.5% or less of phosphorus, in pigs, blocks or other primary forms\",\n  \"720120\":\n    \"Iron; non-alloy pig iron containing by weight more than 0.5% of phosphorus, in pigs, blocks or other primary forms\",\n  \"720130\": \"Iron; alloy pig iron, in pigs, blocks or other primary forms\",\n  \"720140\": \"Iron; spiegeleisen, in pigs, blocks or other primary forms\",\n  \"720150\":\n    \"Iron; alloy pig iron, spiegeleisen, in pigs, blocks or other primary forms\",\n  \"720211\":\n    \"Ferro-alloys; ferro-manganese, containing by weight more than 2% of carbon\",\n  \"720219\":\n    \"Ferro-alloys; ferro-manganese, containing by weight 2% or less of carbon\",\n  \"720221\":\n    \"Ferro-alloys; ferro-silicon, containing by weight more than 55% of silicon\",\n  \"720229\":\n    \"Ferro-alloys; ferro-silicon, containing by weight 55% or less of silicon\",\n  \"720230\": \"Ferro-alloys; ferro-silico-manganese\",\n  \"720241\":\n    \"Ferro-alloys; ferro-chromium, containing by weight more than 4% of carbon\",\n  \"720249\":\n    \"Ferro-alloys; ferro-chromium, containing by weight 4% or less of carbon\",\n  \"720250\": \"Ferro-alloys; ferro-silico-chromium\",\n  \"720260\": \"Ferro-alloys; ferro-nickel\",\n  \"720270\": \"Ferro-alloys; ferro-molybdenum\",\n  \"720280\": \"Ferro-alloys; ferro-tungsten and ferro-silico-tungsten\",\n  \"720291\": \"Ferro-alloys; ferro-titanium and ferro-silico-titanium\",\n  \"720292\": \"Ferro-alloys; ferro-vanadium\",\n  \"720293\": \"Ferro-alloys; ferro-niobium\",\n  \"720299\": \"Ferro-alloys; n.e.c. in heading no. 7202\",\n  \"720310\":\n    \"Ferrous products; obtained by direct reduction of iron ore, in lumps, pellets or similar forms\",\n  \"720390\":\n    \"Ferrous products; spongy ferrous products and iron having a minimum purity by weight of 99.94%, in lumps, pellets or similar forms\",\n  \"720410\": \"Ferrous waste and scrap; of cast iron\",\n  \"720421\": \"Ferrous waste and scrap; of stainless steel\",\n  \"720429\": \"Ferrous waste and scrap; of alloy steel (excluding stainless)\",\n  \"720430\": \"Ferrous waste and scrap; of tinned iron or steel\",\n  \"720441\":\n    \"Ferrous waste and scrap; turnings, shavings, chips, milling waste, sawdust, fillings, trimmings and stampings, whether or not in bundles\",\n  \"720449\": \"Other ferrous waste or scrap (exclusionary category)\",\n  \"720450\": \"Ferrous products; remelting scrap ingots\",\n  \"720510\": \"Iron or steel, pig iron, spiegeleisen; granules thereof\",\n  \"720521\": \"Alloy steel powders\",\n  \"720529\":\n    \"Iron or steel, pig iron, spiegeleisen; powders (excluding alloy steel)\",\n  \"720610\":\n    \"Iron or non-alloy steel; ingots (excluding iron of heading no. 7203)\",\n  \"720690\":\n    \"Iron or non-alloy steel; primary forms (excluding ingots and iron of heading no. 7203)\",\n  \"720711\": \"Low-carbon steel; square bar\",\n  \"720712\": \"Low-carbon steel; flat bar\",\n  \"720719\":\n    \"Iron or non-alloy steel; semi-finished products of iron or non-alloy steel, containing by weight less than 0.25% of carbon, other than rectangular or square cross-section\",\n  \"720720\":\n    \"Iron or non-alloy steel; semi-finished products of iron or non-alloy steel, containing by weight 0.25% or more of carbon\",\n  \"720810\":\n    \"Iron or non-alloy steel; in coils, flat-rolled, of a width 600mm or more, hot-rolled, with patterns in relief\",\n  \"720811\":\n    \"Iron or non-alloy steel; in coils, flat-rolled, width 600mm or more, hot-rolled, having a minimum yield point of 355MPa, thickness exceeding 10mm\",\n  \"720812\":\n    \"Iron or non-alloy steel; in coils, flat-rolled, width 600mm or more, hot-rolled, minimum yield point of 355MPa, thickness 4.75mm or more but not exceeding 10mm\",\n  \"720813\":\n    \"Iron or non-alloy steel; in coils, flat-rolled, width 600mm or more, hot-rolled, of a thickness of 3mm or more but less than 4.75mm, having a minimum yield point of 355MPa\",\n  \"720814\":\n    \"Iron or non-alloy steel; in coils, flat-rolled, width 600mm or more, hot-rolled, thickness less than 3mm and having a minimum yield point of 275MPa\",\n  \"720821\":\n    \"Iron or non-alloy steel; in coils, flat-rolled, width 600mm or more, hot-rolled, of a thickness exceeding 10mm, excluding minimum yield point of 355MPa\",\n  \"720822\":\n    \"Iron or non-alloy steel; in coils, flat-rolled, width 600mm or more, hot-rolled, thickness of 4.75mm or more but not exceeding 10mm, excluding minimum yield point of 355MPa\",\n  \"720823\":\n    \"Iron or non-alloy steel; in coils, flat-rolled, width 600mm or more, hot-rolled, thickness of 3mm or more but less than 4.75mm, other than minimum yield point of 355MPa\",\n  \"720824\":\n    \"Iron or non-alloy steel; in coils, flat-rolled, width 600mm or more, hot-rolled, less than 3mm thick, excluding minimum yield point of 275MPa\",\n  \"720825\":\n    \"Iron or non-alloy steel; in coils, without patterns in relief, flat-rolled, of a width 600mm or more, hot-rolled, pickled, of a thickness of 4.75mm or more\",\n  \"720826\":\n    \"Iron or non-alloy steel; in coils, without patterns in relief, flat-rolled, of a width 600mm or more, hot-rolled, pickled, of a thickness of 3mm or more but less than 4.75mm\",\n  \"720827\":\n    \"Iron or non-alloy steel; in coils, without patterns in relief, flat-rolled, of a width 600mm or more, hot-rolled, pickled, of a thickness of less than 3mm\",\n  \"720831\":\n    \"Iron or non-alloy steel; not in coils, flat-rolled, width not over 1250mm hot-rolled, thickness not less than 4mm, having a minimum yield point of 355MPa, without patterns in relief\",\n  \"720832\":\n    \"Iron or non-alloy steel; not in coils, flat-rolled, hot-rolled, thickness exceeding 10mm, and a minimum yield point of 355MPa\",\n  \"720833\":\n    \"Iron or non-alloy steel; not in coils, flat-rolled, hot-rolled, thickness of 4.75mm or more but not exceeding 10mm, having a minimum yield point of 355MPa\",\n  \"720834\":\n    \"Iron or non-alloy steel; not in coils, flat-rolled, hot-rolled, thickness of 3mm or more but less than 4.75mm, having a minimum yield point of 355MPa\",\n  \"720835\":\n    \"Iron or non-alloy steel; not in coils, flat-rolled, hot-rolled, thickness less than 3mm, having a minimum yield point of 275MPa\",\n  \"720836\":\n    \"Iron or non-alloy steel; in coils, without patterns in relief, flat-rolled, of a width 600mm or more, hot-rolled, of a thickness exceeding 10mm\",\n  \"720837\":\n    \"Iron or non-alloy steel; in coils, without patterns in relief, flat-rolled, of a width 600mm or more, hot-rolled, of a thickness of 4.75mm or more but not exceeding 10mm\",\n  \"720838\":\n    \"Iron or non-alloy steel; in coils, without patterns in relief, flat-rolled, of a width 600mm or more, hot-rolled, of a thickness of 3mm or more but less than 4.75mm\",\n  \"720839\":\n    \"Flat rolled iron or non-alloy steel coils; without patterns, width >600mm, hot-rolled, thickness <3mm\",\n  \"720840\":\n    \"Iron or non-alloy steel; (not in coils), flat-rolled, of a width 600mm or more, hot-rolled, with patterns in relief\",\n  \"720841\":\n    \"Iron or non-alloy steel; not in coils, flat-rolled, hot-rolled, width not exceeding 1250mm and not less than 4mm thick, without patterns in relief, excluding minimum yield point of 355MPa\",\n  \"720842\":\n    \"Iron or non-alloy steel; not in coils, flat-rolled, hot-rolled, thickness exceeding 10mm, excluding minimum yield point of 355MPa\",\n  \"720843\":\n    \"Iron or non-alloy steel; not in coils, flat-rolled, hot-rolled, thickness of 4.75mm or more but not exceeding 10mm, excluding minimum yield point of 355MPa\",\n  \"720844\":\n    \"Iron or non-alloy steel; not in coils, flat-rolled, hot-rolled, thickness of 3mm or more but less than 4.75mm, excluding minimum yield point of 355MPa\",\n  \"720845\":\n    \"Iron or non-alloy steel; not in coils, flat-rolled, hot-rolled, thickness less than 3mm, excluding minimum yield point of 275MPa\",\n  \"720851\":\n    \"Iron or non-alloy steel; (not in coils), flat-rolled, of a width 600mm or more, hot-rolled, without patterns in relief, of a thickness exceeding 10mm\",\n  \"720852\":\n    \"Iron or non-alloy steel; (not in coils), flat-rolled, of a width 600mm or more, hot-rolled, without patterns in relief, of a thickness of 4.75mm or more but not exceeding 10mm\",\n  \"720853\":\n    \"Iron or non-alloy steel; (not in coils), flat-rolled, of a width 600mm or more, hot-rolled, without patterns in relief, of a thickness of 3mm or more but less than 4.75mm\",\n  \"720854\":\n    \"Iron or non-alloy steel; (not in coils), flat-rolled, of a width 600mm or more, hot-rolled, without patterns in relief, of a thickness of less than 3mm\",\n  \"720890\":\n    \"Iron or non-alloy steel; flat-rolled, hot-rolled, of a width 600mm or more, n.e.c. in heading no. 7208\",\n  \"720911\":\n    \"Iron or non-alloy steel; in coils, flat-rolled, width 600mm or more, cold-rolled, thickness of 3mm or more and having a minimum yield point of 355MPa\",\n  \"720912\":\n    \"Iron or non-alloy steel; in coils, flat-rolled, width 600mm or more, cold-rolled, thickness exceeding 1mm but less than 3mm and having a minimum yield point of 275MPa\",\n  \"720913\":\n    \"Iron or non-alloy steel; in coils, flat-rolled, width 600mm or more, cold-rolled, thickness of 0.5mm or more but not exceeding 1mm and having a minimum yield point of 275MPa\",\n  \"720914\":\n    \"Iron or non-alloy steel; in coils, flat-rolled, width 600mm or more, cold-rolled, thickness less than 0.5mm and having a minimum yield point of 275MPa\",\n  \"720915\":\n    \"Iron or non-alloy steel; in coils, flat-rolled, width 600mm or more, cold-rolled, of a thickness of 3mm or more\",\n  \"720916\":\n    \"Iron or non-alloy steel; in coils, flat-rolled, width 600mm or more, cold-rolled, of a thickness exceeding 1mm but less than 3mm\",\n  \"720917\":\n    \"Iron or non-alloy steel; in coils, flat-rolled, width 600mm or more, cold-rolled, of a thickness of 0.5mm or more but not exceeding 1mm\",\n  \"720918\":\n    \"Iron or non-alloy steel; in coils, flat-rolled, width 600mm or more, cold-rolled, of a thickness of less than 0.5mm\",\n  \"720921\":\n    \"Iron or non-alloy steel; in coils, flat-rolled, width 600mm or more, cold-rolled, thickness 3mm or more, excluding minimum yield point of 355MPa\",\n  \"720922\":\n    \"Iron or non-alloy steel; in coils, flat-rolled, width 600mm or more, cold-rolled, thickness exceeding 1mm but less than 3mm, excluding minimum yield point of 275MPa\",\n  \"720923\":\n    \"Iron or non-alloy steel; in coils, flat-rolled, width 600mm or more, cold-rolled of a thickness of 0.5mm or more but not exceeding 1mm, excluding minimum yield point of 275MPa\",\n  \"720924\":\n    \"Iron or non-alloy steel; in coils, flat-rolled, width 600mm or more, cold-rolled of a thickness of less than 0.5mm, excluding minimum yield point of 275MPa\",\n  \"720925\":\n    \"Iron or non-alloy steel; (not in coils), flat-rolled, width 600mm or more, cold-rolled, of a thickness of 3mm or more\",\n  \"720926\":\n    \"Iron or non-alloy steel; (not in coils), flat-rolled, width 600mm or more, cold-rolled, of a thickness exceeding 1mm but less than 3mm\",\n  \"720927\":\n    \"Iron or non-alloy steel; (not in coils), flat-rolled, width 600mm or more, cold-rolled, of a thickness of 0.5mm or more but not exceeding 1mm\",\n  \"720928\":\n    \"Iron or non-alloy steel; (not in coils), flat-rolled, width 600mm or more, cold-rolled, of a thickness of less than 0.5mm\",\n  \"720931\":\n    \"Iron or non-alloy steel; not in coils, flat-rolled, width 600mm or more, cold-rolled of a thickness of 3mm or more, having a minimum yield point of 355MPa\",\n  \"720932\":\n    \"Iron or non-alloy steel; not in coils, flat-rolled, width 600mm or more, cold-rolled, thickness exceeding 1mm but less than 3mm, having a minimum yield point of 275MPa\",\n  \"720933\":\n    \"Iron or non-alloy steel; not in coils, flat-rolled, width 600mm or more, cold-rolled, thickness of 0.5mm or more but not exceeding 1mm, having a minimum yield point of 275MPa\",\n  \"720934\":\n    \"Iron or non-alloy steel; not in coils, flat-rolled, width 600mm or more, cold-rolled, thickness of less than 0.5mm, having a minimum yield point of 275MPa\",\n  \"720941\":\n    \"Iron or non-alloy steel; not in coils, flat-rolled, width 600mm or more, cold-rolled, thickness of 3mm or more, excluding minimum yield point of 355MPa\",\n  \"720942\":\n    \"Iron or non-alloy steel; not in coils, flat-rolled, width 600mm or more, cold-rolled, thickness exceeding 1mm but less than 3mm, excluding minimum yield point of 275MPa\",\n  \"720943\":\n    \"Iron or non-alloy steel; not in coils, flat-rolled, width 600mm or more, cold-rolled, thickness of 0.5mm or more but not exceeding 1mm, excluding minimum yield point of 275MPa\",\n  \"720944\":\n    \"Iron or non-alloy steel; not in coils, flat-rolled, width 600mm or more, cold-rolled, thickness less than 0.5mm, excluding minimum yield point of 275MPa\",\n  \"720990\":\n    \"Iron or non-alloy steel; flat-rolled, width 600mm or more, cold-rolled, n.e.c. in heading no. 7209\",\n  \"721011\":\n    \"Iron or non-alloy steel; flat-rolled, width 600mm or more, plated or coated with tin, thickness of 0.5mm or more\",\n  \"721012\":\n    \"Iron or non-alloy steel; flat-rolled, width 600mm or more, plated or coated with tin, thickness of less than 0.5mm\",\n  \"721020\":\n    \"Iron or non-alloy steel; flat-rolled, width 600mm or more, plated or coated with lead, including terne-plate\",\n  \"721030\":\n    \"Iron or non-alloy steel; flat-rolled, width 600mm or more, electrolytically plated or coated with zinc\",\n  \"721031\":\n    \"Iron or non-alloy steel; flat-rolled, width 600mm or more, less than 3mm thick with minimum yield point 275MPa or 3mm or more thick with minimum yield point of 355MPa, electrolytically coated with zinc\",\n  \"721039\":\n    \"Iron or non-alloy steel; flat-rolled, width 600mm or more, n.e.s. in item no. 7210.31, electrolytically plated or coated with zinc\",\n  \"721041\":\n    \"Iron or non-alloy steel; flat-rolled, width 600mm or more, corrugated, plated or coated with zinc (not electrolytically)\",\n  \"721049\":\n    \"Flat rolled iron or non-alloy steel; width >600mm, coated with zinc\",\n  \"721050\":\n    \"Iron or non-alloy steel; flat-rolled, width 600mm or more, plated or coated with chromium oxides or with chromium and chromium oxides\",\n  \"721060\":\n    \"Iron or non-alloy steel; flat-rolled, width 600mm or more, plated or coated with aluminium\",\n  \"721061\":\n    \"Iron or non-alloy steel; flat-rolled, width 600mm or more, plated or coated with aluminium zinc-alloys\",\n  \"721069\":\n    \"Iron or non-alloy steel; flat-rolled, width 600mm or more, plated or coated with aluminium, other than plated or coated with aluminium zinc-alloys\",\n  \"721070\":\n    \"Flat rolled iron or non-alloy steel; width >600mm, coated with plastics\",\n  \"721090\":\n    \"Iron or non-alloy steel; flat-rolled, width 600mm or more, plated or coated with materials n.e.c. in heading no. 7210\",\n  \"721111\":\n    \"Iron or non-alloy steel; flat-rolled, hot-rolled, width exceeding 150mm, 4mm or more thick, minimum yield point of 355MPa, not in coils and without patterns in relief\",\n  \"721112\":\n    \"Iron or non-alloy steel; flat-rolled, hot-rolled, 4.75mm or more thick, minimum yield point of 355MPa, width less than 600mm\",\n  \"721113\":\n    \"Iron or non-alloy steel; flat-rolled, hot-rolled, rolled on four faces or in a closed box pass, of a width more than 150mm but less than 600mm, 4mm thick or more, not in coils, without patterns in relief\",\n  \"721114\":\n    \"Iron or non-alloy steel; flat-rolled, hot-rolled, of a width less than 600mm, 4.75mm thick or more, excluding those of item no. 7211.13\",\n  \"721119\":\n    \"Iron or non-alloy steel; flat-rolled, hot-rolled, of a width less than 600mm, less than 4.75mm thick, excluding those of item no. 7211.13\",\n  \"721121\":\n    \"Iron or non-alloy steel; flat-rolled, hot-rolled, 4mm or more thick, width over 150mm but less than 600mm, not in coils and without patterns in relief\",\n  \"721122\":\n    \"Iron or non-alloy steel; flat-rolled, hot-rolled, 4.75mm or more thick, width less than 600mm\",\n  \"721123\":\n    \"Iron or non-alloy steel; flat-rolled, cold-rolled, of a width less than 600mm, containing by weight less than 0.25% of carbon\",\n  \"721129\":\n    \"Iron or non-alloy steel; flat-rolled, cold-rolled, of a width less than 600mm, containing by weight 0.25% or more of carbon\",\n  \"721130\":\n    \"Iron or non-alloy steel; flat-rolled, cold-rolled, width less than 600mm, less than 3mm thick with minimum yield point of 275MPa or 3mm or more thick with minimum yield point of 355MPa\",\n  \"721141\":\n    \"Iron or non-alloy steel; flat-rolled, cold-rolled, width less than 600mm, containing by weight less than 0.25% of carbon\",\n  \"721149\":\n    \"Iron or non-alloy steel; flat-rolled, cold-rolled, containing by weight 0.25% or more of carbon, width less than 600mm\",\n  \"721190\":\n    \"Iron or non-alloy steel; flat-rolled, n.e.c. in heading no. 7211, width less than 600mm\",\n  \"721210\":\n    \"Iron or non-alloy steel; flat-rolled, width less than 600mm, plated or coated with tin\",\n  \"721220\":\n    \"Iron or non-alloy steel; flat-rolled, of a width less than 600mm, electrolytically plated or coated with zinc\",\n  \"721221\":\n    \"Iron or non-alloy steel; flat-rolled, width less than 600mm, less than 3mm thick with minimum yield point 275MPa or 3mm or more thick with minimum yield point 355MPa, electrolytically coated with zinc\",\n  \"721229\":\n    \"Iron or non-alloy steel; flat-rolled, width less than 600mm, electrolytically plated or coated with zinc\",\n  \"721230\":\n    \"Iron or non-alloy steel; flat-rolled, width less than 600mm, plated or coated with zinc (not electrolytically)\",\n  \"721240\":\n    \"Iron or non-alloy steel; flat-rolled, width less than 600mm, painted, varnished or coated with plastics\",\n  \"721250\":\n    \"Iron or non-alloy steel; flat-rolled, width less than 600mm, plated or coated, (excluding tin, zinc or plastic)\",\n  \"721260\": \"Iron or non-alloy steel; flat-rolled, width less than 600mm, clad\",\n  \"721310\":\n    \"Iron or non-alloy steel; bars and rods, hot-rolled, in irregularly wound coils, containing indentations, ribs, grooves or other deformations produced during the rolling process\",\n  \"721320\":\n    \"Iron or non-alloy steel; bars and rods, hot-rolled, in irregularly wound coils, of free-cutting steel\",\n  \"721331\":\n    \"Iron or non-alloy steel; bars and rods, hot-rolled, in irregularly wound coils, containing by weight less than 0.25% of carbon, of circular cross-section measuring less than 14mm in diameter\",\n  \"721339\":\n    \"Iron or non-alloy steel; bars and rods, hot-rolled, in irregularly wound coils, containing by weight less than 0.25% of carbon, not of circular cross-section measuring less than 14mm in diameter\",\n  \"721341\":\n    \"Iron or non-alloy steel; bars and rods, hot-rolled, in irregularly wound coils, containing by weight 0.25% or more but less than 0.6% of carbon, of circular cross-section less than 14mm in diameter\",\n  \"721349\":\n    \"Iron or non-alloy steel; bars and rods, hot-rolled, in irregularly wound coils, containing by weight 0.25% or more but less than 0.6% of carbon, other than circular cross-section less than 14mm in diameter\",\n  \"721350\":\n    \"Iron or non-alloy steel; bars and rods, hot-rolled, in irregularly wound coils, containing by weight 0.6% or more of carbon\",\n  \"721391\":\n    \"Iron or non-alloy steel; bars and rods, hot-rolled, in irregularly wound coils, n.e.c. in heading no. 7213, of circular cross-section measuring less than 14mm in diameter\",\n  \"721399\":\n    \"Iron or non-alloy steel; bars and rods, hot-rolled, in irregularly wound coils, n.e.c. in heading no. 7213, of circular cross-section measuring 14mm or more in diameter\",\n  \"721410\":\n    \"Iron or non-alloy steel; bars and rods, forged, hot-rolled, hot-drawn or hot-extruded, but including those twisted after rolling\",\n  \"721420\":\n    \"Iron or non-alloy steel bars and rods; hot-rolled, hot-drawn or hot-extruded, uneven surface\",\n  \"721430\":\n    \"Iron or non-alloy steel; bars and rods, hot-rolled, hot-drawn or hot-extruded, including those twisted after rolling, of free-cutting steel\",\n  \"721440\":\n    \"Iron or non-alloy steel; bars and rods, hot-rolled, hot-drawn or hot-extruded, containing by weight less than 0.25% of carbon, including those twisted after rolling\",\n  \"721450\":\n    \"Iron or non-alloy steel; bars and rods, hot-rolled, hot-drawn or hot-extruded, containing by weight 0.25% or more but less than 0.6% of carbon, including those twisted after rolling\",\n  \"721460\":\n    \"Iron or non-alloy steel; bars and rods, hot-rolled, hot-drawn or hot-extruded, containing by weight 0.6% or more of carbon, including those twisted after rolling\",\n  \"721491\":\n    \"Iron or non-alloy steel; bars and rods, hot-rolled, hot-drawn or hot-extruded, n.e.c. in heading no. 7214, of rectangular (other than square) cross-section\",\n  \"721499\":\n    \"Iron or non-alloy steel; bars and rods, hot-rolled, hot-drawn or hot-extruded, n.e.c. in heading no. 7214, other than of rectangular cross-section\",\n  \"721510\":\n    \"Iron or non-alloy steel; bars and rods, of free-cutting steel, cold-formed or cold-finished, n.e.c. in chapter 72\",\n  \"721520\":\n    \"Iron or non-alloy steel; bars and rods, cold-formed or cold-finished, containing by weight less than 0.25% of carbon\",\n  \"721530\":\n    \"Iron or non-alloy steel; bars and rods, cold-formed or cold-finished, containing by weight 0.25% or more but less than 0.6% of carbon\",\n  \"721540\":\n    \"Iron or non-alloy steel; bars and rods, cold-formed or cold-finished, containing by weight 0.6% or more of carbon\",\n  \"721550\":\n    \"Iron or non-alloy steel; bars and rods, n.e.c. in chapter 72, cold-formed or cold-finished, (not free-cutting)\",\n  \"721590\":\n    \"Iron or non-alloy steel; bars and rods, n.e.c. in chapter 72, n.e.c. in heading no. 7215\",\n  \"721610\":\n    \"Iron or non-alloy steel; U, I or H sections, hot-rolled, hot-drawn or extruded, of a height of less than 80mm\",\n  \"721621\":\n    \"Iron or non-alloy steel; L sections, hot-rolled, hot-drawn or extruded, of a height of less than 80mm\",\n  \"721622\":\n    \"Iron or non-alloy steel; T sections, hot-rolled, hot-drawn or extruded, of a height less than 80mm\",\n  \"721631\":\n    \"Iron or non-alloy steel; U sections, hot-rolled, hot-drawn or extruded, of a height of 80mm or more\",\n  \"721632\":\n    \"Iron or non-alloy steel; I sections, hot-rolled, hot-drawn or extruded, of a height of 80mm or more\",\n  \"721633\":\n    \"Iron or non-alloy steel; H sections, hot-rolled, hot-drawn or extruded, of a height of 80mm or more\",\n  \"721640\":\n    \"Iron or non-alloy steel; L or T sections, hot-rolled, hot-drawn or extruded, of a height of 80mm or more\",\n  \"721650\":\n    \"Iron or non-alloy steel; angles, shapes and sections, n.e.c. in heading no. 7216, hot-rolled, hot-drawn or extruded\",\n  \"721660\":\n    \"Iron or non-alloy steel; angles, shapes and sections, n.e.s. in heading no.7216, cold-formed or cold-finished\",\n  \"721661\":\n    \"Iron or non-alloy steel; angles, shapes and sections, cold-formed or cold-finished, obtained from flat-rolled products\",\n  \"721669\":\n    \"Iron or non-alloy steel; angles, shapes and sections, cold-formed or cold-finished, (not obtained from flat-rolled products)\",\n  \"721690\":\n    \"Iron or non-alloy steel; angles, shapes and sections n.e.s. in heading no. 7216\",\n  \"721691\":\n    \"Iron or non-alloy steel; angles, shapes and sections, n.e.c. in heading no. 7216, cold-formed or cold-finished, from flat-rolled products\",\n  \"721699\":\n    \"Iron or non-alloy steel; angles, shapes and sections, n.e.c. in heading no. 7216\",\n  \"721710\":\n    \"Iron or non-alloy steel; wire, (not plated or coated), whether or not polished\",\n  \"721711\":\n    \"Iron or non-alloy steel; wire, containing by weight less than 0.25% of carbon, not plated or coated, whether or not polished\",\n  \"721712\":\n    \"Iron or non-alloy steel; wire, containing by weight less than 0.25% of carbon, plated or coated with zinc\",\n  \"721713\":\n    \"Iron or non-alloy steel; wire, containing by weight less than 0.25% of carbon, plated or coated with base metals, excluding zinc\",\n  \"721719\":\n    \"Iron or non-alloy steel; wire, containing by weight less than 0.25% of carbon, plated or coated with materials n.e.s. in item no. 7217.1\",\n  \"721720\": \"Iron or non-alloy steel; wire, plated or coated with zinc\",\n  \"721721\":\n    \"Iron or non-alloy steel; wire, containing by weight 0.25% or more but less than 0.6% of carbon, not plated or coated, whether or not polished\",\n  \"721722\":\n    \"Iron or non-alloy steel; wire, containing by weight 0.25% or more but less than 0.6% of carbon, plated or coated with zinc\",\n  \"721723\":\n    \"Iron or non-alloy steel; wire, containing by weight 0.25% or more but less than 0.6% of carbon, plated or coated with base metals, excluding zinc\",\n  \"721729\":\n    \"Iron or non-alloy steel; wire, containing by weight 0.25% or more but less than 0.6% of carbon, plated or coated with materials n.e.s. in item no. 7217.2\",\n  \"721730\":\n    \"Iron or non-alloy steel; wire, plated or coated with base metals (other than zinc)\",\n  \"721731\":\n    \"Iron or non-alloy steel; wire, containing by weight 0.6% or more of carbon, not plated or coated, whether or not polished\",\n  \"721732\":\n    \"Iron or non-alloy steel; wire, containing by weight 0.6% or more of carbon, plated or coated with zinc\",\n  \"721733\":\n    \"Iron or non-alloy steel; wire, containing by weight 0.6% or more of carbon, plated or coated with base metals, excluding zinc\",\n  \"721739\":\n    \"Iron or non-alloy steel; wire, containing by weight 0.6% or more of carbon, plated or coated with materials n.e.s. in item no. 7217.3\",\n  \"721790\": \"Iron or non-alloy steel; wire, n.e.c. in heading no. 7217\",\n  \"721810\": \"Steel, stainless; ingots and other primary forms\",\n  \"721890\": \"Steel, stainless; semi-finished products\",\n  \"721891\":\n    \"Steel, stainless; semi-finished products, of rectangular (other than square) cross-section\",\n  \"721899\":\n    \"Steel, stainless; semi-finished products, other than of rectangular cross-section\",\n  \"721911\":\n    \"Steel, stainless; flat-rolled, width 600mm or more, hot-rolled, in coils, of a thickness exceeding 10mm\",\n  \"721912\":\n    \"Steel, stainless; flat-rolled, width 600mm or more, hot-rolled, in coils, of a thickness of 4.75mm or more but not exceeding 10mm\",\n  \"721913\":\n    \"Steel, stainless; flat-rolled, width 600mm or more, hot-rolled, in coils, of a thickness of 3mm or more but less than 4.75mm\",\n  \"721914\":\n    \"Steel, stainless; flat-rolled, width 600mm or more, hot-rolled, in coils, of a thickness of less than 3mm\",\n  \"721921\":\n    \"Steel, stainless; flat-rolled, width 600mm or more, hot-rolled, (not in coils), of a thickness exceeding 10mm\",\n  \"721922\":\n    \"Steel, stainless; flat-rolled, width 600mm or more, hot-rolled, (not in coils), of a thickness of 4.75mm or more but not exceeding 10mm\",\n  \"721923\":\n    \"Steel, stainless; flat-rolled, width 600mm or more, hot-rolled, (not in coils), of a thickness of 3mm or more but less than 4.75mm\",\n  \"721924\":\n    \"Steel, stainless; flat-rolled, width 600mm or more, hot-rolled, (not in coils), of a thickness of less than 3mm\",\n  \"721931\":\n    \"Steel, stainless; flat-rolled, width 600mm or more, cold-rolled or cold-reduced, of a thickness of 4.75mm or more\",\n  \"721932\":\n    \"Steel, stainless; flat-rolled, width 600mm or more, cold-rolled, of a thickness of 3mm or more but less than 4.75mm\",\n  \"721933\":\n    \"Steel, stainless; flat-rolled, width 600mm or more, cold-rolled, of a thickness exceeding 1mm but less than 3mm\",\n  \"721934\":\n    \"Steel, stainless; flat-rolled, width 600mm or more, cold-rolled, of a thickness of 0.5mm or more but not exceeding 1mm\",\n  \"721935\":\n    \"Steel, stainless; flat-rolled, width 600mm or more, cold-rolled, of a thickness of less than 0.5mm\",\n  \"721990\":\n    \"Steel, stainless; flat-rolled, width 600mm or more, n.e.c. in heading no. 7219\",\n  \"722011\":\n    \"Steel, stainless; flat-rolled, width less than 600mm, hot-rolled, of a thickness of 4.75mm or more\",\n  \"722012\":\n    \"Steel, stainless; flat-rolled, width less than 600mm, hot-rolled, of a thickness of less than 4.75mm\",\n  \"722020\": \"Steel, stainless; flat-rolled, width less than 600mm, cold-rolled\",\n  \"722090\":\n    \"Steel, stainless; flat-rolled, width less than 600mm, n.e.c. in heading no 7220\",\n  \"722100\":\n    \"Steel, stainless; bars and rods, hot-rolled, in irregularly wound coils\",\n  \"722210\":\n    \"Steel, stainless; bars and rods, hot-rolled, hot-drawn or extruded\",\n  \"722211\":\n    \"Steel, stainless; bars and rods, hot-rolled, hot-drawn or extruded, of circular cross-section\",\n  \"722219\":\n    \"Steel, stainless; bars and rods, hot-rolled, hot-drawn or extruded, other than of circular cross-section\",\n  \"722220\": \"Steel, stainless; bars and rods, cold-formed or cold-finished\",\n  \"722230\": \"Steel, stainless; bars and rods, n.e.c. in heading no. 7222\",\n  \"722240\": \"Steel, stainless; angles, shapes and sections\",\n  \"722300\": \"Steel, stainless; wire\",\n  \"722410\": \"Steel, alloy; ingots and other primary forms\",\n  \"722490\": \"Steel, alloy; semi-finished products\",\n  \"722510\":\n    \"Steel, alloy; flat-rolled, width 600mm or more, of silicon-electrical steel\",\n  \"722511\":\n    \"Steel, alloy; flat-rolled, width 600mm or more, of silicon-electrical steel, grain-oriented\",\n  \"722519\":\n    \"Steel, alloy; flat-rolled, width 600mm or more, of silicon-electrical steel, (other than grain-oriented)\",\n  \"722520\":\n    \"Steel, alloy; flat-rolled, width 600mm or more, of high speed steel\",\n  \"722530\":\n    \"Steel, alloy; flat-rolled, width 600mm or more, hot-rolled, in coils\",\n  \"722540\":\n    \"Steel, alloy; flat-rolled, width 600mm or more, hot-rolled, not in coils\",\n  \"722550\": \"Steel, alloy; flat-rolled, width 600mm or more, cold-rolled\",\n  \"722590\":\n    \"Steel, alloy; flat-rolled, width 600mm or more, n.e.s. in heading no. 7225\",\n  \"722591\":\n    \"Steel, alloy; flat-rolled, width 600mm or more, n.e.c. in heading no. 7225, electrolytically plated or coated with zinc\",\n  \"722592\":\n    \"Steel, alloy; flat-rolled, width 600mm or more, n.e.c. in heading no. 7225, plated or coated with zinc (other than electrolytically)\",\n  \"722599\":\n    \"Steel, alloy; flat-rolled, width 600mm or more, n.e.c. in heading no. 7225, (other than plated or coated with zinc)\",\n  \"722610\":\n    \"Steel, alloy; flat-rolled, width less than 600mm, of silicon-electrical steel\",\n  \"722611\":\n    \"Steel, alloy; flat-rolled, width less than 600mm, of silicon-electrical steel, grain-oriented\",\n  \"722619\":\n    \"Steel, alloy; flat-rolled, width less than 600mm, of silicon-electrical steel, other than grain-oriented\",\n  \"722620\":\n    \"Steel, alloy; flat-rolled, width less than 600mm, of high speed steel\",\n  \"722691\":\n    \"Steel, alloy; flat-rolled, width less than 600mm, (excluding silicon-electrical or high speed steel), hot-rolled\",\n  \"722692\":\n    \"Steel, alloy; flat-rolled, width less than 600mm, (excluding silicon-electrical or high speed steel), cold-rolled\",\n  \"722693\":\n    \"Steel, alloy; flat-rolled, width less than 600mm, n.e.s. in heading no. 7226, electrolytically plated or coated with zinc\",\n  \"722694\":\n    \"Steel, alloy; flat-rolled, width less than 600mm, n.e.s. in heading no. 7226, plated or coated with zinc (other than electrolytically)\",\n  \"722699\":\n    \"Steel, alloy; flat-rolled, width less than 600mm, n.e.c. in item no. 7226.9\",\n  \"722710\":\n    \"Steel, alloy; bars and rods, hot-rolled, in irregularly wound coils, of high speed steel\",\n  \"722720\":\n    \"Steel, alloy; bars and rods, hot-rolled, in irregularly wound coils, of silico-manganese steel\",\n  \"722790\":\n    \"Steel, alloy; bars and rods, hot-rolled, in irregularly wound coils, n.e.c. in heading no. 7227\",\n  \"722810\": \"Steel, alloy; bars and rods, of high speed steel\",\n  \"722820\": \"Steel, alloy; bars and rods, of silico-manganese steel\",\n  \"722830\": \"Steel, alloy; bars and rods, hot-rolled, hot-drawn or extruded\",\n  \"722840\": \"Steel, alloy; bars and rods, forged\",\n  \"722850\": \"Steel, alloy; bars and rods, cold-formed or cold-finished\",\n  \"722860\": \"Steel, alloy; bars and rods n.e.c. in heading no. 7228\",\n  \"722870\": \"Steel, alloy; angles, shapes and sections\",\n  \"722880\": \"Steel, alloy or non-alloy; hollow drill bars and rods\",\n  \"722910\": \"Steel, alloy; wire, of high speed steel\",\n  \"722920\": \"Steel, alloy; wire, of silico-manganese steel\",\n  \"722990\":\n    \"Steel, alloy; wire, of materials other than silico-manganese steel\",\n  \"730110\":\n    \"Iron or steel; sheet piling, whether or not drilled, punched or made from assembled elements\",\n  \"730120\": \"Iron or steel; angles, shapes and sections, welded\",\n  \"730210\":\n    \"Iron or steel, railway or tramway track construction material; rails\",\n  \"730220\":\n    \"Iron or steel, railway or tramway track construction material; sleepers (cross-ties)\",\n  \"730230\":\n    \"Iron or steel, railway or tramway track construction material; switch blades, crossing frogs, point rods and other crossing pieces\",\n  \"730240\":\n    \"Iron or steel, railway or tramway track construction material; fish-plates and sole plates\",\n  \"730290\":\n    \"Iron or steel, railway or tramway track construction material; n.e.c. in heading no. 7302\",\n  \"730300\": \"Cast iron; tubes, pipes and hollow profiles\",\n  \"730410\":\n    \"Iron or steel (other than cast iron); seamless, line pipe of a kind used for oil or gas pipelines\",\n  \"730411\":\n    \"Iron or steel (excluding cast iron); seamless, line pipe of a kind used for oil or gas pipelines, of stainless steel\",\n  \"730419\":\n    \"Iron or steel (excluding cast iron or stainless steel); seamless, line pipe of a kind used for oil or gas pipelines\",\n  \"730420\":\n    \"Iron or steel (other than cast iron); seamless casing, tubing and drill pipe, of a kind used in drilling for oil or gas\",\n  \"730421\":\n    \"Iron or steel; drill pipe, of a kind used in drilling for oil or gas\",\n  \"730422\":\n    \"Steel, stainless; seamless, drill pipe, of a kind used in drilling for oil or gas\",\n  \"730423\":\n    \"Iron or steel (excluding cast iron or stainless steel); seamless, drill pipe, of a kind used in drilling for oil or gas\",\n  \"730424\":\n    \"Steel, stainless; seamless, casing and tubing, of a kind used in drilling for oil or gas\",\n  \"730429\":\n    \"Iron or steel (excluding cast iron or stainless steel); seamless, casing and tubing, of a kind used in drilling for oil or gas\",\n  \"730431\":\n    \"Iron or non-alloy steel (excluding cast iron); seamless, cold-drawn or cold-rolled, tubes, pipes and hollow profiles of circular cross-section\",\n  \"730439\":\n    \"Iron or non-alloy steel (excluding cast iron); seamless, (excluding cold-drawn or cold-rolled), tubes, pipes and hollow profiles of circular cross-section\",\n  \"730441\":\n    \"Steel, stainless; cold-drawn or cold-rolled (cold-reduced), tubes and pipes of circular cross-section\",\n  \"730449\":\n    \"Steel, stainless; (excluding cold-drawn or cold-rolled), tubes pipes and hollow profiles of circular cross-section\",\n  \"730451\":\n    \"Steel, alloy (not stainless steel); seamless, cold-drawn or cold-rolled (cold-reduced), tubes, pipes and hollow profiles of circular cross-section\",\n  \"730459\":\n    \"Steel, alloy (not stainless steel); (excluding cold-drawn or cold-rolled), tubes, pipes and hollow profiles of circular cross-section\",\n  \"730490\":\n    \"Iron or steel (excluding cast iron); seamless, tubes, pipes and hollow profiles, seamless, n.e.c. in heading no. 7304\",\n  \"730511\":\n    \"Iron or steel (excluding cast iron); line pipe of a kind used for oil or gas pipelines (not seamless), longitudinally submerged arc welded, having circular cross-sections, external diameter exceeds 406.4mm\",\n  \"730512\":\n    \"Iron or steel (excluding cast iron); line pipe of a kind used for oil or gas pipelines (not seamless), longitudinally welded (not submerged arc welded), having circular cross-sections, external diameter exceeds 406.4mm\",\n  \"730519\":\n    \"Iron or steel (excluding cast iron); line pipe of a kind used for oil or gas pipelines (not seamless), (not longitudinally welded), having circular cross-sections, external diameter exceeds 406.4mm\",\n  \"730520\":\n    \"Iron or steel (excluding cast iron); casing of a kind used in drilling for oil or gas (not seamless), having circular cross-sections, external diameter exceeds 406.4mm\",\n  \"730531\":\n    \"Iron or steel (excluding cast iron); tubes and pipes (other than line pipe or casing of a kind used for oil or gas pipelines), longitudinally welded, having circular cross-sections, external diameter exceeds 406.4mm, (not seamless)\",\n  \"730539\":\n    \"Iron or steel (excluding cast iron); tubes and pipes (other than line pipe or casing of a kind used for oil or gas pipelines), welded (not longitudinally welded), having circular cross-sections, external diameter exceeds 406.4mm, (not seamless)\",\n  \"730590\":\n    \"Iron or steel (excluding cast iron); tubes and pipes n.e.c. in heading no. 7305, having circular cross-sections, external diameter exceeds 406.4mm, (not seamless)\",\n  \"730610\":\n    \"Iron or steel; line pipe of a kind used for oil or gas pipelines, n.e.s.\",\n  \"730611\":\n    \"Steel; stainless; line pipe of a kind used for oil or gas pipelines n.e.c. in chapter 73, welded, (not seamless)\",\n  \"730619\":\n    \"Iron or steel (excluding cast iron); line pipe of a kind used for oil or gas pipelines (other than of stainless steel or seamless), n.e.c. in chapter 73\",\n  \"730620\":\n    \"Iron or steel; casing and tubing of a kind used in drilling for oil and gas, n.e.s.\",\n  \"730621\":\n    \"Steel, stainless; casing and tubing of a kind used in drilling for oil and gas, n.e.c. in chapter 73, welded, (not seamless)\",\n  \"730629\":\n    \"Iron or steel (excluding cast iron); casing and tubing of a kind used in drilling for oil and gas (other than stainless steel or seamless), n.e.c. in chapter 73\",\n  \"730630\":\n    \"Iron or non-alloy steel (excluding cast iron); tubes and pipes (not seamless), welded, of circular cross-section, n.e.c. in chapter 73\",\n  \"730640\":\n    \"Steel, stainless; tubes, pipes and hollow profiles, welded, of circular cross-section, n.e.c. in chapter 73\",\n  \"730650\":\n    \"Steel, alloy; tubes, pipes and hollow profiles (other than stainless steel or seamless), welded, of circular cross-section, n.e.c. in chapter 73\",\n  \"730660\":\n    \"Iron or steel; n.e.s. in heading no. 7306, tubes, pipes and hollow profiles, welded, of non-circular cross-section\",\n  \"730661\":\n    \"Iron or steel (excluding cast iron); tubes, pipes and hollow profiles (not seamless), welded, of square or rectangular cross-section, n.e.c. in chapter 73\",\n  \"730669\":\n    \"Iron or steel (excluding cast iron); tubes, pipes and hollow profiles (not seamless), n.e.c. in chapter 73, welded, of non-circular cross-section (not square or rectangular cross-section)\",\n  \"730690\":\n    \"Iron or steel (excluding cast iron); tubes, pipes and hollow profiles (not seamless), n.e.c. in chapter 73\",\n  \"730711\": \"Cast iron; cast fittings, of non-malleable cast iron\",\n  \"730719\":\n    \"Iron or steel; cast fittings, other than of non-malleable cast iron\",\n  \"730721\":\n    \"Steel, stainless; tube or pipe fittings, flanges, of stainless steel\",\n  \"730722\":\n    \"Steel, stainless; tube or pipe fittings, threaded elbows, bends and sleeves\",\n  \"730723\": \"Steel, stainless; tube or pipe fittings, butt welding fittings\",\n  \"730729\":\n    \"Steel, stainless; tube or pipe fittings, n.e.c. in item no. 7307.2\",\n  \"730791\":\n    \"Iron or steel; tube or pipe fittings, flanges, other than stainless steel\",\n  \"730792\":\n    \"Iron or steel; tube or pipe fittings, threaded elbows, bends and sleeves, other than stainless steel\",\n  \"730793\":\n    \"Iron or steel; tube or pipe fittings, butt welding fittings, other than stainless steel\",\n  \"730799\":\n    \"Iron or steel; tube or pipe fittings, n.e.c. in item no. 7307.9, other than stainless steel\",\n  \"730810\":\n    \"Iron or steel; structures and parts thereof, bridges and bridge-sections\",\n  \"730820\":\n    \"Iron or steel; structures and parts thereof, towers and lattice masts\",\n  \"730830\":\n    \"Iron or steel; structures and parts thereof, doors, windows and their frames and thresholds for doors\",\n  \"730840\":\n    \"Iron or steel; structures and parts thereof, props and similar equipment for scaffolding, shuttering or pit-propping\",\n  \"730890\": \"Other iron or steel structures and parts (exclusionary category)\",\n  \"730900\":\n    \"Reservoirs, tanks, vats and similar containers; for any material (excluding compressed or liquefied gas), of iron or steel, capacity exceeding 300l, whether or not lined or heat insulated\",\n  \"731010\":\n    \"Tanks, casks, drums, cans, boxes and similar containers, for any material (excluding compressed or liquefied gas), 50l or more capacity but not exceeding 300l\",\n  \"731021\":\n    \"Cans; which are to be closed by soldering or crimping, for any material (excluding compressed or liquefied gas), less than 50l capacity, of iron or steel\",\n  \"731029\":\n    \"Tanks, casks, drums, boxes and similar containers for any material (excluding compressed or liquefied gas) less than 50l capacity, n.e.c. in item no. 7310.2, of iron or steel\",\n  \"731100\": \"Containers for compressed or liquefied gas, of iron or steel\",\n  \"731210\":\n    \"Iron or steel; stranded wire, ropes and cables, not electrically insulated\",\n  \"731290\":\n    \"Iron or steel; plaited bands, slings and the like, not electrically insulated\",\n  \"731300\":\n    \"Iron of steel; barbed wire, twisted hoop or single flat wire and loosely twisted double wire, used for fencing\",\n  \"731411\":\n    \"Iron or steel; wire cloth (including endless bands), woven products, of stainless steel\",\n  \"731412\":\n    \"Iron or steel; woven cloth, endless bands for machinery, of stainless steel\",\n  \"731413\":\n    \"Iron or steel; woven cloth, endless bands for machinery, (not of stainless steel)\",\n  \"731414\":\n    \"Iron or steel; woven cloth, of stainless steel, (other than endless bands for machinery)\",\n  \"731419\": \"Iron or steel; woven cloth, other than of stainless steel\",\n  \"731420\":\n    \"Iron or steel wire; grill, netting and fencing, welded at intersections, of wire with a maximum cross-sectional dimension of 3mm or more and mesh size 100cm2 or more\",\n  \"731430\":\n    \"Iron or steel wire; grill, netting and fencing, welded at intersections, n.e.s. in item no. 7314.2\",\n  \"731431\":\n    \"Iron or steel wire; grill, netting and fencing, welded at the intersection, n.e.c. in item no. 7314.20, plated or coated with zinc\",\n  \"731439\":\n    \"Iron or steel wire; grill, netting and fencing, welded at the intersection, n.e.c. in item no. 7314.20, (other than plated or coated with zinc)\",\n  \"731441\":\n    \"Iron or steel wire; grill, netting and fencing, plated or coated with zinc\",\n  \"731442\":\n    \"Iron or steel wire; grill, netting and fencing, coated with plastic\",\n  \"731449\":\n    \"Iron or steel wire; grill, netting and fencing, coated with materials other than zinc or plastic\",\n  \"731450\": \"Iron or steel; expanded metal\",\n  \"731511\": \"Chain; articulated link, roller, of iron or steel\",\n  \"731512\": \"Chain; articulated link, (other than roller), of iron or steel\",\n  \"731519\": \"Chain; articulated link parts, of iron or steel\",\n  \"731520\":\n    \"Chain; skid, articulated link chain and parts thereof, of iron or steel\",\n  \"731581\": \"Chain; stud-link chain, of iron or steel\",\n  \"731582\": \"Chain; welded link chain, of iron or steel\",\n  \"731589\": \"Chain; n.e.c. in heading no. 7315, of iron or steel\",\n  \"731590\": \"Chain; parts n.e.c. in heading no. 7315, of iron or steel\",\n  \"731600\": \"Iron or steel; anchors, grapnels and parts thereof\",\n  \"731700\":\n    \"Iron or steel; nails, tacks, drawing pins, corrugated nails, staples (not those of heading no. 8305) and the like, with heads of other material or not, but excluding articles with heads of copper\",\n  \"731811\": \"Iron or steel; threaded coach screws\",\n  \"731812\": \"Iron or steel; threaded wood screws other than coach screws\",\n  \"731813\": \"Iron or steel; threaded screw hooks and screw rings\",\n  \"731814\": \"Iron or steel; threaded self-tapping screws\",\n  \"731815\":\n    \"Other iron or steel threaded screws and bolts (exclusionary category)\",\n  \"731816\": \"Iron or steel; threaded nuts\",\n  \"731819\":\n    \"Iron or steel; threaded screws, bolts and nuts n.e.c. in item no. 7318.1\",\n  \"731821\": \"Iron or steel; non-threaded spring washers and other lock washers\",\n  \"731822\": \"Iron or steel; non-threaded washers, excluding spring and lock\",\n  \"731823\": \"Iron or steel; non-threaded rivets\",\n  \"731824\": \"Iron or steel; non-threaded cotters and cotter-pins\",\n  \"731829\": \"Iron or steel; non-threaded articles, n.e.c. in item no. 7318.2\",\n  \"731910\":\n    \"Iron or steel; sewing, darning or embroidery needles, for use in the hand\",\n  \"731920\": \"Safety pins, of iron or steel\",\n  \"731930\":\n    \"Pins (other than safety pins), of iron or steel, not elsewhere specified or included\",\n  \"731940\": \"Safety pins and other pins; of iron or steel\",\n  \"731990\":\n    \"Sewing and knitting needles, bodkins, crochet hooks, embroidery stilettos and similar articles, for use in the hand, not elsewhere specified or included, of iron or steel\",\n  \"732010\": \"Iron or steel; leaf-springs and leaves therefor\",\n  \"732020\": \"Iron or steel; helical springs and leaves for springs\",\n  \"732090\": \"Iron or steel; springs n.e.c. in heading no. 7320\",\n  \"732111\":\n    \"Cooking appliances and plate warmers; for gas fuel or for both gas and other fuels, of iron or steel\",\n  \"732112\":\n    \"Cooking appliances and plate warmers; for liquid fuel, of iron or steel\",\n  \"732113\":\n    \"Cooking appliances and plate warmers; for solid fuel, of iron or steel\",\n  \"732119\":\n    \"Cooking appliances and plate warmers; for solid fuel and fuels other than gas or liquid, of iron or steel\",\n  \"732181\":\n    \"Domestic appliances; non-electric, (other than cookers and plate warmers), for gas fuel or for both gas and other fuels, of iron or steel\",\n  \"732182\":\n    \"Domestic appliances; non-electric, (other than cookers and plate warmers), for liquid fuel, of iron or steel\",\n  \"732183\":\n    \"Domestic appliances; non-electric, (other than cookers and plate warmers), for solid fuel, of iron or steel\",\n  \"732189\":\n    \"Domestic appliances; non-electric, (other than cookers and plate warmers), for solid fuel and fuels other than gas or liquid, of iron or steel\",\n  \"732190\":\n    \"Domestic appliances; non-electric, parts thereof, of iron or steel\",\n  \"732211\":\n    \"Radiators and parts thereof; for central heating, (not electrically heated), of cast iron\",\n  \"732219\":\n    \"Radiators and parts thereof; for central heating, (not electrically heated), of iron or steel other than cast iron\",\n  \"732290\":\n    \"Air heaters and hot air distributors, (not electrically heated), incorporating a motor-driven fan or blower and parts thereof, of iron or steel\",\n  \"732310\":\n    \"Iron or steel; wool, pot scourers and scouring or polishing pads, gloves and the like\",\n  \"732391\":\n    \"Cast iron; table, kitchen and other household articles and parts thereof, of cast iron, not enamelled\",\n  \"732392\":\n    \"Cast iron; table, kitchen and other household articles and parts thereof, of cast iron, enamelled\",\n  \"732393\":\n    \"Steel, stainless; table, kitchen and other household articles and parts thereof\",\n  \"732394\":\n    \"Iron (excluding cast) or steel; table, kitchen and other household articles and parts thereof, enamelled\",\n  \"732399\":\n    \"Iron or steel; table, kitchen and other household articles and parts thereof, of iron or steel n.e.c. in heading no. 7323\",\n  \"732410\": \"Steel; sinks and wash basins, of stainless steel\",\n  \"732421\": \"Cast iron, baths, whether or not enamelled\",\n  \"732429\": \"Iron (other than cast) or steel; baths\",\n  \"732490\":\n    \"Iron or steel; sanitary ware and parts thereof, excluding sinks, wash basins and baths\",\n  \"732510\": \"Iron; articles of non-malleable cast iron\",\n  \"732591\":\n    \"Iron; grinding balls and similar articles for mills, other than of non-malleable cast iron\",\n  \"732599\":\n    \"Iron or steel; cast articles, excluding grinding balls and similar articles for mills, other than of non-malleable cast iron\",\n  \"732611\":\n    \"Iron or steel; grinding balls and similar articles for mills, forged or stamped, but not further worked\",\n  \"732619\":\n    \"Iron or steel; articles n.e.c. in item no. 7326.11, forged or stamped, but not further worked\",\n  \"732620\": \"Iron or steel; wire articles\",\n  \"732690\": \"Other iron or steel articles (exclusionary category)\",\n  \"740100\": \"Copper mattes; cement copper (precipitated copper)\",\n  \"740110\": \"Copper; copper mattes\",\n  \"740120\": \"Copper; cement copper (precipitated copper)\",\n  \"740200\": \"Copper; copper anodes for electrolytic refining, unrefined\",\n  \"740311\": \"Copper cathodes and sections of cathodes; refined, unwrought\",\n  \"740312\": \"Copper; refined, unwrought, wire-bars\",\n  \"740313\": \"Copper; refined, unwrought, billets\",\n  \"740319\": \"Copper; refined, unwrought, n.e.c. in item no. 7403.1\",\n  \"740321\": \"Copper; copper-zinc base alloys (brass) unwrought\",\n  \"740322\": \"Copper; copper-tin base alloys (bronze) unwrought\",\n  \"740323\":\n    \"Copper; copper-nickel base alloys (cupro-nickel) or copper-nickel-zinc base alloys (nickel silver) unwrought\",\n  \"740329\":\n    \"Copper; copper alloys n.e.c. in heading no. 7403 (other than master alloys of heading no. 7405)\",\n  \"740400\": \"Copper waste and scrap\",\n  \"740500\": \"Copper; master alloys of copper\",\n  \"740610\": \"Copper; powders of non-lamellar structure\",\n  \"740620\": \"Copper; powders of lamellar structure, flakes\",\n  \"740710\": \"Copper; bars, rods and profiles, of refined copper\",\n  \"740721\":\n    \"Copper; bars, rods and profiles, of copper-zinc base alloys (brass)\",\n  \"740722\":\n    \"Copper; bars, rods and profiles, of copper-nickel base alloys (cupro-nickel) or copper-nickel-zinc base alloys (nickel silver)\",\n  \"740729\":\n    \"Copper; bars, rods and profiles, of copper alloys (other than copper-zinc base alloys)\",\n  \"740811\": \"Refined copper wire; cross-section >6mm\",\n  \"740819\":\n    \"Copper; wire, of refined copper, of which the maximum cross-sectional dimension is 6mm or less\",\n  \"740821\": \"Copper; wire, of copper-zinc base alloys (brass)\",\n  \"740822\":\n    \"Copper; wire, of copper-nickel base alloys (cupro-nickel) or copper-nickel-zinc base alloys (nickel silver)\",\n  \"740829\":\n    \"Copper; wire, of copper alloys (other than copper-zinc base alloys, copper-nickel base alloys or copper-nickel-zinc base alloys)\",\n  \"740911\":\n    \"Copper; strip, of a thickness exceeding 0.15mm, of refined copper, in coils\",\n  \"740919\":\n    \"Copper; plates and sheets, of a thickness exceeding 0.15mm, of refined copper, not in coils\",\n  \"740921\":\n    \"Copper; strip, of a thickness exceeding 0.15mm, of copper-zinc base alloys (brass), in coils\",\n  \"740929\":\n    \"Copper; plates and sheets, of a thickness exceeding 0.15mm, of copper-zinc base alloys (brass), not in coils\",\n  \"740931\":\n    \"Copper; strip, of a thickness exceeding 0.15mm, of copper-tin base alloys (bronze), in coils\",\n  \"740939\":\n    \"Copper; plates and sheets, of a thickness exceeding 0.15mm, of copper-tin base alloys, not in coils\",\n  \"740940\":\n    \"Copper; plates, sheets and strip, of a thickness exceeding 0.15mm, of copper-nickel base alloys (cupro-nickel) or copper-nickel-zinc base alloys (nickel silver)\",\n  \"740990\":\n    \"Copper; plates, sheets and strip, of a thickness exceeding 0.15mm, of copper alloys (other than copper-zinc base alloys, copper-tin base alloys, copper-nickel base alloys or copper-nickel-zinc base alloys)\",\n  \"741011\":\n    \"Copper; foil, not backed, of a thickness not exceeding 0.15mm, of refined copper\",\n  \"741012\":\n    \"Copper; foil, not backed, of a thickness not exceeding 0.15mm, of copper alloys\",\n  \"741021\":\n    \"Copper; foil, backed with paper, paperboard, plastics or similar backing material, of a thickness (excluding any backing) not exceeding 0.15mm, of refined copper\",\n  \"741022\":\n    \"Copper; foil, backed with paper, paperboard, plastics or similar backing material, of a thickness (excluding any backing) not exceeding 0.15mm, of copper alloys\",\n  \"741110\": \"Copper; tubes and pipes, of refined copper\",\n  \"741121\": \"Copper; tubes and pipes, of copper-zinc base alloys (brass)\",\n  \"741122\":\n    \"Copper; tubes and pipes, of copper-nickel base alloys (cupro-nickel) or copper-nickel-zinc base alloys (nickel silver)\",\n  \"741129\":\n    \"Copper; tubes and pipes, of copper alloys (other than copper-zinc, copper-nickel base alloys (cupro-nickel) or copper-nickel-zinc base alloys (nickel-silver))\",\n  \"741210\":\n    \"Copper; tube or pipe fittings (e.g. couplings, elbows, sleeves) of refined copper\",\n  \"741220\":\n    \"Copper; tube or pipe fittings (e.g. couplings, elbows, sleeves) of copper alloys\",\n  \"741300\":\n    \"Copper; stranded wire, cables, plaited bands and the like, not electrically insulated\",\n  \"741410\": \"Copper; cloth, endless bands, for machinery, of copper wire\",\n  \"741420\": \"Copper; cloth of copper wire\",\n  \"741490\":\n    \"Copper; grill and netting, of copper wire, expanded metal of copper\",\n  \"741510\":\n    \"Copper; nails and tacks, drawing pins, staples and similar articles of copper, or of iron or steel with copper heads\",\n  \"741521\": \"Copper; washers, (including spring washers), not threaded\",\n  \"741529\":\n    \"Copper; rivets, cotters, cotter-pins and similar articles, not threaded\",\n  \"741531\": \"Copper; screws for wood, threaded\",\n  \"741532\":\n    \"Copper; screws (excluding screws for wood), bolts and nuts, threaded\",\n  \"741533\": \"Copper; screws, bolts and nuts, threaded\",\n  \"741539\": \"Copper; articles n.e.c. in heading no. 7415\",\n  \"741600\": \"Copper springs\",\n  \"741700\":\n    \"Copper; cooking or heating apparatus of a kind used for domestic purposes, non-electric, and parts thereof\",\n  \"741810\":\n    \"Copper; table, kitchen or other household articles and parts thereof; pot scourers and scouring or polishing pads, gloves and the like\",\n  \"741811\":\n    \"Copper; pot scourers and scouring or polishing pads, gloves and the like\",\n  \"741819\":\n    \"Copper; table, kitchen or other household articles and parts thereof, (other than pot scourers and scouring or polishing pads, gloves and the like)\",\n  \"741820\": \"Copper; sanitary ware and parts thereof\",\n  \"741910\": \"Copper; chain and parts thereof\",\n  \"741920\": \"Copper; cast, moulded, stamped or forged, but not further worked\",\n  \"741980\": \"Copper; articles thereof n.e.c. in chapter 74\",\n  \"741991\": \"Copper; cast, moulded, stamped or forged, but not further worked\",\n  \"741999\": \"Copper; articles n.e.c. in heading no. 7419\",\n  \"750110\": \"Nickel; nickel mattes\",\n  \"750120\":\n    \"Nickel; oxide sinters and other intermediate products of nickel metallurgy\",\n  \"750210\": \"Nickel; unwrought, not alloyed\",\n  \"750220\": \"Nickel; unwrought, alloys\",\n  \"750300\": \"Nickel; waste and scrap\",\n  \"750400\": \"Nickel; powders and flakes\",\n  \"750511\": \"Nickel; bars, rods and profiles, not alloyed\",\n  \"750512\": \"Nickel; bars, rods and profiles, of nickel alloys\",\n  \"750521\": \"Nickel; wire, not alloyed\",\n  \"750522\": \"Nickel; wire, of nickel alloys\",\n  \"750610\": \"Nickel; plates, sheets, strip and foil, not alloyed\",\n  \"750620\": \"Nickel; plates, sheets, strip and foil, of nickel alloys\",\n  \"750711\": \"Nickel; tubes and pipes, not alloyed\",\n  \"750712\": \"Nickel; tubes and pipes, of nickel alloys\",\n  \"750720\": \"Nickel; tube and pipe fittings\",\n  \"750800\": \"Nickel; other articles thereof n.e.s.\",\n  \"750810\": \"Nickel; cloth, grill and netting, of nickel wire\",\n  \"750890\": \"Nickel; articles thereof n.e.c. in item no. 7508.1\",\n  \"760110\": \"Aluminium unwrought; not alloyed\",\n  \"760120\": \"Aluminium unwrought; alloyed\",\n  \"760200\": \"Aluminium waste and scrap\",\n  \"760310\": \"Aluminium; powders of non-lamellar structure\",\n  \"760320\": \"Aluminium; powders of lamellar structure, flakes\",\n  \"760410\": \"Aluminium; (not alloyed), bars, rods and profiles\",\n  \"760421\": \"Aluminium; alloys, hollow profiles\",\n  \"760429\": \"Aluminium; alloys, bars, rods and profiles, other than hollow\",\n  \"760511\":\n    \"Aluminium; (not alloyed), wire, maximum cross-sectional dimension exceeds 7mm\",\n  \"760519\":\n    \"Aluminium; (not alloyed), wire, maximum cross-sectional dimension is 7mm or less\",\n  \"760521\":\n    \"Aluminium; alloys, wire, maximum cross-sectional dimension exceeding 7mm\",\n  \"760529\":\n    \"Aluminium; alloys, wire, maximum cross-sectional dimension is 7mm or less\",\n  \"760611\":\n    \"Aluminium; plates, sheets and strip, thickness exceeding 0.2mm, (not alloyed), rectangular (including square)\",\n  \"760612\": \"Aluminium alloy rectangular plate/sheet/strip; thickness >0.2mm\",\n  \"760691\":\n    \"Aluminium; plates, sheets and strip, thickness exceeding 0.2mm, not alloyed, (not rectangular or square)\",\n  \"760692\":\n    \"Aluminium; plates, sheets and strip, thickness exceeding 0.2mm, alloys, (not rectangular or square)\",\n  \"760711\":\n    \"Aluminium; foil, (not backed), rolled (but not further worked), of a thickness not exceeding 0.2mm\",\n  \"760719\":\n    \"Aluminium; foil, (not backed), of a thickness not exceeding 0.2mm, not rolled\",\n  \"760720\":\n    \"Aluminium; foil, backed with paper, paperboard, plastics or similar backing materials, of a thickness (excluding any backing) not exceeding 0.2mm\",\n  \"760810\": \"Aluminium; tubes and pipes, not alloyed\",\n  \"760820\": \"Aluminium; tubes and pipes, alloys\",\n  \"760900\":\n    \"Aluminium; tube or pipe fittings (e.g. couplings, elbows, sleeves)\",\n  \"761010\":\n    \"Aluminium; structures (excluding prefabricated buildings of heading no. 9406) and parts of structures, doors, windows and their frames and thresholds for doors\",\n  \"761090\":\n    \"Aluminium; structures (excluding prefabricated buildings of heading no. 9406) and parts of structures, n.e.c. in heading no. 7610, plates, rods, profiles, tubes and the like\",\n  \"761100\":\n    \"Aluminium; reservoirs, tanks, vats and similar containers, for material (not compressed or liquefied gas), of a capacity over 300l, whether or not lined, not fitted with mechanical/thermal equipment\",\n  \"761210\":\n    \"Aluminium; collapsible tubular containers, for any material, (not compressed or liquefied gas), 300l capacity or less, whether or not lined, not fitted with mechanical/thermal equipment\",\n  \"761290\":\n    \"Aluminium; casks, drums, cans, boxes and the like for any material (not compressed or liquefied gas), 300l capacity or less, whether or not lined or heat-insulated, no mechanical or thermal equipment\",\n  \"761300\": \"Aluminium; containers for compressed or liquefied gas\",\n  \"761410\":\n    \"Aluminium; stranded wire, cables, plaited bands and the like, (not electrically insulated), with steel core\",\n  \"761490\":\n    \"Aluminium; stranded wire, cables, plaited bands and the like, (not electrically insulated), other than steel core\",\n  \"761510\":\n    \"Aluminium; table, kitchen or other household articles and parts thereof; pot scourers and scouring or polishing pads, gloves and the like\",\n  \"761511\":\n    \"Aluminium; pot scourers and scouring or polishing pads, gloves and the like\",\n  \"761519\":\n    \"Aluminium; table, kitchen or other household articles and parts thereof, n.e.c. in item no. 7615.11\",\n  \"761520\": \"Aluminium; sanitary ware and parts thereof\",\n  \"761610\":\n    \"Aluminium; nails, tacks, staples (other than those of heading no. 8305), screws, bolts, nuts, screw hooks, rivets, cotters, cotter-pins, washers and similar articles\",\n  \"761690\": \"Aluminium; articles n.e.s. in heading no. 7616\",\n  \"761691\": \"Aluminium; cloth, grill, netting and fencing, of aluminium wire\",\n  \"761699\": \"Other aluminium articles (exclusionary category)\",\n  \"780110\": \"Lead; unwrought, refined\",\n  \"780191\":\n    \"Lead; unwrought, unrefined, containing by weight antimony as the principal other element\",\n  \"780199\":\n    \"Lead; unwrought, unrefined, not containing by weight antimony as the principal other element\",\n  \"780200\": \"Lead; waste and scrap\",\n  \"780300\": \"Lead; bars, rods, profiles and wire\",\n  \"780411\":\n    \"Lead; sheets, strip and foil, of a thickness (excluding any backing) not exceeding 0.2mm\",\n  \"780419\":\n    \"Lead; plates, sheets, strip and foil, of a thickness (excluding any backing) exceeding 0.2mm\",\n  \"780420\": \"Lead; powders and flakes\",\n  \"780500\":\n    \"Lead; tubes, pipes and tube or pipe fittings (eg couplings, elbows, and sleeves)\",\n  \"780600\": \"Lead; articles n.e.c. in chapter 78\",\n  \"790111\":\n    \"Zinc; unwrought, (not alloyed), containing by weight 99.99% or more of zinc\",\n  \"790112\":\n    \"Zinc; unwrought, (not alloyed), containing by weight less than 99.99% of zinc\",\n  \"790120\": \"Zinc; unwrought, alloys\",\n  \"790200\": \"Zinc; waste and scrap\",\n  \"790310\": \"Zinc dust\",\n  \"790390\": \"Zinc; powders and flakes\",\n  \"790400\": \"Zinc; bars, rods, profiles and wire\",\n  \"790500\": \"Zinc; plates, sheets, strip and foil\",\n  \"790600\":\n    \"Zinc; tubes, pipes and tube or pipe fittings (eg couplings, elbows, sleeves)\",\n  \"790700\": \"Zinc; articles n.e.c. in chapter 79\",\n  \"790710\":\n    \"Zinc; gutters, roof capping, skylight frames and other fabricated building components\",\n  \"790790\": \"Zinc; articles n.e.s. in chapter 79\",\n  \"800110\": \"Tin; unwrought, not alloyed\",\n  \"800120\": \"Tin; unwrought, alloys\",\n  \"800200\": \"Tin; waste and scrap\",\n  \"800300\": \"Tin; bars, rods, profiles and wire\",\n  \"800400\": \"Tin; plates, sheets and strip, of a thickness exceeding 0.2mm\",\n  \"800500\":\n    \"Tin; foil (whether or not printed or backed with paper, paperboard, plastics or similar backing materials), of a thickness (excluding any backing) not exceeding 0.2mm, tin powders and flakes\",\n  \"800510\":\n    \"Tin foil; (whether or not printed or backed with paper, paperboard, plastics or similar backing materials), of a thickness (excluding any backing) not exceeding 0.2mm\",\n  \"800520\": \"Tin; powders and flakes\",\n  \"800600\":\n    \"Tin; tubes, pipes and tube or pipe fittings (eg couplings, elbows, sleeves)\",\n  \"800700\": \"Tin; articles n.e.c. in chapter 80\",\n  \"810110\":\n    \"Tungsten (wolfram); articles thereof, including waste and scrap, powders\",\n  \"810191\":\n    \"Tungsten (wolfram); unwrought, including bars and rods obtained simply by sintering, waste and scrap\",\n  \"810192\":\n    \"Tungsten (wolfram); bars and rods, other than those obtained simply by sintering, profiles, plates, sheets, strip and foil\",\n  \"810193\": \"Tungsten (wolfram); wire\",\n  \"810194\":\n    \"Tungsten (wolfram); unwrought, including bars and rods obtained simply by sintering\",\n  \"810195\":\n    \"Tungsten (wolfram); bars and rods, other than those obtained simply by sintering, profiles, plates, sheets, strip and foil\",\n  \"810196\": \"Tungsten (wolfram); wire\",\n  \"810197\": \"Tungsten (wolfram); waste and scrap\",\n  \"810199\": \"Tungsten (wolfram); articles n.e.c. in heading no. 8101\",\n  \"810210\": \"Molybdenum; articles thereof, including waste and scrap, powders\",\n  \"810291\":\n    \"Molybdenum; unwrought, including bars and rods obtained simply by sintering, waste and scrap\",\n  \"810292\":\n    \"Molybdenum; bars and rods, other than those obtained simply by sintering, profiles, plates, sheets, strip and foil\",\n  \"810293\": \"Molybdenum; wire\",\n  \"810294\":\n    \"Molybdenum; unwrought, including bars and rods obtained simply by sintering\",\n  \"810295\":\n    \"Molybdenum; bars and rods, other than those obtained simply by sintering, profiles, plates, sheets, strip and foil\",\n  \"810296\": \"Molybdenum; wire\",\n  \"810297\": \"Molybdenum; waste and scrap\",\n  \"810299\": \"Molybdenum; articles n.e.c. in heading no. 8102\",\n  \"810310\":\n    \"Tantalum; unwrought, including bars and rods obtained simply by sintering, waste and scrap, powders\",\n  \"810320\":\n    \"Tantalum; unwrought, including bars and rods obtained simply by sintering, powders\",\n  \"810330\": \"Tantalum; waste and scrap\",\n  \"810390\": \"Tantalum; articles n.e.c. in heading no. 8103\",\n  \"810391\": \"Tantalum; crucibles\",\n  \"810399\": \"Tantalum; articles n.e.c. in heading no. 8103\",\n  \"810411\":\n    \"Magnesium; unwrought, containing at least 99.8% by weight of magnesium\",\n  \"810419\":\n    \"Magnesium; unwrought, containing less than 99.8% by weight of magnesium\",\n  \"810420\": \"Magnesium; waste and scrap\",\n  \"810430\":\n    \"Magnesium; raspings, turnings and granules, graded according to size, powders\",\n  \"810490\": \"Magnesium; articles n.e.c. in heading no. 8104\",\n  \"810510\":\n    \"Cobalt; mattes and other intermediate products of cobalt metallurgy, unwrought cobalt, waste and scrap, powders\",\n  \"810520\":\n    \"Cobalt; mattes and other intermediate products of cobalt metallurgy, unwrought cobalt, powders\",\n  \"810530\": \"Cobalt; waste and scrap\",\n  \"810590\": \"Cobalt; articles n.e.c. in heading no. 8105\",\n  \"810600\": \"Bismuth; articles thereof, including waste and scrap\",\n  \"810610\":\n    \"Bismuth; articles thereof, including waste and scrap, containing more than 99.99% of bismuth, by weight\",\n  \"810690\":\n    \"Bismuth; including articles n.e.c. in heading 8106, including waste and scrap, containing less than or equal to 99.99% of bismuth, by weight\",\n  \"810710\": \"Cadmium; unwrought, waste and scrap, powders\",\n  \"810720\": \"Cadmium; unwrought, powders\",\n  \"810730\": \"Cadmium; waste and scrap\",\n  \"810790\": \"Cadmium; other than unwrought, n.e.c. in heading no. 8107\",\n  \"810810\": \"Titanium; unwrought, waste and scrap\",\n  \"810820\": \"Titanium; unwrought, powders\",\n  \"810830\": \"Titanium; waste and scrap\",\n  \"810890\": \"Titanium; other than unwrought, n.e.c. in heading no. 8108\",\n  \"810910\": \"Zirconium; unwrought, waste and scrap, powders\",\n  \"810920\": \"Zirconium; unwrought, powders\",\n  \"810921\":\n    \"Zirconium; unwrought, powders, containing less than 1 part hafnium to 500 parts zirconium by weight\",\n  \"810929\":\n    \"Zirconium; unwrought, powders, containing not less than 1 part hafnium to 500 parts zirconium by weight\",\n  \"810930\": \"Zirconium; waste and scrap\",\n  \"810931\":\n    \"Zirconium; waste and scrap, containing less than 1 part hafnium to 500 parts zirconium by weight\",\n  \"810939\":\n    \"Zirconium; waste and scrap, containing not less than 1 part hafnium to 500 parts zirconium by weight\",\n  \"810990\": \"Zirconium; other than unwrought, n.e.c. in heading no. 8109\",\n  \"810991\":\n    \"Zirconium; other than unwrought, n.e.c. in heading no. 8109, containing less than 1 part hafnium to 500 parts zirconium by weight\",\n  \"810999\":\n    \"Zirconium; other than unwrought, n.e.c. in heading no. 8109, containing not less than 1 part hafnium to 500 parts zirconium by weight\",\n  \"811000\": \"Antimony; articles thereof, including waste and scrap\",\n  \"811010\": \"Antimony and articles thereof; unwrought antimony, powders\",\n  \"811020\": \"Antimony; waste and scrap\",\n  \"811090\":\n    \"Antimony and articles thereof; wrought, other than waste and scrap\",\n  \"811100\": \"Manganese; articles thereof, including waste and scrap\",\n  \"811211\": \"Beryllium; unwrought, waste and scrap, powders\",\n  \"811212\": \"Beryllium and articles thereof; unwrought beryllium, powders\",\n  \"811213\": \"Beryllium; waste and scrap\",\n  \"811219\":\n    \"Beryllium and articles thereof; wrought other than waste and scrap\",\n  \"811220\": \"Chromium; including waste and scrap\",\n  \"811221\": \"Chromium and articles thereof; unwrought chromium, powders\",\n  \"811222\": \"Chromium; waste and scrap\",\n  \"811229\": \"Chromium and articles thereof; wrought other than waste and scrap\",\n  \"811230\": \"Germanium; including waste and scrap\",\n  \"811231\": \"Hafnium and articles thereof; unwrought, powders, waste and scrap\",\n  \"811239\":\n    \"Hafnium and articles thereof; wrought, other than powders, waste and scrap\",\n  \"811240\": \"Vanadium; including waste and scrap\",\n  \"811241\": \"Rhenium and articles thereof; unwrought, powders, waste and scrap\",\n  \"811249\":\n    \"Rhenium and articles thereof; wrought, other than powders, waste and scrap\",\n  \"811251\": \"Thallium and articles thereof; unwrought thallium, powders\",\n  \"811252\": \"Thallium; waste and scrap\",\n  \"811259\":\n    \"Thallium and articles thereof; other than unwrought thallium, powders or waste and scrap\",\n  \"811261\": \"Cadmium; waste and scrap\",\n  \"811269\": \"Cadmium; other than waste and scrap\",\n  \"811291\":\n    \"Gallium, hafnium, indium, niobium (columbium), rhenium and thallium; articles thereof, unwrought, waste and scrap, powders\",\n  \"811292\":\n    \"Gallium, germanium, hafnium, indium, niobium (columbium), rhenium and vanadium; articles thereof, unwrought, including waste and scrap, powders\",\n  \"811299\":\n    \"Gallium, germanium, hafnium, indium, niobium (columbium), rhenium and vanadium; articles thereof, other than unwrought including waste and scrap and powders\",\n  \"811300\": \"Cermets; articles thereof, including waste and scrap\",\n  \"820110\": \"Tools, hand; spades and shovels\",\n  \"820120\": \"Tools, hand; forks\",\n  \"820130\": \"Tools, hand; mattocks, picks, hoes and rakes\",\n  \"820140\":\n    \"Tools, hand; axes, bill hooks and similar hewing tools, of a kind used in agriculture, horticulture or forestry\",\n  \"820150\": \"Tools, hand; one-handed secateurs (including poultry shears)\",\n  \"820160\":\n    \"Tools, hand; hedge shears, two-handed pruning shears and similar two-handed shears\",\n  \"820190\":\n    \"Tools, hand; forks, scythes, sickles, hay knives, timber wedges, and other hand tools of a kind used in agriculture, horticulture or forestry n.e.c. in heading 8201\",\n  \"820210\": \"Tools, hand; hand saws\",\n  \"820220\": \"Tools, hand; band saw blades\",\n  \"820231\":\n    \"Tools, hand; circular saw blades (including slitting or slotting saw blades), with working part of steel\",\n  \"820232\":\n    \"Tools, hand; circular (including slitting or slotting) saw blades, with working part of materials other than steel\",\n  \"820239\":\n    \"Tools, hand; circular saw blades (including slitting or slotting saw blades), with working part of materials (other than steel)\",\n  \"820240\": \"Tools, hand; chain saw blades\",\n  \"820291\": \"Tools, hand; straight saw blades, for working metal\",\n  \"820299\": \"Tools, hand; saw blades n.e.c. in heading no. 8202\",\n  \"820310\": \"Tools, hand; files, rasps and similar tools\",\n  \"820320\":\n    \"Tools, hand; pliers (including cutting pliers), pincers, tweezers and similar tools\",\n  \"820330\": \"Tools, hand; metal cutting shears and similar tools\",\n  \"820340\":\n    \"Tools, hand; pipe-cutters, bolt croppers, perforating punches and similar tools\",\n  \"820411\":\n    \"Tools, hand; hand-operated spanners and wrenches (including torque meter wrenches but not including tap wrenches), non-adjustable\",\n  \"820412\":\n    \"Tools, hand; hand-operated spanners and wrenches (including torque meter wrenches but not including tap wrenches), adjustable\",\n  \"820420\":\n    \"Tools, hand; interchangeable spanner sockets, with or without handles\",\n  \"820510\": \"Tools, hand; drilling, threading or tapping tools\",\n  \"820520\": \"Tools, hand; hammers and sledge hammers\",\n  \"820530\":\n    \"Tools, hand; planes, chisels, gauges and similar cutting tools for working wood\",\n  \"820540\": \"Tools, hand; screwdrivers\",\n  \"820551\": \"Tools, hand; household tools\",\n  \"820559\":\n    \"Tools, hand; other hand tools (including glaziers diamonds), excluding household tools, drilling, threading or tapping tools, hammers and sledge hammers, planes, chisels, gouges and similar cutting tools for working wood, and screwdrivers\",\n  \"820560\": \"Tools, hand; blow lamps\",\n  \"820570\": \"Tools, hand; vices, clamps and the like\",\n  \"820580\":\n    \"Tools, hand; anvils, portable forges, hand or pedal-operated grinding wheels with frameworks\",\n  \"820590\":\n    \"Tools, hand; n.e.c. in heading 8205, including anvils, portable forges, hand or pedal-operated grinding wheels with frameworks, and sets of articles of two or more of the subheadings in heading 8205\",\n  \"820600\":\n    \"Tools, hand; two or more of heading no. 8202 to 8205, put up in sets for retail sale\",\n  \"820711\":\n    \"Tools, interchangeable; rock drilling or earth-boring tools, whether or not power-operated, with working part of sintered metal carbide or cermets\",\n  \"820712\":\n    \"Tools, interchangeable; rock drilling or earth-boring tools, with working part of materials other than sintered metal carbide or cermets, for machine or hand tools, whether or not power-operated\",\n  \"820713\":\n    \"Tools, interchangeable; rock drilling or earth boring tools, with working part of cermets, whether or not power operated\",\n  \"820719\":\n    \"Tools, interchangeable; rock drilling or earth boring tools, with working part (other than of cermets), whether or not power operated, including parts\",\n  \"820720\":\n    \"Tools, interchangeable; (for machine or hand tools, whether or not power-operated), dies for drawing or extruding metal\",\n  \"820730\":\n    \"Tools, interchangeable; (for machine or hand tools, whether or not power-operated), tools for pressing, stamping or punching\",\n  \"820740\":\n    \"Tools, interchangeable; (for machine or hand tools, whether or not power-operated), tools for tapping or threading\",\n  \"820750\":\n    \"Tools, interchangeable; (for machine or hand tools, whether or not power-operated), tools for drilling (other than rock)\",\n  \"820760\":\n    \"Tools, interchangeable; (for machine or hand tools, whether or not power-operated), for boring or broaching\",\n  \"820770\":\n    \"Tools, interchangeable; (for machine or hand tools, whether or not power-operated), for milling\",\n  \"820780\":\n    \"Tools, interchangeable; (for machine or hand tools, whether or not power-operated), for turning\",\n  \"820790\":\n    \"Tools, interchangeable; (for machine or hand tools, whether or not power-operated), for screw-driving or uses n.e.c. in heading no. 8207\",\n  \"820810\":\n    \"Tools; knives and cutting blades, for machines or for mechanical appliances, for metal working\",\n  \"820820\":\n    \"Tools; knives and cutting blades, for wood working machines or mechanical appliances\",\n  \"820830\":\n    \"Tools; knives and cutting blades, for kitchen appliances or for machines used by the food industry\",\n  \"820840\":\n    \"Tools; knives and cutting blades, for agricultural, horticultural or forestry machines or mechanical appliances\",\n  \"820890\":\n    \"Tools; knives and cutting blades, for machines or mechanical appliances, n.e.c. in heading no. 8208\",\n  \"820900\":\n    \"Tools; plates, sticks, tips and the like for tools, unmounted, of sintered metal carbides or cermets\",\n  \"821000\":\n    \"Tools; hand-operated mechanical appliances, weighing 10kg or less, used in the preparation, conditioning or serving of food or drink\",\n  \"821110\":\n    \"Knives; with cutting blades, serrated or not (including pruning knives), sets of assorted articles, excluding knives and blades of heading no. 8208\",\n  \"821191\":\n    \"Knives; table knives, having fixed cutting blades, serrated or not, excluding knives and blades of heading no. 8208\",\n  \"821192\":\n    \"Knives; having fixed cutting blades, (other than table knives), serrated or not, excluding knives and blades of heading no. 8208\",\n  \"821193\":\n    \"Knives; with cutting blades, (having other than fixed blades), serrated or not, excluding knives and blades of heading no. 8208\",\n  \"821194\":\n    \"Blades; cutting, serrated or not, excluding those of heading no. 8208\",\n  \"821195\": \"Knives; with handles of base metal\",\n  \"821210\": \"Razors\",\n  \"821220\":\n    \"Razors; safety razor blades, including razor blade blanks in strips\",\n  \"821290\": \"Razors; parts n.e.c. in heading no. 8212\",\n  \"821300\": \"Scissors; tailors' shears, similar shears and blades therefore\",\n  \"821410\":\n    \"Cutlery; paper knives, letter openers, erasing knives, pencil sharpeners and blades therefore\",\n  \"821420\": \"Manicure or pedicure sets and instruments; (including nail files)\",\n  \"821490\": \"Cutlery; hair clippers and mincing knives\",\n  \"821510\":\n    \"Cutlery; sets of assorted articles (e.g. spoons, forks, ladles, skimmers, cake-servers, fish-knives, butter-knives, sugar tongs and similar), with at least one article plated with precious metal\",\n  \"821520\":\n    \"Cutlery; sets of assorted articles (e.g. spoons, forks, ladles, skimmers, cake-servers, fish-knives, butter knives, sugar tongs and similar), not plated with precious metal\",\n  \"821591\":\n    \"Cutlery; (e.g. spoons, forks, ladles, skimmers, cake-servers, fish-knives, butter-knives, sugar tongs and similar), plated with precious metal, not in sets\",\n  \"821599\": \"Cutlery; other than plated with precious metal\",\n  \"830110\":\n    \"Padlocks; (key, combination or electrically operated), of base metal\",\n  \"830120\":\n    \"Locks; of a kind used for motor vehicles (key, combination or electrically operated), of base metal\",\n  \"830130\":\n    \"Locks; of a kind used for furniture (key, combination or electrically operated), of base metal\",\n  \"830140\":\n    \"Locks; (other than those for motor vehicles or furniture), (key, combination or electrically operated), of base metal\",\n  \"830150\": \"Clasps and frames with clasps; incorporating locks, of base metal\",\n  \"830160\":\n    \"Locks; parts of padlocks, locks, clasps and frames with clasps incorporating locks, of base metal\",\n  \"830170\": \"Keys; presented separately, of base metal\",\n  \"830210\":\n    \"Hinges; suitable for furniture, doors, staircases, windows, blinds, coachwork, saddlery, trunks, chests, caskets or the like, of base metal\",\n  \"830220\": \"Castors; with mountings, of base metal\",\n  \"830230\":\n    \"Mountings, fittings and similar articles; for motor vehicles, of base metal\",\n  \"830241\":\n    \"Mountings, fittings and similar articles; of base metal, suitable for buildings\",\n  \"830242\":\n    \"Mountings, fittings and similar articles; suitable for furniture of base metal\",\n  \"830249\":\n    \"Mountings, fittings and similar articles; suitable for other than buildings or furniture, of base metal\",\n  \"830250\": \"Hat-racks, hat-pegs, brackets and similar fixtures, of base metal\",\n  \"830260\": \"Automatic door closures; of base metal\",\n  \"830300\":\n    \"Safes; armoured or reinforced, strong-boxes, doors and safe deposit lockers for strong-rooms, cash or deed boxes and the like, of base metal\",\n  \"830400\":\n    \"Office equipment; filing cabinets, card-index cabinets, paper trays, paper rests, pen trays, office-stamp stands and similar office or desk equipment, of base metal, other than office furniture of heading no. 9403\",\n  \"830510\":\n    \"Stationery; fittings for loose-leaf binders or files, of base metal\",\n  \"830520\":\n    \"Stationery; staples in strips, (e.g. for offices, upholstery, packaging), of base metal\",\n  \"830590\":\n    \"Stationery; letter clips, letter corners, paper clips, indexing tags and similar office articles, including parts, of base metal\",\n  \"830610\": \"Bells, gongs and the like; non-electric, of base metal\",\n  \"830621\":\n    \"Statuettes and other ornaments; of base metal plated with precious metal\",\n  \"830629\":\n    \"Statuettes and other ornaments; of base metal other than plated with precious metal\",\n  \"830630\": \"Photograph, picture or similar frames, mirrors; of base metal\",\n  \"830710\": \"Tubing; flexible, with or without fittings, of iron or steel\",\n  \"830790\":\n    \"Tubing; flexible, with or without fittings of base metal, other than those of iron or steel\",\n  \"830810\":\n    \"Hooks, eyes and eyelets; of base metal, of a kind used for clothing, footwear, awnings, handbags, travel goods or other made up articles\",\n  \"830820\": \"Rivets; tubular or bifurcated, of base metal\",\n  \"830890\":\n    \"Clasps, frames with clasps, buckles, buckle clasps; of base metal, of a kind used for clothing & accessories, footwear, jewellery, wrist-watches, books, awnings, leather goods, travel goods, saddlery etc, including parts\",\n  \"830910\": \"Stoppers; corks, of base metal\",\n  \"830990\": \"Stoppers; caps and lids, of base metal\",\n  \"831000\":\n    \"Sign plates, name-plates, address-plates and similar plates, numbers, letters and other symbols; of base metal, excluding those of heading no. 9405\",\n  \"831110\": \"Electrodes; coated, of base metal, for electric arc-welding\",\n  \"831120\": \"Wire; cored, of base metal, for electric arc-welding\",\n  \"831130\":\n    \"Rods and wire; coated rods and cored wire, of base metal, for soldering, brazing or welding by flame\",\n  \"831190\":\n    \"Wires, rods, tubes, plates, electrodes of base metal or metal carbides; of a kind used for soldering, brazing, welding; wires and rods for metal spraying; n.e.c. in item no. 8311\",\n  \"840110\": \"Nuclear reactors\",\n  \"840120\":\n    \"Machinery and apparatus; for isotopic separation, and parts thereof\",\n  \"840130\": \"Fuel elements (cartridges); non-irradiated\",\n  \"840140\": \"Nuclear reactors; parts thereof\",\n  \"840211\":\n    \"Boilers; watertube boilers with a steam production exceeding 45t per hour\",\n  \"840212\":\n    \"Boilers; watertube boilers with a steam production not exceeding 45t per hour\",\n  \"840219\":\n    \"Boilers; vapour generating boilers, including hybrid boilers n.e.c. in heading no. 8402\",\n  \"840220\": \"Boilers; super-heated water boilers\",\n  \"840290\": \"Boilers; parts of steam or other vapour generating boilers\",\n  \"840310\":\n    \"Boilers; central heating boilers (excluding those of heading no. 8402)\",\n  \"840390\":\n    \"Boilers; parts of central heating boilers (excluding those of heading no. 8402)\",\n  \"840410\":\n    \"Boilers; auxiliary plant, for use with boilers of heading no. 8402 or 8403 (e.g. economisers, super-heaters, soot removers, gas recoverers)\",\n  \"840420\": \"Boilers; condensers, for steam or other vapour power units\",\n  \"840490\":\n    \"Boilers; parts of auxiliary plant, for use with boilers of heading no. 8402 and 8403 and parts of condensers for steam or other vapour power units\",\n  \"840510\":\n    \"Generators; producer gas, water gas, acetylene gas and similar water process gas generators, with or without their purifiers\",\n  \"840590\":\n    \"Generators; parts of producer gas, water gas, acetylene gas and similar water process gas generators, with or without their purifiers\",\n  \"840610\": \"Turbines; steam and other vapour turbines, for marine propulsion\",\n  \"840611\": \"Turbines; steam and other vapour turbines, for marine propulsion\",\n  \"840619\":\n    \"Turbines; steam and other vapour turbines, for other than marine propulsion\",\n  \"840681\":\n    \"Turbines; steam and other vapour turbines, (for other than marine propulsion), of an output exceeding 40MW\",\n  \"840682\":\n    \"Turbines; steam and other vapour turbines, (for other than marine propulsion), of an output not exceeding 40MW\",\n  \"840690\": \"Turbines; parts of steam and other vapour turbines\",\n  \"840710\":\n    \"Engines; for aircraft, spark-ignition reciprocating or rotary internal combustion piston engines\",\n  \"840721\":\n    \"Engines; outboard motors for marine propulsion, spark-ignition reciprocating or rotary internal combustion piston engines\",\n  \"840729\":\n    \"Engines; for marine propulsion, (other than outboard motors), spark-ignition reciprocating or rotary internal combustion piston engines\",\n  \"840731\":\n    \"Engines; reciprocating piston engines, of a kind used for the propulsion of vehicles of chapter 87, of a cylinder capacity not exceeding 50cc\",\n  \"840732\":\n    \"Engines; reciprocating piston engines, of a kind used for the propulsion of vehicles of chapter 87, of a cylinder capacity exceeding 50cc but not exceeding 250cc\",\n  \"840733\":\n    \"Engines; reciprocating piston engines, of a kind used for the propulsion of vehicles of chapter 87, of a cylinder capacity exceeding 250cc but not exceeding 1000cc\",\n  \"840734\": \"Engines; spark-ignition reciprocating, >1000cc\",\n  \"840790\":\n    \"Engines; rotary internal combustion piston engines, for other than aircraft or marine propulsion\",\n  \"840810\":\n    \"Engines; for marine propulsion, compression-ignition internal combustion piston engines (diesel or semi-diesel engines)\",\n  \"840820\": \"Diesel or semi-diesel engines for motor vehicles\",\n  \"840890\": \"Diesel or semi-diesel engines; excl. motor vehicle and marine\",\n  \"840910\":\n    \"Engines; parts of aircraft engines (spark-ignition reciprocating or rotary internal combustion piston engines)\",\n  \"840991\": \"Parts for spark-ignition engines; not for aircrafts\",\n  \"840999\":\n    \"Parts for internal combustion piston engines; excl. spark-ignition\",\n  \"841011\":\n    \"Turbines; hydraulic turbines and water wheels, of a power not exceeding 1000kW\",\n  \"841012\":\n    \"Turbines; hydraulic turbines and water wheels, of a power exceeding 1000kW but not exceeding 10000kW\",\n  \"841013\":\n    \"Turbines; hydraulic turbines and water wheels, of a power exceeding 10000kW\",\n  \"841090\":\n    \"Turbines; parts of hydraulic turbines and water wheels, including regulators\",\n  \"841111\": \"Turbo-jets; of a thrust not exceeding 25kN\",\n  \"841112\": \"Turbo-jets of a thrust >25kN\",\n  \"841121\": \"Turbo-propellers; of a power not exceeding 1100kW\",\n  \"841122\": \"Turbo-propellers; of a power exceeding 1100kW\",\n  \"841181\":\n    \"Turbines; gas-turbines (excluding turbo-jets and turbo-propellers), of a power not exceeding 5000kW\",\n  \"841182\":\n    \"Turbines; gas-turbines (excluding turbo-jets and turbo-propellers), of a power exceeding 5000kW\",\n  \"841191\": \"Parts for turbo-jets and turbo-propellers\",\n  \"841199\": \"Parts for gas turbines; excl. turbo-jets and turbo-propellers\",\n  \"841210\": \"Engines; reaction engines, other than turbo-jets\",\n  \"841221\":\n    \"Engines; hydraulic power engines and motors, linear acting (cylinders)\",\n  \"841229\":\n    \"Engines; hydraulic power engines and motors, other than linear acting (cylinders)\",\n  \"841231\":\n    \"Engines; pneumatic power engines and motors, linear acting (cylinders)\",\n  \"841239\":\n    \"Engines; pneumatic power engines and motors, other than linear acting (cylinders)\",\n  \"841280\":\n    \"Engines; pneumatic power engines and motors, n.e.c. in heading no. 8412\",\n  \"841290\": \"Engines; parts, for engines and motors of heading no. 8412\",\n  \"841311\":\n    \"Pumps; fitted or designed to be fitted with a measuring device, for dispensing fuel or lubricants, of the type used in filling-stations or in garages\",\n  \"841319\":\n    \"Pumps; for liquids, fitted or designed to be fitted with a measuring device, other than pumps for dispensing fuel or lubricants\",\n  \"841320\":\n    \"Pumps; hand, fitted or designed to be fitted with a measuring device, for liquids, other than those of item no. 8413.11 or 8413.19\",\n  \"841330\":\n    \"Fuel, lubricating, and cooling medium pumps for internal combustion piston engines\",\n  \"841340\": \"Pumps; concrete pumps\",\n  \"841350\":\n    \"Pumps; reciprocating positive displacement pumps, n.e.c. in heading no. 8413, for liquids\",\n  \"841360\":\n    \"Pumps; rotary positive displacement pumps, n.e.c. in heading no. 8413, for liquids\",\n  \"841370\": \"Other centrifugal pumps for liquids (exclusionary category)\",\n  \"841381\": \"Pumps and liquid elevators; n.e.c. in heading no. 8413\",\n  \"841382\": \"Liquid elevators\",\n  \"841391\": \"Pump parts\",\n  \"841392\": \"Liquid elevators; parts thereof\",\n  \"841410\": \"Pumps; vacuum\",\n  \"841420\": \"Pumps; hand or foot-operated air pumps\",\n  \"841430\": \"Compressors for refrigerating equipment\",\n  \"841440\":\n    \"Compressors; air compressors mounted on a wheeled chassis for towing\",\n  \"841451\":\n    \"Fans; table, floor, wall, window, ceiling or roof fans, with a self-contained electric motor of an output not exceeding 125W\",\n  \"841459\": \"Fans; n.e.c. in item no. 8414.51\",\n  \"841460\":\n    \"Hoods; ventilating or recycling hoods incorporating a fan, whether or not fitted with filters, having a maximum horizontal side not exceeding 120cm\",\n  \"841470\":\n    \"Gas-tight biological safety cabinets; whether or not fitted with filters, having a maximum horizontal side not exceeding 120cm\",\n  \"841480\":\n    \"Other pumps and compressors for air, vacuum, or gas (exclusionary category)\",\n  \"841490\":\n    \"Parts for air or vacuum pumps, compressors, fans, and hoods incorporating a fan\",\n  \"841510\": \"Air conditioners; fixed to surface, self-contained\",\n  \"841520\":\n    \"Air conditioning machines; comprising a motor driven fan and elements for changing the temperature and humidity, of a kind used for persons, in motor vehicles\",\n  \"841581\":\n    \"Air conditioning machines; containing a motor driven fan, other than window or wall types, incorporating a refrigerating unit and a valve for reversal of the cooling/heat cycle (reversible heat pumps)\",\n  \"841582\":\n    \"Air conditioning machines; containing a motor driven fan, other than window or wall types, incorporating a refrigerating unit\",\n  \"841583\":\n    \"Air conditioning machines; containing a motor driven fan, other than window or wall types, not incorporating a refrigerating unit\",\n  \"841590\": \"Parts for air conditioners\",\n  \"841610\": \"Furnaces; furnace burners, for liquid fuel\",\n  \"841620\":\n    \"Furnaces; furnace burners, for pulverized solid fuel or gas, including combination burners\",\n  \"841630\":\n    \"Furnace accessories; mechanical stokers, mechanical grates, mechanical ash dischargers and similar appliances\",\n  \"841690\":\n    \"Furnaces; parts of furnace burners, for liquid fuel, pulverized solid fuel or gas, mechanical stokers, grates, ash dischargers and the like\",\n  \"841710\":\n    \"Furnaces and ovens; non-electric, for the roasting, melting or other heat-treatment of ores, pyrites or of metals, for industrial or laboratory use\",\n  \"841720\": \"Ovens; non-electric, bakery ovens, including biscuit ovens\",\n  \"841780\":\n    \"Furnaces and ovens; including incinerators, non-electric, for industrial or laboratory use, n.e.c. in heading no. 8417\",\n  \"841790\":\n    \"Furnaces and ovens; parts of non-electric furnaces and ovens (including incinerators), of industrial or laboratory use\",\n  \"841810\":\n    \"Refrigerators and freezers; combined refrigerator-freezers, fitted with separate external doors, electric or other\",\n  \"841821\":\n    \"Refrigerators; for household use, compression-type, electric or other\",\n  \"841822\": \"Refrigerators; for household use, absorption-type, electrical\",\n  \"841829\":\n    \"Refrigerators; household, electric or not, other than compression-type\",\n  \"841830\": \"Freezers; of the chest type, not exceeding 800l capacity\",\n  \"841840\": \"Freezers; of the upright type, not exceeding 900l capacity\",\n  \"841850\":\n    \"Furniture incorporating refrigerating or freezing equipment; for storage and display, n.e.c. in item no. 8418.1, 8418.2, 8418.3 or 8418.4 (chests, cabinets, display counters, show-cases and the like)\",\n  \"841861\":\n    \"Heat pumps; other than air conditioning machines of heading no. 8415\",\n  \"841869\": \"Refrigerating or freezing equipment; n.e.c. in heading no. 8418\",\n  \"841891\":\n    \"Refrigerating or freezing equipment; parts, furniture designed to receive refrigerating or freezing equipment\",\n  \"841899\":\n    \"Refrigerating or freezing equipment; parts thereof, other than furniture\",\n  \"841911\":\n    \"Heaters; instantaneous gas water heaters, for domestic or other purposes\",\n  \"841912\": \"Heaters; solar water heaters, non-electric\",\n  \"841919\":\n    \"Heaters; instantaneous or storage water heaters, non-electric, other than instantaneous gas water heaters\",\n  \"841920\":\n    \"Sterilizers; for medical, surgical or laboratory use, not used for domestic purposes\",\n  \"841931\": \"Dryers; for agricultural products, not used for domestic purposes\",\n  \"841932\":\n    \"Dryers; for wood, paper pulp, paper or paperboard, not used for domestic purposes\",\n  \"841933\":\n    \"Dryers; lyophilisation apparatus, freeze drying units and spray dryers, not used for domestic purposes\",\n  \"841934\": \"Dryers; for agricultural products, not used for domestic purposes\",\n  \"841935\":\n    \"Dryers; for wood, paper pulp, paper or paperboard, not used for domestic purposes\",\n  \"841939\":\n    \"Dryers; for products n.e.c. in heading no. 8419, not used for domestic purposes\",\n  \"841940\": \"Distilling or rectifying plant; not used for domestic purposes\",\n  \"841950\": \"Heat exchange units; not used for domestic purposes\",\n  \"841960\":\n    \"Machinery; for liquefying air or gas, not used for domestic purposes\",\n  \"841981\":\n    \"Machinery, plant and equipment; for making hot drinks, for cooking or heating food\",\n  \"841989\":\n    \"Machinery, plant and laboratory equipment; for treating materials by change of temperature, other than for making hot drinks or cooking or heating food\",\n  \"841990\":\n    \"Machinery, plant and laboratory equipment; parts of equipment for treating materials by a process involving a change of temperature\",\n  \"842010\":\n    \"Machines; calendering or other rolling machines, for other than metal or glass\",\n  \"842091\":\n    \"Machines; parts, cylinders for calendering or other rolling machines, for other than metal or glass\",\n  \"842099\":\n    \"Machines; parts, (other than cylinders), for calendering or other rolling machines, for other than metal or glass\",\n  \"842111\": \"Centrifuges; cream separators\",\n  \"842112\": \"Centrifuges; clothes-dryers\",\n  \"842119\":\n    \"Centrifuges; n.e.c. in heading no. 8421, including centrifugal dryers (but not clothes-dryers)\",\n  \"842121\": \"Machinery; for filtering or purifying water\",\n  \"842122\": \"Machinery; for filtering or purifying beverages other than water\",\n  \"842123\":\n    \"Machinery; filtering or purifying machinery, oil or petrol filters for internal combustion engines\",\n  \"842129\":\n    \"Machinery; for filtering or purifying liquids, n.e.c. in item no. 8421.2\",\n  \"842131\": \"Machinery; intake air filters for internal combustion engines\",\n  \"842132\":\n    \"Machinery; catalytic converters or particulate filters, whether or not combined, for purifying or filtering exhaust gases from internal combustion engines\",\n  \"842139\":\n    \"Filtering or purifying machinery for gases; excl. intake air filters for internal combustion engines\",\n  \"842191\":\n    \"Centrifuges; parts thereof, including parts for centrifugal dryers\",\n  \"842199\": \"Parts for filter/purifying machines for liquids/gases\",\n  \"842211\": \"Dish washing machines; of the household type\",\n  \"842219\": \"Dish washing machines; of other than household type\",\n  \"842220\": \"Machinery; for cleaning or drying bottles or other containers\",\n  \"842230\":\n    \"Machinery; for filling, closing, sealing, capsuling or labelling bottles, cans, bags or other containers, machinery for aerating beverages\",\n  \"842240\": \"Machinery; for packing or wrapping\",\n  \"842290\": \"Machinery; parts of machinery of heading no. 8422\",\n  \"842310\":\n    \"Weighing machines; personal (including baby scales) and household scales\",\n  \"842320\":\n    \"Weighing machines; scales for continuous weighing of goods on conveyors\",\n  \"842330\":\n    \"Weighing machines; constant weight scales and scales for discharging a predetermined weight of material into a bag or container, including hopper scales\",\n  \"842381\":\n    \"Weighing machines; having a maximum weighing capacity not exceeding 30kg (excluding balances of a sensitivity of 5cg or better)\",\n  \"842382\":\n    \"Weighing machines; having a maximum weighing capacity exceeding 30kg but not exceeding 5000kg\",\n  \"842389\":\n    \"Weighing machines; having a maximum weighing capacity exceeding 5000kg\",\n  \"842390\":\n    \"Weighing machines; weights of all kinds, parts of weighing machinery\",\n  \"842410\": \"Fire extinguishers; whether or not charged\",\n  \"842420\": \"Spray guns and similar appliances\",\n  \"842430\":\n    \"Mechanical appliances; steam or sand blasting machines and similar jet projecting machines\",\n  \"842441\":\n    \"Mechanical appliances; agricultural or horticultural sprayers; portable sprayers\",\n  \"842449\":\n    \"Mechanical appliances; agricultural or horticultural sprayers; other than portable sprayers\",\n  \"842481\":\n    \"Mechanical appliances; for projecting, dispersing or spraying liquids or powders, for agricultural or horticultural use, whether or not hand-operated\",\n  \"842482\":\n    \"Mechanical appliances; agricultural or horticultural, n.e.c. in heading 8424\",\n  \"842489\":\n    \"Mechanical appliances; for projecting, dispersing or spraying liquids or powders, for other than agricultural or horticultural use, whether or not hand-operated\",\n  \"842490\":\n    \"Mechanical appliances; parts of machines projecting, dispersing or spraying liquids or powders, whether or not hand-operated\",\n  \"842511\":\n    \"Pulley tackle and hoists; powered by an electric motor (excluding skip hoists or hoists of a kind used for raising vehicles)\",\n  \"842519\":\n    \"Pulley tackle and hoists; not powered by an electric motor (excluding skip hoists or hoists of a kind used for raising vehicles)\",\n  \"842520\":\n    \"Winches; pit-head winding gear and winches specially designed for use underground\",\n  \"842531\": \"Winches; capstans; powered by an electric motor\",\n  \"842539\": \"Winches; capstans; not powered by an electric motor\",\n  \"842541\":\n    \"Jacks; built-in jacking systems of a type used in garages, for raising vehicles\",\n  \"842542\": \"Jacks and hoists; hydraulic, of a kind used for raising vehicles\",\n  \"842549\":\n    \"Jacks and hoists; (other than hydraulic), of a kind used for raising vehicles\",\n  \"842611\": \"Cranes; overhead travelling cranes on fixed support\",\n  \"842612\": \"Cranes; mobile lifting frames on tyres and straddle carriers\",\n  \"842619\": \"Cranes; transporter, gantry and bridge cranes\",\n  \"842620\": \"Cranes; tower cranes\",\n  \"842630\": \"Cranes; portal or pedestal jib cranes\",\n  \"842641\":\n    \"Cranes; self-propelled derricks and cranes, on tyres, n.e.c. in heading no. 8426\",\n  \"842649\":\n    \"Cranes; self-propelled derricks and cranes, not on tyres, n.e.c. in heading no. 8426\",\n  \"842691\": \"Cranes and derricks; designed for mounting on road vehicles\",\n  \"842699\":\n    \"Cranes and derricks; for other than mounting on road vehicles, n.e.c. in heading no. 8426\",\n  \"842710\":\n    \"Fork-lift and other works trucks; fitted with lifting or handling equipment, self-propelled by electric motor\",\n  \"842720\":\n    \"Fork-lift and other works trucks; fitted with lifting or handling equipment, self-propelled by other than electric motor\",\n  \"842790\":\n    \"Fork-lift and other works trucks; fitted with lifting or handling equipment, not self-propelled\",\n  \"842810\": \"Lifts and skip hoists\",\n  \"842820\": \"Elevators and conveyors; pneumatic\",\n  \"842831\":\n    \"Elevators and conveyors; continuous-action, for goods and materials, specially designed for underground use, n.e.c. in item no. 8428.20\",\n  \"842832\":\n    \"Elevators and conveyors; continuous-action, for goods or materials, bucket type, n.e.c. in item no. 8428.20 or 8428.31\",\n  \"842833\":\n    \"Elevators and conveyors; continuous-action, for goods or materials, belt type, n.e.c. in item no. 8428.20 or 8428.31\",\n  \"842839\":\n    \"Elevators and conveyors; continuous-action, for goods or materials, n.e.c. in item no. 8428.20, 8428.31, 8428.32 or 8428.33\",\n  \"842840\": \"Escalators and moving walkways\",\n  \"842850\":\n    \"Wagons; mine wagon pushers, locomotive or wagon traversers, wagon tippers and similar railway wagon handling equipment\",\n  \"842860\":\n    \"Teleferics, chair-lifts, ski-draglines, traction mechanisms for funiculars\",\n  \"842870\": \"Industrial robots\",\n  \"842890\":\n    \"Lifting, handling, loading or unloading machinery; n.e.c. in heading no. 8425, 8426, 8427 or 8428\",\n  \"842911\": \"Bulldozers and angledozers; self-propelled, track laying\",\n  \"842919\":\n    \"Bulldozers and angledozers; self-propelled, other than track laying\",\n  \"842920\": \"Graders and levellers\",\n  \"842930\": \"Scrapers; self-propelled\",\n  \"842940\": \"Tamping machines and road rollers; self-propelled\",\n  \"842951\": \"Front-end shovel loaders\",\n  \"842952\": \"Mechanical shovels, excavators, and shovel loaders\",\n  \"842959\":\n    \"Mechanical shovels, excavators and shovel loaders; n.e.c. in item no. 8429.50\",\n  \"843010\": \"Pile-drivers and pile-extractors\",\n  \"843020\": \"Snow-ploughs and snow-blowers\",\n  \"843031\": \"Coal or rock cutters and tunnelling machinery; self-propelled\",\n  \"843039\": \"Coal or rock cutters and tunnelling machinery; not self-propelled\",\n  \"843041\":\n    \"Boring or sinking machinery; self-propelled, n.e.c. in heading no. 8430\",\n  \"843049\": \"Boring and sinking machinery; not self-propelled\",\n  \"843050\":\n    \"Machinery; for handling earth, minerals or ores, self-propelled, n.e.c. in heading no. 8430\",\n  \"843061\": \"Machinery; for tamping or compacting, not self-propelled\",\n  \"843062\": \"Scrapers; not self-propelled\",\n  \"843069\":\n    \"Machinery; for moving, levelling, scraping, grading, excavating earth minerals or ores; not self propelled n.e.c in 84.30\",\n  \"843110\": \"Machinery; parts of the machinery of heading no. 8425\",\n  \"843120\": \"Machinery; parts of the machinery of heading no. 8427\",\n  \"843131\": \"Lifts, skip hoists or escalators; parts thereof\",\n  \"843139\":\n    \"Machinery; parts of the machinery of heading no. 8428, (other than lifts, skip hoists or escalators)\",\n  \"843141\":\n    \"Machinery parts; buckets, shovels, grabs and grips, for the machinery of heading no. 8426 and 8430\",\n  \"843142\": \"Machinery parts; bulldozer or angledozer blades\",\n  \"843143\":\n    \"Boring or sinking machinery; parts of the machinery of item no. 8430.41 or 8430.41\",\n  \"843149\": \"Parts for machines handling earth, minerals, or ores\",\n  \"843210\": \"Ploughs; for soil preparation\",\n  \"843221\": \"Harrows; disc harrows\",\n  \"843229\":\n    \"Harrows; (excluding disc), scarifiers, cultivators, weeders and hoes\",\n  \"843230\": \"Seeders, planters and transplanters\",\n  \"843231\":\n    \"Seeders, planters and transplanters; no-till direct seeders, planters and transplanters\",\n  \"843239\":\n    \"Seeders, planters and transplanters; other than no-till direct seeders, planters and transplanters\",\n  \"843240\":\n    \"Spreaders and distributors; for manure and fertilizers, for agricultural, horticultural or forestry use\",\n  \"843241\":\n    \"Spreaders and distributors; for manure and fertilizers, for agricultural, horticultural or forestry use; manure spreaders\",\n  \"843242\":\n    \"Spreaders and distributors; for manure and fertilizers, for agricultural, horticultural or forestry use; fertiliser distributors\",\n  \"843280\": \"Rollers; for lawns or sports-grounds\",\n  \"843290\":\n    \"Machinery; parts of machinery for soil preparation or cultivation or for rollers for lawns or sports-grounds\",\n  \"843311\":\n    \"Mowers; lawn, parks or sports-grounds, powered, with the cutting device rotating in a horizontal plane\",\n  \"843319\":\n    \"Mowers; for lawns, parks or sports-grounds, other than with the cutting device rotating in a horizontal plane\",\n  \"843320\":\n    \"Mowers; n.e.c. in item no. 8433.1 (including cutter bars for tractor mounting)\",\n  \"843330\": \"Haymaking machinery\",\n  \"843340\": \"Balers; straw or fodder balers, including pick-up balers\",\n  \"843351\": \"Combine harvester-threshers\",\n  \"843352\": \"Threshing machinery; other than combine harvester-threshers\",\n  \"843353\": \"Harvesting machinery; for roots or tubers\",\n  \"843359\": \"Harvesting machinery; n.e.c. in heading no. 8433\",\n  \"843360\":\n    \"Machines; for cleaning, sorting or grading eggs, fruit or other agricultural produce\",\n  \"843390\":\n    \"Harvesting machinery; parts, including parts of threshing machinery, straw or fodder balers and grass or hay mowers\",\n  \"843410\": \"Milking machines\",\n  \"843420\": \"Dairy machinery\",\n  \"843490\": \"Milking machines and dairy machinery; parts thereof\",\n  \"843510\":\n    \"Presses, crushers and similar machinery; used in the manufacture of wine, cider, fruit juices or similar beverages\",\n  \"843590\":\n    \"Presses, crushers and similar machinery; parts, used in the manufacture of wine, cider, fruit juices or similar beverages\",\n  \"843610\": \"Machinery; for preparing animal feeding stuffs\",\n  \"843621\": \"Poultry incubators and brooders\",\n  \"843629\": \"Poultry-keeping machinery; other than incubators and brooders\",\n  \"843680\":\n    \"Machinery; for agricultural, horticultural or forestry use and n.e.c. in heading no. 8436\",\n  \"843691\":\n    \"Machinery; parts of poultry-keeping machinery or poultry incubators and brooders\",\n  \"843699\":\n    \"Machinery; parts of that machinery for agricultural, horticultural or forestry use n.e.c. in heading no. 8436\",\n  \"843710\":\n    \"Machines; for cleaning, sorting or grading seed, grain or dried leguminous vegetables\",\n  \"843780\":\n    \"Machinery; for use in the milling industry or for the working of cereals or dried leguminous vegetables, other than farm-type machinery\",\n  \"843790\":\n    \"Machines; parts of those for cleaning, sorting or grading seed, grain or dried leguminous vegetables or for milling or working cereals or dried leguminous vegetables (not farm-type machinery)\",\n  \"843810\":\n    \"Machinery; industrial, for bakery and for the manufacture of macaroni, spaghetti or similar products\",\n  \"843820\":\n    \"Machinery; industrial, for the manufacture of confectionery, cocoa or chocolate\",\n  \"843830\": \"Machinery; industrial, for sugar manufacture\",\n  \"843840\": \"Machinery; industrial, brewery machinery\",\n  \"843850\": \"Machinery; industrial, for the preparation of meat or poultry\",\n  \"843860\":\n    \"Machinery; industrial, for the preparation of fruits, nuts or vegetables\",\n  \"843880\":\n    \"Machinery; used in the industrial preparation or manufacture of food or drink, n.e.c. in heading no. 8438\",\n  \"843890\":\n    \"Machinery; parts of those machines used in the industrial preparation or manufacture of food or drink\",\n  \"843910\": \"Machinery; for making pulp of fibrous cellulosic material\",\n  \"843920\": \"Machinery; for making paper or paperboard\",\n  \"843930\": \"Machinery; for finishing paper or paperboard\",\n  \"843991\":\n    \"Machinery; parts of machinery for making pulp of fibrous cellulosic material\",\n  \"843999\":\n    \"Machinery; parts of machinery for making or finishing paper or paperboard\",\n  \"844010\": \"Book-binding machinery; including book-sewing machines\",\n  \"844090\":\n    \"Book-binding machinery; including book-sewing machines, parts thereof\",\n  \"844110\":\n    \"Machines; cutting, of all kinds, for making up paper pulp, paper or paperboard\",\n  \"844120\":\n    \"Machines; for making bags, sacks or envelopes of paper pulp, paper or paperboard\",\n  \"844130\":\n    \"Machines; for making cartons, boxes, cases, tubes, drums or similar containers (other than by moulding), of paper pulp, paper or paperboard\",\n  \"844140\":\n    \"Machines; for moulding articles, in paper pulp, paper or paperboard\",\n  \"844180\":\n    \"Machinery; n.e.c. in heading no. 8441, for making up paper pulp, paper or paperboard\",\n  \"844190\":\n    \"Machinery; parts of machinery for making up paper pulp, paper or paperboard, including cutting machines of all kinds\",\n  \"844210\":\n    \"Machinery; phototype-setting and composing, excluding machine-tools of heading no. 8456 to 8465\",\n  \"844220\":\n    \"Machinery; apparatus and equipment, for type-setting or composing by processes other than photo-type, with or without founding device\",\n  \"844230\":\n    \"Machinery, apparatus and equipment (excluding machines of heading no. 8456 to 8465) for preparing or making printing components\",\n  \"844240\":\n    \"Machinery, apparatus and equipment (excluding machines of heading no. 8456 to 8465) for preparing or making printing components; parts thereof\",\n  \"844250\":\n    \"Plates, cylinders and other printing components; lithographic stones prepared for printing purposes (for example, planed, grained or polished)\",\n  \"844311\": \"Printing machinery; offset, reel-fed\",\n  \"844312\":\n    \"Printing machinery; offset, sheet-fed, office type (sheet size not exceeding 22 x 36cm in the unfolded state)\",\n  \"844313\": \"Printing machinery; offset, n.e.c. in item no. 8443.1\",\n  \"844314\":\n    \"Printing machinery; letterpress, reel-fed, excluding flexographic printing\",\n  \"844315\":\n    \"Printing machinery; letterpress, other than reel-fed, excluding flexographic printing\",\n  \"844316\": \"Printing machinery; flexographic\",\n  \"844317\": \"Printing machinery; gravure\",\n  \"844319\":\n    \"Printing machinery; used for printing by means of plates, cylinders and other printing components of heading 84.42, n.e.c. in item no. 8443.1\",\n  \"844321\":\n    \"Printing machinery; letterpress, reel fed, excluding flexographic printing\",\n  \"844329\":\n    \"Printing machinery; letterpress, other than reel fed, excluding flexographic printing\",\n  \"844330\": \"Printing machinery; flexographic\",\n  \"844331\":\n    \"Multi-function printing, copying or facsimile machines; connectable to computer or network\",\n  \"844332\":\n    \"Single-function printing, copying or facsimile machines; connectable to computer or network\",\n  \"844339\":\n    \"Printing, copying, and facsimile machines; single-function printing, copying or facsimile machines, not capable of connecting to an automatic data processing machine or to a network\",\n  \"844340\": \"Printing machinery; gravure\",\n  \"844350\": \"Printing machinery; of a type n.e.s. in heading no. 8443\",\n  \"844351\":\n    \"Printing machinery; (not letterpress, offset, flexographic or gravure), ink-jet printing machines\",\n  \"844359\":\n    \"Printing machinery; of a type n.e.s. in heading no. 8443, (eg other than letterpress, offset, flexographic, gravure or ink-jet printing machines)\",\n  \"844360\": \"Printing machinery; machines for uses ancillary to printing\",\n  \"844390\": \"Printing machinery; parts thereof\",\n  \"844391\":\n    \"Printing machinery used for printing by means of plates, cylinders and other printing components of heading 8442; parts and accessories\",\n  \"844399\":\n    \"Other parts and accessories for printing machinery (exclusionary category)\",\n  \"844400\":\n    \"Textile machinery; for extruding, drawing, texturing or cutting man-made textile materials\",\n  \"844511\": \"Textile machinery; carding machines for preparing textile fibres\",\n  \"844512\": \"Textile machinery; combing machines for preparing textile fibres\",\n  \"844513\":\n    \"Textile machinery; drawing or roving machines for preparing textile fibres\",\n  \"844519\":\n    \"Textile machinery; n.e.c. in heading no. 8445, for preparing textile fibres\",\n  \"844520\": \"Textile machinery; spinning machines\",\n  \"844530\": \"Textile machinery; doubling or twisting machines\",\n  \"844540\":\n    \"Textile machinery; winding (including weft-winding) or reeling machines\",\n  \"844590\":\n    \"Textile machinery; involved in textile fibre or textile yarn preparation and n.e.c. in heading no. 8445\",\n  \"844610\":\n    \"Weaving machines (looms); for weaving fabrics of a width 30cm or less\",\n  \"844621\":\n    \"Weaving machines (looms); for weaving fabrics of a width exceeding 30cm, shuttle type, power looms\",\n  \"844629\":\n    \"Weaving machines (looms); for weaving fabrics of a width exceeding 30cm, shuttle type, other than power looms\",\n  \"844630\":\n    \"Weaving machines (looms); for weaving fabrics of a width exceeding 30cm, shuttleless type\",\n  \"844711\":\n    \"Knitting machines; circular, with cylinder diameter not exceeding 165mm\",\n  \"844712\":\n    \"Knitting machines; circular, with cylinder diameter exceeding 165mm\",\n  \"844720\": \"Knitting machines; flat, stitch-bonding machines\",\n  \"844790\":\n    \"Machines; for making gimped yarn, tulle, lace, embroidery, trimmings, braid or net and machines for tufting\",\n  \"844811\":\n    \"Machinery, auxiliary; dobbies and jacquards, card reducing, copying, punching or assembling machines for use therewith\",\n  \"844819\":\n    \"Machinery, auxiliary; for machines of heading no. 8444, 8445, 8446 or 8447, n.e.c. in item no. 8448.11\",\n  \"844820\":\n    \"Machines; parts and accessories of machines or auxiliary machinery of heading no. 8444\",\n  \"844831\": \"Machines, card clothing; parts and accessories\",\n  \"844832\":\n    \"Machines; parts and accessories of machines or auxiliary machinery for preparing textile fibres, other than card clothing\",\n  \"844833\":\n    \"Machines; parts and accessories of machines or auxiliary machinery, spindles, spindle flyers, spinning rings and ring travellers\",\n  \"844839\":\n    \"Machines; parts and accessories of machines or auxiliary machinery of heading no. 8445, n.e.c. in item no. 8448.3\",\n  \"844841\":\n    \"Weaving machines (looms); parts and accessories of machines or auxiliary machinery shuttles\",\n  \"844842\":\n    \"Weaving machines (looms); parts including their auxiliary machinery, and accessories thereof, reeds for looms, healds and heald-frames\",\n  \"844849\":\n    \"Weaving machines (looms); parts including their auxiliary machinery, and accessories thereof n.e.c. in item no. 8448.4\",\n  \"844851\":\n    \"Machines; parts and accessories of machines of heading no. 8447 or auxiliary machinery, sinkers, needles and other articles used in forming stitches\",\n  \"844859\":\n    \"Machines; parts and accessories of machines or auxiliary machinery of heading no. 8447, other than sinkers, needles and other articles used in forming stitches\",\n  \"844900\":\n    \"Machinery; for manufacture or finishing felt or non-wovens in the piece or in shapes, including machinery for making felt hats, blocks for making hats\",\n  \"845011\":\n    \"Washing machines; household or laundry-type, fully-automatic, (of a dry linen capacity not exceeding 10kg)\",\n  \"845012\":\n    \"Washing machines; household or laundry-type, with built-in centrifugal drier, (not fully-automatic), of a dry linen capacity not exceeding 10kg\",\n  \"845019\":\n    \"Washing machines; household or laundry-type, not fully-automatic, without built-in centrifugal drier, of a dry linen capacity not exceeding 10kg\",\n  \"845020\":\n    \"Washing machines; household or laundry-type, of a dry linen capacity exceeding 10kg\",\n  \"845090\": \"Washing machines; parts for household or laundry-type\",\n  \"845110\": \"Dry-cleaning machines\",\n  \"845121\": \"Drying machines; of a dry linen capacity not exceeding 10kg\",\n  \"845129\": \"Drying machines; of a dry linen capacity exceeding 10kg\",\n  \"845130\": \"Ironing machines and presses (including fusing presses)\",\n  \"845140\": \"Machines; for washing, bleaching or dyeing\",\n  \"845150\":\n    \"Machines; for reeling, unreeling, folding, cutting or pinking textile fabrics\",\n  \"845180\":\n    \"Machinery; for wringing, dressing, finishing, coating or impregnating textile yarns, fabrics or made up textile articles; for applying paste to base fabric used in manufacture of floor coverings\",\n  \"845190\": \"Machinery; parts, of the machinery of heading no. 8451\",\n  \"845210\": \"Sewing machines; of the household type\",\n  \"845221\": \"Sewing machines; (not household type), automatic units\",\n  \"845229\": \"Sewing machines; not household or automatic unit type\",\n  \"845230\": \"Sewing machine needles\",\n  \"845240\": \"Sewing machine furniture; bases and covers and parts thereof\",\n  \"845290\":\n    \"Sewing machines; furniture, bases and covers for sewing machines and parts thereof, and other parts of sewing machines\",\n  \"845310\":\n    \"Machinery; for preparing, tanning or working hides, skins or leather, other than sewing machines\",\n  \"845320\":\n    \"Machinery; for making or repairing footwear, other than sewing machines\",\n  \"845380\":\n    \"Machinery; for making or repairing articles of hides, skins or leather, other than sewing machines\",\n  \"845390\":\n    \"Machinery; parts of those for preparing, tanning or working hides, skins or leather, for making or repairing footwear or other articles of hides, skin or leather, other than sewing machines\",\n  \"845410\": \"Converters; of a type used in metallurgy or in metal foundries\",\n  \"845420\":\n    \"Ingot moulds and ladles; of a kind used in metallurgy or in metal foundries\",\n  \"845430\":\n    \"Casting machines; of a kind used in metallurgy or in metal foundries\",\n  \"845490\":\n    \"Machines; parts of converters, ladles, ingot moulds and casting machines, of a kind used in metallurgy or in metal foundries\",\n  \"845510\": \"Metal-rolling mills; tube mills\",\n  \"845521\":\n    \"Metal-rolling mills; hot or combination hot and cold rolling mills\",\n  \"845522\": \"Metal-rolling mills; cold\",\n  \"845530\": \"Metal-rolling mills; rolls thereof\",\n  \"845590\": \"Metal-rolling mills; parts thereof\",\n  \"845610\":\n    \"Machine-tools; for working any material by removal of material, operated by laser or other light or photon beam processes\",\n  \"845611\":\n    \"Machine-tools; for working any material by removal of material; operated by laser\",\n  \"845612\":\n    \"Machine-tools; for working any material by removal of material; operated by other light or photon beam processes (not laser)\",\n  \"845620\":\n    \"Machine-tools; for working any material by removal of material, operated by ultrasonic processes\",\n  \"845630\":\n    \"Machine-tools; for working any material by removal of material, operated by electro-discharge processes\",\n  \"845640\":\n    \"Machine tools; for working any material by removal of material; operated by plasma arc processes;\",\n  \"845650\":\n    \"Machine tools; for working any material by removal of material; operated by water-jet cutting machines\",\n  \"845690\":\n    \"Machine tools; for working any material by removal of material; operated by other processes n.e.c. in heading 8456\",\n  \"845691\":\n    \"Machine tools; operated by electro-chemical, electron-beam, ionic-beam or plasma-arc processes, for dry-etching patterns on semiconductor materials\",\n  \"845699\":\n    \"Machine tools; operated by electro-chemical, electron-beam, ionic beam or plasma-arc processes, other than for dry-etching patterns on semiconductor materials\",\n  \"845710\": \"Machining centres; for working metal\",\n  \"845720\":\n    \"Machines; unit construction machines (single station), for working metal\",\n  \"845730\":\n    \"Metal machines; multi-station transfer machines, for working metal\",\n  \"845811\": \"Lathes; for removing metal, horizontal, numerically controlled\",\n  \"845819\":\n    \"Lathes; for removing metal, horizontal, other than numerically controlled\",\n  \"845891\":\n    \"Lathes; for removing metal, numerically controlled, other than horizontal lathes\",\n  \"845899\":\n    \"Lathes; for removing metal, other than horizontal or numerically controlled lathes\",\n  \"845910\":\n    \"Machine-tools; way-type unit head machines, for drilling, boring, milling, threading or tapping by removing metal, other than lathes of heading no. 8458\",\n  \"845921\":\n    \"Machine-tools; for drilling by removing metal, numerically controlled\",\n  \"845929\":\n    \"Machine-tools; for drilling by removing metal, other than numerically controlled\",\n  \"845931\":\n    \"Machine-tools; for boring-milling by removing metal, numerically controlled\",\n  \"845939\":\n    \"Machine-tools; for boring-milling by removing metal, other than numerically controlled\",\n  \"845940\":\n    \"Machine-tools; for boring by removing metal, n.e.c. in item no. 8459.31 and 8459.39\",\n  \"845941\":\n    \"Machine-tools; for boring by removing metal, numerically controlled boring machines, n.e.c. in heading 8459\",\n  \"845949\":\n    \"Machine-tools; for boring by removing metal, not numerically controlled boring machines, n.e.c. in heading 8459\",\n  \"845951\":\n    \"Machine-tools; for milling by removing metal, knee-type, numerically controlled\",\n  \"845959\":\n    \"Machine-tools; for milling by removing metal, knee-type, other than numerically controlled\",\n  \"845961\":\n    \"Machine-tools; for milling by removing metal, (not knee-type), numerically controlled\",\n  \"845969\":\n    \"Machine-tools; for milling by removing metal, not knee-type, other than numerically controlled\",\n  \"845970\": \"Machine-tools; for threading or tapping by removing metal\",\n  \"846011\":\n    \"Machine-tools; flat-surface grinding machines, in which positioning in any one axis can be set up to an accuracy of 0.01mm or better, numerically controlled\",\n  \"846012\":\n    \"Machine-tools; flat-surface grinding machines, numerically controlled\",\n  \"846019\":\n    \"Machine-tools; flat-surface grinding machines, other than numerically controlled\",\n  \"846021\":\n    \"Machine-tools; grinding machines (other than flat-surface), in which positioning in any one axis can be set up to at least an accuracy of 0.01mm, numerically controlled\",\n  \"846022\":\n    \"Machine-tools; grinding machines (excluding flat-surface), centreless, numerically controlled\",\n  \"846023\":\n    \"Machine-tools; cylindrical grinding machines (excluding flat-surface and centreless), numerically controlled\",\n  \"846024\":\n    \"Machine-tools; grinding machines (excluding flat-surface, cylindrical and centreless), numerically controlled\",\n  \"846029\":\n    \"Machine-tools; grinding machines (excluding flat-surface), other than numerically controlled\",\n  \"846031\":\n    \"Machine-tools; sharpening (tool or cutter grinding) machines, numerically controlled\",\n  \"846039\":\n    \"Machine-tools; sharpening (tool or cutter grinding) machines, other than numerically controlled\",\n  \"846040\": \"Machine-tools; for honing or lapping\",\n  \"846090\":\n    \"Machine-tools; for deburring, grinding, polishing or otherwise finishing metal, sintered metal carbides or cermets by means of grinding stones, abrasives or polishing products, n.e.c. in heading no. 8460\",\n  \"846110\":\n    \"Machine-tools; planing machines, working by removing metal, sintered metal carbides or cermets\",\n  \"846120\":\n    \"Machine-tools; shaping or slotting machines, working by removing metal, sintered metal carbides or cermets\",\n  \"846130\":\n    \"Machine-tools; broaching machines, working by removing metal, sintered metal carbides or cermets\",\n  \"846140\":\n    \"Machine-tools; gear cutting, gear grinding or gear finishing machines, working by removing metal, sintered metal carbides or cermets\",\n  \"846150\":\n    \"Machine-tools; sawing or cutting-off machines, working by removing metal, sintered metal carbides or cermets\",\n  \"846190\":\n    \"Machine-tools; planing machines, and other machine-tools n.e.c. in heading no. 8461; working by removing metal, sinistered metal carbides or cerments.\",\n  \"846210\":\n    \"Machine-tools; forging or die-stamping machines (including presses) and hammers, for working metal\",\n  \"846211\":\n    \"Machine-tools; forging and die-forging machines (including presses), closed die forging machines, for working metal\",\n  \"846219\":\n    \"Machine-tools; hot forming machines, hot hammers, for working metal\",\n  \"846221\":\n    \"Machine-tools; bending, folding, straightening or flattening machines (including presses), numerically controlled, for working metal\",\n  \"846222\":\n    \"Machine-tools; bending, folding, straightening or flattening machines (including press brakes) for flat products, for working metal, numerically controlled\",\n  \"846223\":\n    \"Machine-tools; bending, folding, straightening or flattening machines (including presses), for working metal, numerically controlled press brakes\",\n  \"846224\":\n    \"Machine-tools; bending, folding, straightening or flattening machines (including presses), for working metal, numerically controlled panel benders\",\n  \"846225\":\n    \"Machine-tools; bending, folding, straightening or flattening machines (including presses), for working metal, numerically controlled roll forming machines\",\n  \"846226\":\n    \"Machine-tools; bending, folding, straightening or flattening machines (including presses), for working metal, numerically controlled bending, folding, straightening or fattening machines (not press brakes, panel benders or roll forming machines)\",\n  \"846229\":\n    \"Machine-tools; bending, folding, straightening or flattening machines (including presses), (other than numerically controlled), for working metal\",\n  \"846231\":\n    \"Machine-tools; shearing machines (including presses), (other than combined punching and shearing machines), numerically controlled, for working metal\",\n  \"846232\":\n    \"Machine-tools; slitting lines and cut-to-length lines, for working metal\",\n  \"846233\":\n    \"Machine-tools; shearing machines (excluding presses) for flat products, numerically controlled, other than combined punching and shearing machines, for working metal\",\n  \"846239\":\n    \"Machine-tools; shearing machines (including presses), (other than combined punching and shearing machines, other than numerically controlled), for working metal\",\n  \"846241\":\n    \"Machine-tools; punching or notching machines (including presses), including combined punching and shearing machines, numerically controlled, for working metal\",\n  \"846242\":\n    \"Machine-tools; punching, notching or nibbling machines (excluding presses) for flat products including combined punching and shearing machines, numerically controlled, for working metal\",\n  \"846249\":\n    \"Machine-tools; punching or notching machines (including presses), including combined punching and shearing machines, (not numerically controlled), for working metal\",\n  \"846251\":\n    \"Machine-tools; for working tube, pipe, hollow section and bar (excluding presses), for working metal, numerically controlled\",\n  \"846259\":\n    \"Machine-tools; for working tube, pipe, hollow section and bar (excluding presses), for working metal, not numerically controlled\",\n  \"846261\": \"Machine-tools; cold metal working presses, hydraulic presses\",\n  \"846262\": \"Machine-tools; cold metal working presses, mechanical presses\",\n  \"846263\": \"Machine-tools; cold metal working presses, servo-presses\",\n  \"846269\":\n    \"Machine-tools; cold metal working presses, other than hydraulic, mechanical or servo-presses\",\n  \"846290\":\n    \"Machine-tools; (including presses) for working metal by forging, hammering or die-forging, for bending, folding, straightening, flattening, shearing, punching, notching or nibbling metal, n.e.c. in heading 8462\",\n  \"846291\":\n    \"Machine-tools; presses for working metal or metal carbides, n.e.c. in heading no. 8462, hydraulic presses\",\n  \"846299\":\n    \"Machine-tools; presses for working metal or metal carbides, n.e.c. in heading no. 8462, other than hydraulic presses\",\n  \"846310\":\n    \"Machine-tools; for working metal, sintered metal carbides or cermets, without removing material, draw-benches for bars, tubes, profiles, wire or the like\",\n  \"846320\":\n    \"Machine-tools; for working metal, sintered metal carbides or cermets, without removing material, thread rolling machines\",\n  \"846330\":\n    \"Machine-tools; machines for working wire, without removing material\",\n  \"846390\":\n    \"Machine-tools; for working metal, sintered metal carbides or cermets, without removing material, n.e.c. in heading no. 8463\",\n  \"846410\":\n    \"Machine-tools; sawing machines, for working stone, ceramics, concrete, asbestos-cement or like mineral materials or for cold working glass\",\n  \"846420\":\n    \"Machine-tools; grinding or polishing machines, for working stone, ceramics, concrete, asbestos-cement or like mineral materials or for cold working glass\",\n  \"846490\":\n    \"Machine-tools; for working stone, ceramics, concrete, asbestos-cement or like mineral materials or for cold working glass, (other than sawing, grinding or polishing machines)\",\n  \"846510\":\n    \"Machine-tools; which can carry out different types of machining operations without tool change between such operations, for working wood, cork, bone, hard rubber, hard plastics or similar\",\n  \"846520\":\n    \"Machine-tools; for working wood, cork, bone, hard rubber, hard plastics or similar hard materials; machining centres\",\n  \"846591\":\n    \"Machine-tools; for working wood, cork, bone, hard rubber, hard plastics or similar hard materials; sawing machines\",\n  \"846592\":\n    \"Machine-tools; for working wood, cork, bone, hard rubber, hard plastics or similar hard materials; planing, milling or moulding (by cutting) machines\",\n  \"846593\":\n    \"Machine-tools; for working wood, cork, bone, hard rubber, hard plastics or similar hard materials; grinding, sanding or polishing machines\",\n  \"846594\":\n    \"Machine-tools; for working wood, cork, bone, hard rubber, hard plastics or similar hard materials; bending or assembling machines\",\n  \"846595\":\n    \"Machine-tools; for working wood, cork, bone, hard rubber, hard plastics or similar hard materials; drilling or morticing machines\",\n  \"846596\":\n    \"Machine-tools; for working wood, cork, bone, hard rubber, hard plastics or similar hard materials; splitting, slicing or paring machines\",\n  \"846599\":\n    \"Machine-tools; for working wood, cork, bone, hard rubber, hard plastics or similar hard materials; n.e.c. in heading no. 8465\",\n  \"846610\":\n    \"Parts & accessories suited for use solely/principally with machines of headings 8456-8465; tool holders and self-opening dieheads\",\n  \"846620\":\n    \"Parts & accessories suited for use solely/principally with machines of headings 8456-8465; work holders\",\n  \"846630\":\n    \"Parts & accessories suited for use solely/principally with machines of headings 8456-8465; dividing heads and other special attachments for machines\",\n  \"846691\":\n    \"Parts & accessories suited for use solely/principally; for the machines of heading no. 8464, n.e.c. in heading no. 8466\",\n  \"846692\":\n    \"Parts & accessories suited for use solely/principally for the machines of heading no. 8465, n.e.c. in heading no. 8466\",\n  \"846693\":\n    \"Parts & accessories suited for use solely/principally with machines of headings 8456-8465; n.e.c. in heading no. 8466\",\n  \"846694\":\n    \"Machine-tools; parts and accessories, for the machines of heading no. 8462 or 8463, n.e.c. in heading no. 8466\",\n  \"846711\":\n    \"Tools; for working in the hand, pneumatic, rotary type (including combined rotary-percussion)\",\n  \"846719\": \"Tools; for working in the hand, pneumatic, other than rotary type\",\n  \"846721\":\n    \"Tools; for working in the hand, with self-contained electric motor; drills of all kinds\",\n  \"846722\":\n    \"Tools; for working in the hand, with self-contained electric motor; saws\",\n  \"846729\":\n    \"Hand-held tools with self-contained electric motor; excl. saws and drills\",\n  \"846781\":\n    \"Tools; for working in the hand, chain saws with self-contained non-electric motor\",\n  \"846789\":\n    \"Tools; for working in the hand, (other than chain saws), hydraulic or with self-contained non-electric motor, (not pneumatic)\",\n  \"846791\":\n    \"Tools; for working in the hand, parts of chain saws, with self-contained non-electric motor\",\n  \"846792\": \"Tools; for working in the hand, parts of pneumatic tools\",\n  \"846799\":\n    \"Tools; for working in the hand, parts thereof for other than chain saws and pneumatic tools\",\n  \"846810\":\n    \"Machinery and apparatus; hand-held blow pipes for soldering, brazing or welding, whether or not capable of cutting\",\n  \"846820\":\n    \"Machinery and apparatus; gas operated machinery and apparatus n.e.c. in item no. 8468.10, for soldering, brazing or welding, whether or not capable of cutting\",\n  \"846880\":\n    \"Machinery and apparatus; for soldering, brazing or welding, whether or not capable of cutting, n.e.c. in heading no. 8468\",\n  \"846890\":\n    \"Machinery and apparatus; parts, soldering, brazing or welding, whether or not capable of cutting, parts thereof\",\n  \"846900\":\n    \"Typewriters (other than printers of heading no. 8443) and word-processing machines\",\n  \"846910\": \"Typewriters, automatic and word processing machines\",\n  \"846911\": \"Word-processing machines\",\n  \"846912\": \"Typewriters; automatic, other than printers of heading no. 8471\",\n  \"846920\":\n    \"Typewriters; electric, (not automatic), other than printers of heading no. 8471\",\n  \"846921\":\n    \"Typewriters; electric, weighing not more than 12kg, excluding case\",\n  \"846929\": \"Typewriters; electric, weighing more than 12kg, excluding case\",\n  \"846930\":\n    \"Typewriters; non-electric, (not automatic), other than printers of heading no. 8471\",\n  \"846931\":\n    \"Typewriters; non-electric, weighing not more than 12kg, excluding case\",\n  \"846939\":\n    \"Typewriters; non-electric, weighing more than 12kg, excluding case\",\n  \"847010\":\n    \"Calculating machines; electronic calculators capable of operation without an external source of electric power and pocket-size data recording, reproducing and displaying machines with calculating functions\",\n  \"847021\":\n    \"Calculating machines; electronic, incorporating a printing device, needing an external source of power\",\n  \"847029\":\n    \"Calculating machines; electronic, (not incorporating a printing device), needing an external power source\",\n  \"847030\": \"Calculating machines; non-electronic\",\n  \"847040\": \"Accounting machines\",\n  \"847050\": \"Cash registers\",\n  \"847090\":\n    \"Machines incorporating a calculating device; n.e.c. in heading no. 8470\",\n  \"847110\": \"Data processing machines; analogue or hybrid automatic type\",\n  \"847120\":\n    \"Data processing machines; digital automatic, containing in the same housing at least a central processing unit and input and output unit, whether or not combined\",\n  \"847130\": \"Laptops\",\n  \"847141\":\n    \"Automatic data processing machines; comprising in the same housing at least a central processing unit and an input and output unit, whether or not combined, n.e.c. in item no. 8471.30\",\n  \"847149\": \"Other computer systems (exclusionary category)\",\n  \"847150\": \"Computer units; storage, input, output\",\n  \"847160\":\n    \"Units of automatic data processing machines; input or output units, whether or not containing storage units in the same housing\",\n  \"847170\": \"Storage units for computers\",\n  \"847180\": \"Other computer units (exclusionary category)\",\n  \"847190\":\n    \"Magnetic or optical readers, machines for transcribing data onto data media in coded form and machines for processing such data, not elsewhere specified or included\",\n  \"847191\":\n    \"Digital processing units; whether or not presented with the rest of a system, which may contain in the same housing one or two of the following: storage units, input units, output units\",\n  \"847192\":\n    \"Data processing machinery; input or output units, whether or not presented with the rest of a system or containing storage units in the same housing\",\n  \"847193\":\n    \"Data processing machinery; storage units, whether or not presented with the rest of a system\",\n  \"847199\": \"Data processing machinery; n.e.s in heading no. 8471\",\n  \"847210\": \"Office machines; duplicating machines\",\n  \"847220\": \"Addressing machines and address plate embossing machines\",\n  \"847230\":\n    \"Office machines; for sorting or folding mail or for inserting mail in envelopes or bands, machines for opening, closing or sealing mail and machines for affixing or cancelling postage stamps\",\n  \"847290\": \"Office machines; not elsewhere classified\",\n  \"847310\":\n    \"Typewriters and word-processing machines; parts and accessories of the machines of heading 84.69 (other than covers, carrying cases and the like)\",\n  \"847321\":\n    \"Calculating machines; parts and accessories of the electronic calculating machines of item no. 8470.10, 8470.21 or 8470.29 (other than covers, carrying cases and the like)\",\n  \"847329\":\n    \"Machinery; parts and accessories of the machines of item no. 8470.30. 8470.50 or 8470.90 (other than covers, carrying cases and the like)\",\n  \"847330\": \"Parts and accessories for computers\",\n  \"847340\":\n    \"Machinery; parts and accessories (other than covers, carrying cases and the like) of the machines of heading no. 8472\",\n  \"847350\":\n    \"Machines; parts and accessories (other than covers, carrying cases and the like) equally suitable for use with machines of two or more of the headings 8470 to 8472\",\n  \"847410\":\n    \"Machines; for sorting, screening, separating or washing earth, stone, ores or other mineral substances\",\n  \"847420\":\n    \"Machines; for crushing or grinding earth, stone, ores or other mineral substances\",\n  \"847431\": \"Machines; concrete or mortar mixers\",\n  \"847432\": \"Machines; for mixing mineral substances with bitumen\",\n  \"847439\":\n    \"Machines; for mixing or kneading mineral substances, excluding concrete mixers and machines for mixing mineral substances with bitumen\",\n  \"847480\":\n    \"Machines; for agglomerating, shaping or moulding solid mineral fuels, ceramic paste, unhardened cements, plastering materials in powder or paste form, machines for forming foundry moulds of sand\",\n  \"847490\":\n    \"Machines, for sorting, screening, separating, washing, crushing etc mineral substances, for agglomerating, shaping or moulding solid fuels, ceramic pastes etc, for forming foundry moulds of sand; parts\",\n  \"847510\":\n    \"Machines; for assembling electric or electronic lamps, tubes, valves or flash-bulbs, in glass envelopes\",\n  \"847520\": \"Machines; for manufacturing or hot working glass or glassware\",\n  \"847521\":\n    \"Machines; for manufacturing or hot working glass or glassware, for making optical fibres and preforms thereof\",\n  \"847529\":\n    \"Machines; for manufacturing or hot working glass or glassware, not for making optical fibres and preforms thereof\",\n  \"847590\":\n    \"Machines; parts, of those for assembling electric or electronic lamps, tubes, valves or flash-bulbs, in glass envelopes and manufacturing or hot working glass or glassware\",\n  \"847611\":\n    \"Machines; automatic goods-vending machines, incorporating heating or refrigerating devices (eg food or beverage machines)\",\n  \"847619\":\n    \"Machines; automatic goods-vending machines, not incorporating heating or refrigerating devices (eg postage stamp, cigarette, food or beverages and money-changing machines)\",\n  \"847621\":\n    \"Machines; automatic beverage-vending machines, incorporating heating or refrigerating devices\",\n  \"847629\":\n    \"Machines; automatic beverage-vending machines, not incorporating heating or refrigerating devices\",\n  \"847681\":\n    \"Machines; automatic goods-vending machines, (e.g. postage stamp, cigarette, food or money-changing machines, excluding beverage-vending machines), incorporating heating or refrigerating devices\",\n  \"847689\":\n    \"Machines; automatic goods-vending machines, (e.g. postage stamp, cigarette, food or money-changing machines, excluding beverage-vending machines), not incorporating heating or refrigerating devices\",\n  \"847690\": \"Machines; parts of automatic goods-vending machines\",\n  \"847710\": \"Rubber or plastics injection-moulding machines\",\n  \"847720\":\n    \"Machinery; extruders, for working rubber or plastics or for the manufacture of products from these materials\",\n  \"847730\":\n    \"Machinery; blow moulding machines, for working rubber or plastics or for the manufacture of products from these materials\",\n  \"847740\":\n    \"Machinery; vacuum moulding machines and other thermoforming machines, for working rubber or plastics or for the manufacture of products from these materials\",\n  \"847751\":\n    \"Machinery; for moulding or retreading pneumatic tyres or for moulding or otherwise forming inner tubes\",\n  \"847759\":\n    \"Machinery; for moulding or forming, for working rubber or plastics or for the manufacture of products from these materials, n.e.c. in this chapter\",\n  \"847780\":\n    \"Machinery; for working rubber or plastics or for the manufacture of products from these materials, n.e.c. in this chapter\",\n  \"847790\":\n    \"Machinery; parts of the machines of heading no. 8477, n.e.c. in item no. 8477.90\",\n  \"847810\":\n    \"Machinery; for preparing or making up tobacco, n.e.c. in this chapter\",\n  \"847890\":\n    \"Machinery; parts of those for preparing or making up tobacco, n.e.c. in this chapter\",\n  \"847910\":\n    \"Machinery and mechanical appliances; for public works, building or the like\",\n  \"847920\":\n    \"Machinery; for the extraction or preparation of animal or fixed vegetable fats or oils\",\n  \"847930\":\n    \"Machinery and mechanical appliances; presses for the manufacture of particle or fibre building board of wood or other ligneous materials and other machinery for treating wood or cork\",\n  \"847940\": \"Machines; for making rope or cable\",\n  \"847950\":\n    \"Machinery and mechanical appliances; industrial robots, n.e.c. or included\",\n  \"847960\": \"Machinery and mechanical appliances; evaporative air coolers\",\n  \"847971\":\n    \"Machinery and mechanical appliances; passenger boarding bridges, of a kind used in airports\",\n  \"847979\":\n    \"Machinery and mechanical appliances; passenger boarding bridges, other than of a kind used in airports\",\n  \"847981\":\n    \"Machines and mechanical appliances; for treating metal, including electric wire coil-winders\",\n  \"847982\":\n    \"Machines; for mixing, kneading, crushing, grinding, screening, sifting, homogenising, emulsifying or stirring\",\n  \"847983\": \"Machines and mechanical appliances; cold isostatic presses\",\n  \"847989\":\n    \"Other machines and mechanical appliances with individual functions (exclusionary category)\",\n  \"847990\": \"Parts for other machines and mechanical appliances\",\n  \"848010\": \"Moulding boxes; for metal foundry\",\n  \"848020\":\n    \"Mould bases; for metal, metal carbides, glass, mineral materials, rubber or plastics\",\n  \"848030\":\n    \"Moulding patterns; of metal, metal carbides, glass, mineral materials, rubber or plastics\",\n  \"848041\":\n    \"Moulds; for metal or metal carbides, injection or compression types\",\n  \"848049\":\n    \"Moulds; for metal or metal carbides, other than injection or compression types\",\n  \"848050\": \"Moulds; for glass\",\n  \"848060\": \"Moulds; for mineral materials\",\n  \"848071\": \"Moulds; for rubber or plastics, injection or compression types\",\n  \"848079\":\n    \"Moulds; for rubber or plastics, other than injection or compression types\",\n  \"848110\":\n    \"Valves; pressure reducing, for pipes, boiler shells, tanks, vats or the like\",\n  \"848120\": \"Valves for oleohydraulic or pneumatic transmissions\",\n  \"848130\":\n    \"Valves; check (nonreturn) valves, for pipes, boiler shells, tanks, vats or the like\",\n  \"848140\":\n    \"Valves; safety or relief valves, for pipes, boiler shells, tanks, vats or the like\",\n  \"848180\": \"Taps, cocks, valves and similar appliances\",\n  \"848190\": \"Parts for taps, cocks, valves or similar appliances\",\n  \"848210\": \"Ball bearings\",\n  \"848220\":\n    \"Bearings; tapered roller bearings, including cone and tapered roller assemblies\",\n  \"848230\": \"Bearings; spherical roller bearings\",\n  \"848240\": \"Bearings; needle roller bearings\",\n  \"848250\": \"Bearings; cylindrical roller bearings n.e.c. in heading no. 8482\",\n  \"848280\":\n    \"Bearings; n.e.c. in heading no. 8482, including combined ball/roller\",\n  \"848291\": \"Bearings; parts, balls, needles and rollers\",\n  \"848299\": \"Bearings; parts, (other than balls, needles and rollers)\",\n  \"848310\": \"Transmission shafts and cranks\",\n  \"848320\": \"Bearing housings, incorporating ball or roller bearings\",\n  \"848330\":\n    \"Bearing housings, not incorporating ball or roller bearings and plain shaft bearings\",\n  \"848340\": \"Gearing, ball or roller screws, speed changers, torque converters\",\n  \"848350\": \"Pulleys and flywheels, including pulley blocks\",\n  \"848360\": \"Clutches and shaft couplings (including universal joints)\",\n  \"848390\": \"Parts for transmission components\",\n  \"848410\":\n    \"Gaskets and similar joints; of metal sheeting combined with other material or two or more layers of metal\",\n  \"848420\": \"Seals; mechanical\",\n  \"848490\":\n    \"Gasket sets or assortments of gaskets and similar joints; dissimilar in composition, put up in pouches, envelopes or similar packings\",\n  \"848510\": \"Ships' propellers and blades therefor\",\n  \"848520\": \"Machines for additive manufacturing; by plastic or rubber deposit\",\n  \"848530\":\n    \"Machines for additive manufacturing; by plaster, cement, ceramics or glass deposit\",\n  \"848580\":\n    \"Machines for additive manufacturing; by other than metal, plastic, rubber, plaster, cement, ceramics or glass deposits\",\n  \"848590\":\n    \"Machinery; parts, not containing electrical connectors, insulators, coils, contacts or other electrical features, n.e.s. in chapter 84\",\n  \"848610\":\n    \"Machines and apparatus of a kind used solely or principally for the manufacture of semiconductor boules or wafers\",\n  \"848620\":\n    \"Machines and apparatus for manufacture of semiconductor devices or of electronic integrated circuits\",\n  \"848630\":\n    \"Machines and apparatus of a kind used solely or principally for the manufacture of flat panel displays\",\n  \"848640\":\n    \"Machines and apparatus of a kind used solely or principally for the manufacture or repair of masks and reticles, assembling semiconductor devices or electronic integrated circuits, or for lifting, handling, loading or unloading items of heading 8486\",\n  \"848690\":\n    \"Parts and accessories for machines and apparatus used for the manufacture of semiconductor boules or wafers, semiconductor devices, chips, or flat panel displays\",\n  \"848710\": \"Ships' or boats' propellers and blades therefor\",\n  \"848790\":\n    \"Machinery parts; not containing electrical connectors, insulators, coils, contacts or other electrical features, n.e.c. in chapter 84, other than ships' or boats' propellers and blades therefor\",\n  \"850110\": \"Electrical motors; output <37.5W\",\n  \"850120\": \"Electric motors; universal AC/DC of an output exceeding 37.5W\",\n  \"850131\":\n    \"Electric motors and generators; DC, of an output not exceeding 750W\",\n  \"850132\":\n    \"Electric motors and generators; DC, of an output exceeding 750W but not exceeding 75kW\",\n  \"850133\":\n    \"Electric motors and generators; DC, of an output exceeding 75kW but not exceeding 375kW\",\n  \"850134\": \"Electric motors and generators; DC, of an output exceeding 375kW\",\n  \"850140\": \"Electric motors; AC motors, single-phase\",\n  \"850151\":\n    \"Electric motors; AC motors, multi-phase, of an output not exceeding 750W\",\n  \"850152\":\n    \"Electric motors; AC motors, multi-phase, of an output exceeding 750W but not exceeding 75kW\",\n  \"850153\":\n    \"Electric motors; AC motors, multi-phase, of an output exceeding 75kW\",\n  \"850161\":\n    \"Generators; AC generators, (alternators), of an output not exceeding 75kVA\",\n  \"850162\":\n    \"Electric generators; AC generators, (alternators), of an output exceeding 75kVA but not exceeding 375kVA\",\n  \"850163\":\n    \"Electric generators; AC generators, (alternators), of an output exceeding 375kVA but not exceeding 750kVA\",\n  \"850164\":\n    \"Electric generators; AC generators, (alternators), of an output exceeding 750kVA\",\n  \"850171\":\n    \"Electric generators; photovoltaic DC generators, of an output not exceeding 50W\",\n  \"850172\":\n    \"Electric generators; photovoltaic DC generators, of an output exceeding 50W\",\n  \"850180\":\n    \"Electric generators; (excluding generating sets), photovoltaic AC generators (alternators)\",\n  \"850211\":\n    \"Electric generating sets; with compression-ignition internal combustion piston engines (diesel or semi-diesel engines), of an output not exceeding 75kVA\",\n  \"850212\":\n    \"Electric generating sets; with compression-ignition internal combustion piston engines (diesel or semi-diesel engines), of an output exceeding 75kVA but not exceeding 375kVA\",\n  \"850213\":\n    \"Electric generating sets; with compression-ignition internal combustion piston engines (diesel or semi-diesel engines), of an output exceeding 375kVA\",\n  \"850220\":\n    \"Electric generating sets; with spark-ignition internal combustion piston engines\",\n  \"850230\": \"Electric generating sets; n.e.s. in heading no. 8502\",\n  \"850231\":\n    \"Electric generating sets; wind-powered, (excluding those with spark-ignition or compression-ignition internal combustion piston engines)\",\n  \"850239\":\n    \"Electric generating sets; (excluding those with spark-ignition or compression-ignition internal combustion piston engines), other than wind powered\",\n  \"850240\": \"Electric rotary converters\",\n  \"850300\": \"Parts for electric motors, generators, and rotary converters\",\n  \"850410\": \"Discharge lamps or tubes; ballasts therefor\",\n  \"850421\":\n    \"Electrical transformers; liquid dielectric, having a power handling capacity not exceeding 650kVA\",\n  \"850422\":\n    \"Electrical transformers; liquid dielectric, having a power handling capacity exceeding 650kVA but not exceeding 10,000kVA\",\n  \"850423\":\n    \"Electrical transformers; liquid dielectric, having a power handling capacity exceeding 10,000kVA\",\n  \"850431\":\n    \"Electrical transformers; n.e.c. in item no. 8504.2, having a power handling capacity not exceeding 1kVA\",\n  \"850432\":\n    \"Transformers; n.e.c. in item no. 8504.2, having a power handling capacity exceeding 1kVA but not exceeding 16kVA\",\n  \"850433\":\n    \"Transformers; n.e.c. in item no. 8504.2, having a power handling capacity exceeding 16kVA but not exceeding 500kVA\",\n  \"850434\":\n    \"Transformers; n.e.c. in item no. 8504.2, having a power handling capacity exceeding 500kVA\",\n  \"850440\": \"Electrical static converters\",\n  \"850450\": \"Electrical inductors; n.e.c. in heading no. 8504\",\n  \"850490\":\n    \"Electrical transformers, static converters and inductors; parts thereof\",\n  \"850511\":\n    \"Magnets; permanent magnets and articles intended to become permanent magnets after magnetisation, of metal\",\n  \"850519\":\n    \"Magnets; permanent magnets and articles intended to become permanent magnets after magnetisation, other than of metal\",\n  \"850520\": \"Magnets; electro-magnetic couplings, clutches and brakes\",\n  \"850530\": \"Magnets; electro-magnetic lifting heads\",\n  \"850590\":\n    \"Magnets; electro-magnets, holding devices and parts n.e.c. in heading no. 8505\",\n  \"850610\": \"Cells and batteries; primary, manganese dioxide\",\n  \"850611\":\n    \"Cells and batteries; primary, of an external volume not exceeding 300cm3, manganese dioxide\",\n  \"850612\":\n    \"Cells and batteries; primary, of an external volume not exceeding 300cm3, mercuric oxide\",\n  \"850613\":\n    \"Cells and batteries; primary, of an external volume not exceeding 300cm3, silver oxide\",\n  \"850619\":\n    \"Cells and batteries; primary, of an external volume not exceeding 300cm3, n.e.s. in heading no. 8506\",\n  \"850620\":\n    \"Cells and batteries; primary, of an external volume exceeding 300cm3\",\n  \"850630\": \"Cells and batteries; primary, mercuric oxide\",\n  \"850640\": \"Cells and batteries; primary, silver oxide\",\n  \"850650\": \"Cells and batteries; primary, lithium\",\n  \"850660\": \"Cells and batteries; primary, air-zinc\",\n  \"850680\":\n    \"Cells and batteries; primary, (other than manganese dioxide, mercuric oxide, silver oxide, lithium or air-zinc)\",\n  \"850690\": \"Cells and batteries; primary, parts thereof\",\n  \"850710\":\n    \"Electric accumulators; lead-acid, of a kind used for starting piston engines, including separators, whether or not rectangular (including square)\",\n  \"850720\":\n    \"Electric accumulators; lead-acid, (other than for starting piston engines), including separators, whether or not rectangular (including square)\",\n  \"850730\":\n    \"Electric accumulators; nickel-cadmium, including separators, whether or not rectangular (including square)\",\n  \"850740\":\n    \"Electric accumulators; nickel-iron, including separators, whether or not rectangular (including square)\",\n  \"850750\":\n    \"Electric accumulators; nickel-metal hydride, including separators, whether or not rectangular (including square)\",\n  \"850760\": \"Li-ion batteries\",\n  \"850780\":\n    \"Electric accumulators; other than lead-acid, nickel-cadmium, nickel-iron, nickel-metal hydride and lithium-ion, including separators, whether or not rectangular (including square)\",\n  \"850790\": \"Electric accumulators; parts n.e.c. in heading no. 8507\",\n  \"850810\":\n    \"Electro-mechanical tools; drills of all kinds, for working in the hand, with self-contained electric motor\",\n  \"850811\":\n    \"Vacuum cleaners, with self-contained electric motor, of a power not exceeding 1,500 W and having a dust bag or other receptacle capacity not exceeding 20L\",\n  \"850819\":\n    \"Vacuum cleaners, with self-contained electric motor, n.e.c. in item no. 8508.1\",\n  \"850820\":\n    \"Electro-mechanical tools; saws, for working in the hand, with self-contained electric motor\",\n  \"850860\": \"Vacuum cleaners, other than with a self-contained electric motor\",\n  \"850870\": \"Parts of vacuum cleaners\",\n  \"850880\":\n    \"Electro-mechanical tools; (other than drills and saws), for working in the hand, with self-contained electric motor\",\n  \"850890\": \"Electro-mechanical tools; parts of the tools of heading no. 8508\",\n  \"850910\":\n    \"Electro-mechanical domestic appliances; with self-contained electric motor, vacuum cleaners (including dry and wet)\",\n  \"850920\":\n    \"Electro-mechanical domestic appliances; floor polishers with self-contained electric motor\",\n  \"850930\":\n    \"Electro-mechanical domestic appliances; kitchen waste disposers with self-contained electric motor\",\n  \"850940\":\n    \"Electro-mechanical domestic appliances; food grinders and mixers, fruit or vegetable juice extractors, with self-contained electric motor\",\n  \"850980\":\n    \"Electro-mechanical domestic appliances; with self-contained electric motor, other than vacuum cleaners of heading 85.08, n.e.c. in heading no. 8509\",\n  \"850990\":\n    \"Electro-mechanical domestic appliances; parts for the appliances of heading no. 8509\",\n  \"851010\": \"Shavers; with self-contained electric motor\",\n  \"851020\": \"Hair clippers; with a self-contained electric motor\",\n  \"851030\": \"Hair-removing appliances; with self-contained electric motor\",\n  \"851090\":\n    \"Shavers and hair clippers; parts of those with self-contained electric motor\",\n  \"851110\":\n    \"Ignition or starting equipment; spark plugs, of a kind used for spark or compression-ignition internal combustion engines\",\n  \"851120\":\n    \"Ignition or starting equipment; ignition magnetos, magneto-dynamos and magnetic flywheels, of a kind used for spark or compression-ignition internal combustion engines\",\n  \"851130\":\n    \"Ignition or starting equipment; distributors and ignition coils of a kind used for spark-ignition or compression-ignition internal combustion engines\",\n  \"851140\":\n    \"Ignition or starting equipment; starter motors and dual purpose starter-generators, of a kind used for spark or compression-ignition internal combustion engines\",\n  \"851150\":\n    \"Ignition or starting equipment; generators n.e.c. in heading no. 8511, of a kind used for spark or compression-ignition internal combustion engines\",\n  \"851180\":\n    \"Ignition or starting equipment; n.e.c. in heading no. 8511, of a kind used for spark or compression-ignition internal combustion engines\",\n  \"851190\":\n    \"Ignition or starting equipment; parts of the equipment of heading no. 8511, for use in spark-ignition or compression-ignition internal combustion engines\",\n  \"851210\":\n    \"Lighting or visual signalling equipment; electrical, of a kind used on bicycles, excluding articles of heading no. 8539\",\n  \"851220\":\n    \"Lighting or visual signalling equipment for motor vehicles; excl. main electric filament or discharge lamp categories\",\n  \"851230\":\n    \"Sound signalling equipment; electrical, used on cycles or motor vehicles (excluding articles of heading no. 8539)\",\n  \"851240\":\n    \"Windscreen wipers, defrosters and demisters; electrical, of kinds used for cycles or motor vehicles\",\n  \"851290\":\n    \"Lighting or signalling equipment; electrical, (excluding articles of heading no. 8539), windscreen wipers, defrosters and demisters; parts, of those kinds used for cycles or motor vehicles\",\n  \"851310\":\n    \"Lamps; portable, electric, designed to function by their own source of energy (excluding lighting equipment of heading no. 8512)\",\n  \"851390\":\n    \"Lamps; parts of portable, electric lamps of heading no. 8513, designed to function by their own source of energy\",\n  \"851410\":\n    \"Furnaces and ovens; electric, for industrial or laboratory use, resistance heated\",\n  \"851411\":\n    \"Furnaces and ovens; electric, for industrial or laboratory use, resistance heated; hot isostatic presses\",\n  \"851419\":\n    \"Furnaces and ovens; electric, for industrial or laboratory use, resistance heated; other than hot isostatic presses, for the manufacture of semiconductor devices on semiconductor wafers\",\n  \"851420\":\n    \"Furnaces and ovens; electric, for industrial or laboratory use, functioning by induction or dielectric loss\",\n  \"851430\":\n    \"Furnaces and ovens; electric, for industrial or laboratory use, other than those functioning by induction, dielectric loss or resistance heated\",\n  \"851431\":\n    \"Furnaces and ovens; electric, for industrial or laboratory use, other than those functioning by induction, dielectric loss or resistance heated, electron beam furnaces\",\n  \"851432\":\n    \"Furnaces and ovens; electric, for industrial or laboratory use, other than those functioning by induction, dielectric loss or resistance heated, plasma and vacuum arc furnaces\",\n  \"851439\":\n    \"Furnaces and ovens; electric, for industrial or laboratory use, other than those functioning by induction, dielectric loss or resistance heated, other than electron beam, plasma or vacuum arc furnaces\",\n  \"851440\":\n    \"Heating equipment; for the heat treatment of materials by induction or dielectric loss, industrial or laboratory, other than furnaces and ovens\",\n  \"851490\":\n    \"Furnaces, ovens and heating equipment; parts of the industrial or laboratory equipment of heading no. 8514\",\n  \"851511\":\n    \"Brazing or soldering machines and apparatus; soldering irons and guns, whether or not capable of cutting\",\n  \"851519\":\n    \"Brazing or soldering machines and apparatus; other than soldering irons and guns, whether or not capable of cutting\",\n  \"851521\":\n    \"Welding machines and apparatus; for resistance welding of metal, fully or partly automatic, whether or not capable of cutting\",\n  \"851529\":\n    \"Welding machines and apparatus; for resistance welding of metal, other than fully or partly automatic, whether or not capable of cutting\",\n  \"851531\":\n    \"Welding machines and apparatus; for arc (including plasma arc) welding of metals, fully or partly automatic, whether or not capable of cutting\",\n  \"851539\":\n    \"Welding machines and apparatus; for arc (including plasma arc) welding of metals, other than fully or partly automatic, whether or not capable of cutting\",\n  \"851580\":\n    \"Welding machines and apparatus; n.e.c. in heading no. 8515, whether or not capable of cutting\",\n  \"851590\":\n    \"Welding, brazing or soldering machines; parts of the machines of heading no. 8515\",\n  \"851610\":\n    \"Heaters; electric, instantaneous or storage water and immersion heaters\",\n  \"851621\": \"Heating apparatus; electric storage heating radiators\",\n  \"851629\":\n    \"Heating apparatus; electric soil heating apparatus and space heating apparatus (excluding storage heating radiators)\",\n  \"851631\": \"Hair-dressing apparatus; electro-thermic hair dryers\",\n  \"851632\": \"Hair-dressing apparatus; electro-thermic, other than hair dryers\",\n  \"851633\": \"Hand-drying apparatus; electro-thermic\",\n  \"851640\": \"Smoothing irons; electric\",\n  \"851650\": \"Ovens; microwave, of a kind used for domestic purposes\",\n  \"851660\":\n    \"Ovens, cookers, cooking plates, boiling rings, grillers and roasters; of a kind used for domestic purposes (excluding microwaves)\",\n  \"851671\":\n    \"Electro-thermic appliances; coffee or tea makers, of a kind used for domestic purposes\",\n  \"851672\":\n    \"Electro-thermic appliances; toasters, of a kind used for domestic purposes\",\n  \"851679\":\n    \"Electro-thermic appliances; n.e.c. in heading no. 8516, used for domestic purposes\",\n  \"851680\": \"Resistors; electric heating, other than those of heading no. 8545\",\n  \"851690\":\n    \"Electro-thermic appliances; parts, of heating resistors, of water, space and soil heaters, hair-dressing apparatus, hand dryers, smoothing irons and other domestic appliances of heading no. 8516\",\n  \"851710\": \"Line telephony or telegraphy apparatus; telephone sets\",\n  \"851711\": \"Line telephone sets with cordless handsets\",\n  \"851712\": \"Cellphones\",\n  \"851713\":\n    \"Telephone sets; smartphones for cellular or other wireless networks\",\n  \"851714\":\n    \"Telephone sets; other than smartphones, for cellular or other wireless networks\",\n  \"851718\": \"Telephone sets n.e.c. in item no. 8517.1\",\n  \"851719\":\n    \"Line telephony or telegraphy apparatus; telephone sets, n.e.s. in item no. 8517.11, videophones\",\n  \"851720\": \"Line telephony or telegraphy apparatus; teleprinters\",\n  \"851721\": \"Line telephony or telegraphy apparatus; facsimile machines\",\n  \"851722\": \"Line telephony or telegraphy apparatus; teleprinters\",\n  \"851730\":\n    \"Line telephony or telegraphy apparatus; telephonic or telegraphic switching apparatus\",\n  \"851740\":\n    \"Line telephony or telegraphy apparatus; for carrier-current line systems, n.e.s. in heading no. 8517\",\n  \"851750\":\n    \"Line telephony or telegraphy apparatus; n.e.s. in heading no. 8517, for carrier-current line systems or for digital line systems\",\n  \"851761\": \"Base stations\",\n  \"851762\":\n    \"Communication apparatus (excluding telephone sets or base stations)\",\n  \"851769\":\n    \"Communication apparatus (excluding telephone sets or base stations); machines for the transmission or reception of voice, images or other data (including wired/wireless networks), n.e.c. in item no. 8517.6\",\n  \"851770\": \"Parts for phones or cellphones\",\n  \"851771\":\n    \"Communication apparatus; parts, aerials and aerial reflectors of all kinds, part suitable for use therewith\",\n  \"851779\":\n    \"Communication apparatus; parts, other than aerials and aerial reflectors of all kinds\",\n  \"851780\":\n    \"Line telephony or telegraphy apparatus; n.e.s. in heading no. 8517\",\n  \"851781\": \"Telephonic apparatus; n.e.s. in heading no. 8517\",\n  \"851782\": \"Telegraphic apparatus; n.e.s. in heading no. 8517\",\n  \"851790\":\n    \"Line telephony or telegraphy apparatus; electrical, parts of the apparatus of heading no. 8517\",\n  \"851810\": \"Microphones and stands therefor\",\n  \"851821\": \"Loudspeakers; single, mounted in their enclosures\",\n  \"851822\": \"Loudspeakers; multiple, mounted in the same enclosure\",\n  \"851829\": \"Loudspeakers; not mounted in their enclosures\",\n  \"851830\": \"Headphones and earphones\",\n  \"851840\": \"Amplifiers; audio-frequency electric\",\n  \"851850\": \"Amplifier sets; electric sound\",\n  \"851890\":\n    \"Microphones, headphones, earphones, amplifier equipment; parts of the equipment of heading no. 8518\",\n  \"851910\":\n    \"Sound reproducing apparatus; coin or disc-operated record players, not incorporating a sound recording device\",\n  \"851920\":\n    \"Sound recording or reproducing apparatus; operated by coins, banknotes, bank cards, tokens or by other means of payment\",\n  \"851921\":\n    \"Sound reproducing apparatus; record players without loudspeaker, other than coin or disc-operated, not incorporating a sound recording device\",\n  \"851929\":\n    \"Sound reproducing apparatus; record players with loudspeaker, other than coin or disc-operated, not incorporating a sound recording device\",\n  \"851930\":\n    \"Sound recording or reproducing apparatus; turntables (record-decks)\",\n  \"851931\":\n    \"Sound reproducing apparatus; turntables (record-decks), with automatic record changing mechanism, not incorporating a sound recording device\",\n  \"851939\":\n    \"Sound reproducing apparatus; turntables (record-decks), without automatic record changing mechanism, not incorporating a sound recording device\",\n  \"851940\":\n    \"Sound reproducing apparatus; transcribing machines, not incorporating a sound recording device\",\n  \"851950\":\n    \"Sound recording or reproducing apparatus; telephone answering machines\",\n  \"851981\":\n    \"Sound recording or reproducing apparatus; using magnetic, optical or semiconductor media, n.e.c. in item no 8519.20, 8519.30 or 8519.50\",\n  \"851989\":\n    \"Sound recording or reproducing apparatus; n.e.c. in heading no 8519\",\n  \"851991\":\n    \"Sound reproducing apparatus; cassette-type, n.e.s. in heading no. 8519, not incorporating a sound recording device\",\n  \"851992\":\n    \"Sound reproducing apparatus; n.e.s. in heading no. 8519, pocket-size cassette players, not incorporating a sound recording device\",\n  \"851993\":\n    \"Sound reproducing apparatus; n.e.s. in heading no. 8519, cassette-type, (not pocket-size), not incorporating a sound recording device\",\n  \"851999\":\n    \"Sound reproducing apparatus; other than cassette-type, n.e.s. in heading no. 8519, not incorporating a sound recording device\",\n  \"852010\":\n    \"Sound recording apparatus; dictating machines, not capable of operating without an external source of power, whether or not incorporating a sound reproducing device\",\n  \"852020\":\n    \"Sound recording apparatus; telephone answering machines, whether or not incorporating a sound reproducing device\",\n  \"852031\":\n    \"Sound recording apparatus; magnetic tape recorders, cassette-type, incorporating a sound reproducing apparatus\",\n  \"852032\":\n    \"Sound recording apparatus; magnetic tape recorders (n.e.s. in item no. 8520.10 or 8520.20), incorporating sound reproducing apparatus, digital audio type\",\n  \"852033\":\n    \"Sound recording apparatus; magnetic tape recorders (n.e.s. in item no. 8520.10 or 8520.20), incorporating sound reproducing apparatus, cassette type, not digital audio type\",\n  \"852039\":\n    \"Sound recording apparatus; magnetic tape recorders (n.e.s. in item no. 8520.10 or 8520.20), incorporating sound reproducing apparatus, other than cassette-type or digital audio type\",\n  \"852090\":\n    \"Sound recording apparatus; n.e.s. in heading no. 8520, whether or not incorporating sound reproducing apparatus\",\n  \"852110\": \"Video recording or reproducing apparatus; magnetic tape-type\",\n  \"852190\":\n    \"Video recording or reproducing apparatus; other than magnetic tape-type\",\n  \"852210\":\n    \"Sound recording or reproducing apparatus; parts and accessories thereof, pick-up cartridges\",\n  \"852290\":\n    \"Sound or video recording or reproducing apparatus; parts and accessories thereof, other than pick-up cartridges\",\n  \"852311\":\n    \"Media, unrecorded; magnetic tapes, prepared, of a width not exceeding 4mm, for sound or similar recording of other phenomena (excluding products of chapter 37)\",\n  \"852312\":\n    \"Media, unrecorded; magnetic tapes, prepared, of a width exceeding 4mm but not exceeding 6.5mm, for sound or similar recording of other phenomena (excluding products of chapter 37)\",\n  \"852313\":\n    \"Media, unrecorded; magnetic tapes, prepared, of a width exceeding 6.5mm, for sound or similar recording of other phenomena (excluding products of chapter 37)\",\n  \"852320\":\n    \"Media, unrecorded; magnetic discs, prepared, for sound or similar recording of other phenomena (excluding products of chapter 37)\",\n  \"852321\":\n    \"Magnetic media; cards incorporating a magnetic stripe, whether or not recorded, excluding products of Chapter 37\",\n  \"852329\":\n    \"Magnetic media; other than cards incorporating a magnetic stripe, whether or not recorded, excluding products of Chapter 37\",\n  \"852330\":\n    \"Media, unrecorded; cards incorporating a magnetic stripe, prepared, for sound or similar recording of other phenomena, (excluding products of chapter 37)\",\n  \"852340\":\n    \"Optical media, whether or not recorded, excluding products of Chapter 37\",\n  \"852341\": \"Optical media; unrecorded, excluding products of Chapter 37\",\n  \"852349\": \"Optical media; recorded, excluding products of Chapter 37\",\n  \"852351\": \"Semiconductor media storage devices; solid-state, non-volatile\",\n  \"852352\":\n    \"Semiconductor media; smart cards,  whether or not recorded, excluding products of Chapter 37\",\n  \"852359\":\n    \"Semiconductor media; other than smart cards, whether or not recorded, excluding products of Chapter 37\",\n  \"852380\":\n    \"Media n.e.c. in heading 8523, whether or not recorded, excluding products of Chapter 37\",\n  \"852390\":\n    \"Media, unrecorded; prepared products n.e.s. in heading no. 8523, for sound or similar recording of other phenomena (excluding products of chapter 37)\",\n  \"852410\":\n    \"Media, recorded; gramophone records, for sound or other similarly recorded phenomena (excluding products of chapter 37)\",\n  \"852411\":\n    \"Flat panel display modules, whether or not incorporating touch-sensitive screens; of liquid crystals, without drivers or control circuits\",\n  \"852412\":\n    \"Flat panel display modules, whether or not incorporating touch-sensitive screens; of organic light-emitting diodes (OLED), without drivers or control circuits\",\n  \"852419\":\n    \"Flat panel display modules, whether or not incorporating touch-sensitive screens; of other than liquid crystals or organic light-emitting diodes (OLED), without drivers or control circuits\",\n  \"852421\":\n    \"Media, recorded; magnetic tapes, (of a width not exceeding 4mm), for sound or other similarly recorded phenomena (excluding products of chapter 37)\",\n  \"852422\":\n    \"Media, recorded; magnetic tapes, of a width exceeding 4mm but not exceeding 6.5mm, for sound recording or similar recording of other phenomena (excluding products of chapter 37)\",\n  \"852423\":\n    \"Media, recorded; magnetic tapes, of a width exceeding 6.5mm, for sound or other similarly recorded phenomena (excluding products of chapter 37)\",\n  \"852431\":\n    \"Media, recorded; discs for laser reading systems, for reproducing phenomena other than sound or image, (excluding products of chapter 37)\",\n  \"852432\":\n    \"Media, recorded; discs for laser reading systems, for reproducing sound only, (excluding products of chapter 37)\",\n  \"852439\":\n    \"Media, recorded; discs for laser reading systems, for reproducing sound or image, not for reproducing sound only, (excluding products of chapter 37)\",\n  \"852440\":\n    \"Media, recorded; magnetic tapes for reproducing phenomena (other than sound or image), (excluding products of chapter 37)\",\n  \"852451\":\n    \"Media, recorded; magnetic tapes for reproducing sound or image, of a width not exceeding 4mm, (excluding products of chapter 37)\",\n  \"852452\":\n    \"Media, recorded; magnetic tapes for reproducing sound or image, of a width exceeding 4mm but not exceeding 6.5mm, (excluding products of chapter 37)\",\n  \"852453\":\n    \"Media, recorded; magnetic tapes for reproducing sound or image, of a width exceeding 6.5mm, (excluding products of chapter 37)\",\n  \"852460\":\n    \"Media, recorded; cards incorporating a magnetic stripe, for sound or other similarly recorded phenomena, (excluding products of chapter 37)\",\n  \"852490\":\n    \"Media, recorded; n.e.s. in heading no. 8524 for sound or similarly recorded phenomena, including matrices and masters for the production of records (excluding products of chapter 37)\",\n  \"852491\":\n    \"Media, recorded; n.e.s. in heading no. 8524, for reproducing phenomena other than sound or image, (excluding products of chapter 37)\",\n  \"852492\":\n    \"Flat panel display modules, whether or not incorporating touch-sensitive screens; of organic light-emitting diodes (OLED), with drivers or control circuits\",\n  \"852499\":\n    \"Media, recorded; n.e.s. in heading no. 8524, for reproducing sound or image, (excluding products of chapter 37)\",\n  \"852510\":\n    \"Transmission apparatus; for radio-telephony, radio-telegraphy, radio-broadcasting or television, whether or not incorporating reception or sound recording and reproducing apparatus\",\n  \"852520\":\n    \"Transmission apparatus; for radio-telephony, radio-telegraphy, radio-broadcasting or television, with reception apparatus, with or without sound recording or reproducing apparatus\",\n  \"852530\": \"Television cameras\",\n  \"852540\":\n    \"Cameras; still image video cameras and other video camera recorders; digital cameras\",\n  \"852550\":\n    \"Transmission apparatus for radio-broadcasting or television, whether or not incorporating sound recording or reproducing apparatus, not incorporating reception apparatus\",\n  \"852560\":\n    \"Transmission apparatus for radio-broadcasting or television, whether or not incorporating sound recording or reproducing apparatus, incorporating reception apparatus\",\n  \"852580\": \"Television cameras, digital cameras and video camera recorders\",\n  \"852581\":\n    \"Television cameras, digital cameras and video camera recorders; high-speed goods as specified in subheading note 1 to this chapter\",\n  \"852582\":\n    \"Television cameras, digital cameras and video camera recorders; radiation-hardened or radiation-tolerant goods as specified in subheading note 2 to this chapter\",\n  \"852583\":\n    \"Television cameras, digital cameras and video camera recorders; night vision goods as specified in subheading note 3 to this chapter\",\n  \"852589\": \"Television cameras; n.e.c. in item no 8525.8\",\n  \"852610\": \"Radar apparatus\",\n  \"852691\": \"Radio navigational aid apparatus\",\n  \"852692\": \"Radio remote control apparatus\",\n  \"852711\":\n    \"Radio-broadcast receivers; operational without external power source, combined with sound recording or reproducing apparatus, including apparatus capable of receiving radio-telephony or radio-telegraphy\",\n  \"852712\":\n    \"Radio broadcast receivers capable of operating without an external power source; pocket-size radio cassette-players\",\n  \"852713\":\n    \"Radio broadcast receivers capable of operating without an external power source; apparatus (other than pocket-size radio cassette-players), combined with sound recording or reproducing apparatus\",\n  \"852719\":\n    \"Radio broadcast receivers capable of operating without an external power source; n.e.c. in item no. 8527.1\",\n  \"852721\":\n    \"Radio-broadcast receivers not capable of operating without an external source of power, of a kind used in motor vehicles; combined with sound recording or reproducing apparatus\",\n  \"852729\":\n    \"Radio-broadcast receivers not capable of operating without an external source of power, of a kind used in motor vehicles; not combined with sound recording or reproducing apparatus\",\n  \"852731\":\n    \"Radio-broadcast receivers; n.e.s. in heading no. 8527, combined with sound recording or reproducing apparatus, including apparatus capable of receiving radio-telephony or radio-telegraphy\",\n  \"852732\":\n    \"Radio broadcast receivers; n.e.s. in heading no. 8527, combined with a clock, including apparatus capable of receiving radio-telephony or radio-telegraphy\",\n  \"852739\":\n    \"Radio-broadcast receivers; n.e.s. in heading no. 8527, other than with sound recording, reproducing apparatus or clock, including apparatus capable of receiving radio-telephony or radio-telegraphy\",\n  \"852790\":\n    \"Reception apparatus; for radio-telephony, radio-telegraphy or radio-broadcasting, whether or not combined in the same housing, n.e.s. in heading no. 8527\",\n  \"852791\":\n    \"Radio-broadcast receivers n.e.c. in heading no. 8527; combined with sound recording or reproducing apparatus\",\n  \"852792\":\n    \"Radio-broadcast receivers n.e.c. in heading no. 8527; not combined with sound recording or reproducing apparatus but combined with a clock\",\n  \"852799\":\n    \"Radio-broadcast receivers n.e.c. in heading no. 8527; not combined with sound recording or reproducing apparatus and not combined with a clock\",\n  \"852810\":\n    \"Television receivers; colour, whether or not combined, in the same housing, with radio broadcast receivers or sound or video recording or reproducing apparatus\",\n  \"852812\":\n    \"Television receivers; colour, whether or not combined, in the same housing, with radio-broadcast receivers or sound or video recording or reproducing apparatus\",\n  \"852813\":\n    \"Television receivers; black and white or other monochrome, whether or not incorporating radio broadcast receivers or sound or video recording or reproducing apparatus\",\n  \"852820\":\n    \"Television receivers; black and white or other monochrome, whether or not combined, in the same housing, with radio broadcast receivers or sound or video recording or reproducing apparatus\",\n  \"852821\": \"Video monitors; colour\",\n  \"852822\": \"Video monitors; black and white and other monochrome\",\n  \"852830\": \"Video projectors\",\n  \"852841\":\n    \"Cathode-ray tube monitors; of a kind solely or principally used in an automatic data processing system of heading 84.71\",\n  \"852842\":\n    \"Monitors; cathode-ray tube, capable of directly connecting to and designed for use with an automatic data processing machine of heading 84.71\",\n  \"852849\":\n    \"Monitors; cathode-ray tube, n.e.c. in subheading 8528.42, whether or not colour\",\n  \"852851\":\n    \"Monitors other than cathode-ray tube; of a kind solely or principally used in an automatic data processing system of heading 84.71\",\n  \"852852\": \"Computer monitors; excl. CRTs\",\n  \"852859\":\n    \"Monitors other than cathode-ray tube; n.e.c. in subheading 8528.52, whether or not colour\",\n  \"852861\":\n    \"Projectors; of a kind solely or principally used in an automatic data processing system of heading 84.71\",\n  \"852862\":\n    \"Projectors; capable of directly connecting to and designed for use with an automatic data processing machine of heading 84.71\",\n  \"852869\": \"Projectors; n.e.c. in subheading 8528.62, whether or not colour\",\n  \"852871\":\n    \"Reception apparatus for television, whether or not incorporating radio-broadcast receivers or sound or video recording or reproducing apparatus; not designed to incorporate a video display or screen\",\n  \"852872\": \"Televisions\",\n  \"852873\":\n    \"Reception apparatus for television, whether or not incorporating radio-broadcast receivers or sound or video recording or reproducing apparatus; incorporating a monochrome video display or screen\",\n  \"852910\":\n    \"Reception and transmission apparatus; aerials and aerial reflectors of all kinds and parts suitable for use therewith\",\n  \"852990\": \"Parts for radio or TV reception and transmission apparatus\",\n  \"853010\":\n    \"Signalling, safety or traffic control equipment; for railways or tramways (excluding those of heading no. 8608)\",\n  \"853080\":\n    \"Signalling, safety or traffic control equipment; for roads, inland waterways, parking facilities, port installations or airfields (excluding those of heading no. 8608)\",\n  \"853090\":\n    \"Signalling apparatus; parts of safety, traffic control equipment for railways, tramways, roads, inland waterways, airfields, parking facilities, port instalments (excluding those of heading no. 8608)\",\n  \"853110\":\n    \"Signalling apparatus; electric, sound or visual, burglar or fire alarms and similar, other than those of heading no. 8512 or 8530\",\n  \"853120\":\n    \"Signalling apparatus; electric, sound or visual, indicator panels incorporating liquid crystal devices (LCD) or light-emitting diodes (LED), excluding those of heading no. 8512 or 8530\",\n  \"853180\":\n    \"Signalling apparatus; electric, sound or visual, apparatus n.e.c. in heading no. 8531, excluding those of heading no. 8512 or 8530\",\n  \"853190\":\n    \"Signalling apparatus; parts of the electric, sound or visual apparatus of heading no. 8531\",\n  \"853210\":\n    \"Electrical capacitors; fixed, designed for use in 50/60 Hz circuits and having a reactive power handling capacity of not less than 0.5 kvar (power capacitors)\",\n  \"853221\": \"Electrical capacitors; fixed, tantalum\",\n  \"853222\": \"Electrical capacitors; fixed, aluminium electrolytic\",\n  \"853223\": \"Electrical capacitors; fixed, ceramic dielectric, single layer\",\n  \"853224\": \"Electric capacitors; fixed, ceramic, multilayer\",\n  \"853225\": \"Electrical capacitors; fixed, dielectric of paper or plastics\",\n  \"853229\": \"Electrical capacitors; fixed, n.e.c. in heading no. 8532\",\n  \"853230\":\n    \"Electrical capacitors; variable or adjustable (pre-set) capacitors\",\n  \"853290\":\n    \"Electrical capacitors; parts of the capacitors of heading no. 8532\",\n  \"853310\":\n    \"Electrical resistors; fixed carbon resistors, composition or film types (including rheostats and potentiometers but excluding heating resistors)\",\n  \"853321\":\n    \"Electrical resistors; fixed, for a power handling capacity not exceeding 20W (including rheostats and potentiometers but excluding heating resistors and carbon resistors)\",\n  \"853329\":\n    \"Electrical resistors; fixed, for a power handling capacity exceeding 20W (including rheostats and potentiometers but excluding heating resistors and carbon resistors)\",\n  \"853331\":\n    \"Electrical resistors; wirewound variable, including rheostats and potentiometers, for a power handling capacity not exceeding 20W (excluding heating)\",\n  \"853339\":\n    \"Electrical resistors; wirewound variable, including rheostats and potentiometers, for a power handling capacity exceeding 20W (excluding heating)\",\n  \"853340\":\n    \"Electrical resistors; variable, including rheostats and potentiometers (excluding heating)\",\n  \"853390\": \"Resistors; parts of the resistors of heading no. 8533\",\n  \"853400\": \"Printed circuits\",\n  \"853510\": \"Electrical apparatus; fuses, for a voltage exceeding 1000 volts\",\n  \"853521\":\n    \"Electrical apparatus; automatic circuit breakers, for a voltage exceeding 1000 volts but less than 72.5kV\",\n  \"853529\":\n    \"Electrical apparatus; automatic circuit breakers, for a voltage of 72.5kV or more\",\n  \"853530\":\n    \"Electrical apparatus; isolating and make-and-break switches, for a voltage exceeding 1000 volts\",\n  \"853540\":\n    \"Electrical apparatus; lightning arresters, voltage limiters and surge suppressors (for a voltage exceeding 1000 volts)\",\n  \"853590\":\n    \"Electrical apparatus; n.e.c. in heading no. 8535, for switching or protecting electrical circuits, for a voltage exceeding 1000 volts\",\n  \"853610\":\n    \"Electrical apparatus; fuses, for a voltage not exceeding 1000 volts\",\n  \"853620\":\n    \"Electrical apparatus; automatic circuit breakers, for a voltage not exceeding 1000 volts\",\n  \"853630\":\n    \"Electrical apparatus; for protecting electrical circuits, n.e.c. in heading no. 8536, for a voltage not exceeding 1000 volts\",\n  \"853641\":\n    \"Electrical apparatus; relays, (for a voltage not exceeding 60 volts)\",\n  \"853649\": \"Electrical apparatus; relays, for a voltage exceeding 60 volts\",\n  \"853650\": \"Other electrical switches <1kV (exclusionary category)\",\n  \"853661\":\n    \"Electrical apparatus; lamp-holders, for a voltage not exceeding 1000 volts\",\n  \"853669\": \"Electrical plugs and sockets; <1kV\",\n  \"853670\": \"Connectors for optical fibres, optical fibre bundles or cables\",\n  \"853690\":\n    \"Other electrical circuit switches and protectors; <1kV (exclusionary category)\",\n  \"853710\": \"Electrical control and distribution boards; < 1kV\",\n  \"853720\":\n    \"Boards, panels, consoles, desks and other bases; for electric control or the distribution of electricity, (other than switching apparatus of heading no. 8517), for a voltage exceeding 1000 volts\",\n  \"853810\":\n    \"Electrical apparatus; parts (e.g. boards, panels, consoles, desks, cabinets, other bases), for goods of heading no. 8537, not equipped with their apparatus\",\n  \"853890\": \"Parts for electric switches, protectors, connectors, and boards\",\n  \"853910\": \"Lamps; sealed beam units\",\n  \"853921\":\n    \"Lamps; filament, (excluding ultra-violet or infra-red), tungsten halogen\",\n  \"853922\":\n    \"Lamps; filament, (excluding ultra-violet or infra-red), of a power not exceeding 200W and for a voltage exceeding 100 volts, other than tungsten halogen\",\n  \"853929\":\n    \"Lamps; filament, (excluding ultra-violet or infra-red), n.e.c. in item no. 8539.2\",\n  \"853931\":\n    \"Lamps; discharge, (excluding ultra-violet), fluorescent, hot cathode\",\n  \"853932\":\n    \"Lamps; discharge, (excluding ultra-violet), mercury or sodium vapour lamps, metal halide lamps\",\n  \"853939\":\n    \"Lamps; discharge, (excluding ultra-violet, excluding fluorescent, hot cathode)\",\n  \"853940\":\n    \"Lamps; ultra-violet or infra-red, arc-lamps lamps, ultra-violet or infra-red, arc-lamps\",\n  \"853941\": \"Lamps; arc-lamps\",\n  \"853949\": \"Lamps; ultra-violet or infra-red lamps, (excluding arc-lamps)\",\n  \"853950\": \"Lamps; light-emitting diode (LED) lamps\",\n  \"853951\":\n    \"Lamps; light-emitting diode (LED) light sources, light-emitting diode (LED) modules\",\n  \"853952\":\n    \"Lamps; light-emitting diode (LED) light sources, light-emitting diode (LED) lamps\",\n  \"853990\": \"Lamps; parts of the lamps of heading no. 8539\",\n  \"854011\":\n    \"Tubes; cathode-ray television picture tubes, including video monitor cathode-ray tubes, colour\",\n  \"854012\":\n    \"Tubes; cathode-ray television picture tubes, including video monitor cathode-ray tubes, monochrome\",\n  \"854020\":\n    \"Tubes; television camera tubes, image converters and intensifiers, other photo-cathode tubes\",\n  \"854030\": \"Tubes; cathode ray tubes, n.e.s. in heading no. 8540\",\n  \"854040\":\n    \"Tubes; data/graphic display tubes, monochrome; data/graphic display tubes, colour, with a phosphor dot screen pitch smaller than 0.4mm\",\n  \"854041\": \"Tubes; microwave tubes, magnetrons, excluding grid-controlled\",\n  \"854042\": \"Tubes; microwave tubes, klystrons, excluding grid-controlled\",\n  \"854049\":\n    \"Tubes; microwave tubes, other than magnetrons and klystrons, excluding grid-controlled\",\n  \"854050\": \"Tubes; data/graphic display, black and white or other monochrome\",\n  \"854060\": \"Tubes; cathode ray, n.e.c. in heading no. 8540\",\n  \"854071\": \"Tubes; microwave, magnetrons, excluding grid-controlled tubes\",\n  \"854072\": \"Tubes; microwave, klystrons, excluding grid-controlled tubes\",\n  \"854079\":\n    \"Tubes; microwave (for example klystrons, travelling wave tubes, carlinotrons), excluding magnetrons and grid-controlled tubes\",\n  \"854081\": \"Valves and tubes; receiver or amplifier\",\n  \"854089\": \"Valves and tubes; n.e.c. in heading no. 8540\",\n  \"854091\": \"Tubes; parts of cathode-ray tubes\",\n  \"854099\":\n    \"Valves and tubes; parts of the valves and tubes of heading no. 8540, excluding parts of cathode-ray tubes\",\n  \"854110\":\n    \"Electrical apparatus; diodes, other than photosensitive or light-emitting diodes (LED)\",\n  \"854121\":\n    \"Electrical apparatus; transistors, (other than photosensitive), with a dissipation rate of less than 1W\",\n  \"854129\": \"Transistors; dissipation rate >1W; excl. photosensitive\",\n  \"854130\":\n    \"Electrical apparatus; thyristors, diacs and triacs, other than photosensitive devices\",\n  \"854140\": \"Photosensitive/photovoltaic/LED semiconductor devices\",\n  \"854141\":\n    \"Electrical apparatus; photosensitive semiconductor devices, light emitting diodes (LED)\",\n  \"854142\":\n    \"Electrical apparatus; photosensitive semiconductor devices, photovoltaic cells not assembled in modules or made up into panels\",\n  \"854143\":\n    \"Electrical apparatus; photosensitive semiconductor devices, photovoltaic cells assembled in modules or made up into panels\",\n  \"854149\":\n    \"Electrical apparatus; photosensitive semiconductor devices, diodes other than light emitting diodes and photovoltaic cells whether or not assembled in modules or made up into panels\",\n  \"854150\":\n    \"Electrical apparatus; photosensitive semiconductor devices n.e.c. in heading no. 8541, including photovoltaic cells, whether or not assembled in modules or made up into panels\",\n  \"854151\":\n    \"Electrical apparatus; photosensitive semiconductor devices, semiconductor-based transducers\",\n  \"854159\":\n    \"Electrical apparatus; photosensitive semiconductor devices n.e.c. in heading no. 8541\",\n  \"854160\": \"Crystals; mounted piezo-electric\",\n  \"854190\":\n    \"Electrical apparatus; parts for diodes, transistors and similar semiconductor devices and photosensitive semiconductor devices\",\n  \"854210\":\n    \"Electronic integrated circuits; cards incorporating an electronic integrated circuit (smart cards)\",\n  \"854211\": \"Electronic circuits; monolithic integrated, digital\",\n  \"854212\":\n    'Electronic circuits; monolithic, integrated, digital, cards incorporating an electronic integrated circuit (\"smart\" cards)',\n  \"854213\":\n    \"Electronic circuits; monolithic, integrated, digital, metal oxide semiconductors (MOS technology)\",\n  \"854214\":\n    \"Electronic circuits; monolithic, integrated, digital, circuits obtained by bipolar technology\",\n  \"854219\":\n    \"Electronic circuits; monolithic, integrated, digital, other, n.e.s. in item no. 8542.1, including circuits obtained by a combination of bipolar and MOS technologies (BIMOS technology)\",\n  \"854220\": \"Electronic circuits; hybrid integrated\",\n  \"854221\":\n    \"Electronic integrated circuits and microassemblies; monolithic integrated circuits, digital\",\n  \"854229\":\n    \"Electronic integrated circuits; monolithic integrated circuits, other than digital\",\n  \"854230\": \"Electronic circuits; monolithic, integrated, other than digital\",\n  \"854231\": \"Chips; processors and controllers\",\n  \"854232\": \"Chips; memories\",\n  \"854233\": \"Integrated circuit amplifier\",\n  \"854239\": \"Other chips (exclusionary category)\",\n  \"854240\": \"Electronic circuits; hybrid, integrated\",\n  \"854250\": \"Electronic microassemblies\",\n  \"854260\": \"Electronic integrated circuits; hybrid integrated circuits\",\n  \"854270\": \"Electronic microassemblies\",\n  \"854280\":\n    \"Electronic circuits and microassemblies; integrated, other than monolithic and hybrid integrated circuits\",\n  \"854290\": \"Parts of electronic integrated circuits\",\n  \"854310\": \"Electrical machines and apparatus; particle accelerators\",\n  \"854311\":\n    \"Electrical machines and apparatus; particle accelerators, ion implanters for doping semiconductor materials, having individual functions n.e.s. in chapter 85\",\n  \"854319\":\n    \"Electrical machines and apparatus; particle accelerators, (other than ion implanters for doping semiconductor materials), having individual functions n.e.s. in chapter 85\",\n  \"854320\": \"Electrical machines and apparatus; signal generators\",\n  \"854330\":\n    \"Electrical machines and apparatus; for electroplating, electrolysis or electrophoresis\",\n  \"854340\":\n    \"Electrical machines and apparatus; electric fence energisers, having individual functions n.e.s. in chapter 85\",\n  \"854370\":\n    \"Other electrical machines and apparatus; having individual functions (exclusionary category)\",\n  \"854380\":\n    \"Electrical machines and apparatus; having individual functions, n.e.s. in heading no. 8543\",\n  \"854381\":\n    \"Electrical machines and apparatus; n.e.s. in heading no. 8543, proximity cards and tags, having individual functions n.e.s. in chapter 85\",\n  \"854389\":\n    \"Electrical machines and apparatus; n.e.s. in heading no. 8543, (other than proximity cards or tags), having individual functions n.e.s. in chapter 85\",\n  \"854390\":\n    \"Electrical machines and apparatus; parts of the electrical goods of heading no. 8543\",\n  \"854411\": \"Insulated electric conductors; winding wire, of copper\",\n  \"854419\":\n    \"Insulated electric conductors; winding wire, (of other than copper)\",\n  \"854420\":\n    \"Insulated electric conductors; co-axial cable and other co-axial electric conductors\",\n  \"854430\": \"Ignition/other wiring sets for vehicles, aircraft, or ship\",\n  \"854441\":\n    \"Insulated electric conductors; for a voltage not exceeding 80 volts, fitted with connectors\",\n  \"854442\": \"Insulated electric conductors; >1kV, fitted with connectors\",\n  \"854449\": \"Insulated electric conductors; <1kV, not fitted with connectors\",\n  \"854451\":\n    \"Insulated electric conductors; for a voltage exceeding 80 volts but not exceeding 1000 volts, fitted with connectors\",\n  \"854459\":\n    \"Insulated electric conductors; for a voltage exceeding 80 volts but not exceeding 1000 volts, not fitted with connectors\",\n  \"854460\": \"Insulated electric conductors; for a voltage exceeding 1000 volts\",\n  \"854470\": \"Insulated electric conductors; optical fibre cables\",\n  \"854511\":\n    \"Carbon electrodes; with or without metal, of a kind used for furnaces\",\n  \"854519\":\n    \"Carbon electrodes; with or without metal, of a kind used for other than furnaces\",\n  \"854520\":\n    \"Carbon brushes; with or without metal, used for electrical purposes\",\n  \"854590\":\n    \"Carbon; lamp carbons, battery carbons and other articles of graphite or other carbon, with or without metal, of a kind used for electrical purposes\",\n  \"854610\": \"Electrical insulators; of glass\",\n  \"854620\": \"Electrical insulators; of ceramics\",\n  \"854690\": \"Electrical insulators; other than of glass and ceramics\",\n  \"854710\":\n    \"Insulating fittings; of ceramics, for electrical machines, of insulating material only (except minor assembly parts), excluding those of heading no. 8546\",\n  \"854720\":\n    \"Insulating fittings; of plastics, for electrical machines, of insulating material only (except minor assembly parts), excluding those of heading no. 8546\",\n  \"854790\":\n    \"Insulating fittings; (other than of ceramics or plastics), for electrical machines, appliances and equipment, excluding insulators of heading no. 8546\",\n  \"854800\":\n    \"Electrical apparatus; parts of machinery and apparatus, n.e.s. in chapter 85\",\n  \"854810\":\n    \"Waste and scrap of primary cells, primary batteries and electric accumulators; spent primary cells, spent primary batteries and spent electric accumulators\",\n  \"854890\": \"Electrical parts of machinery or apparatus; n.e.c. in chapter 85\",\n  \"854911\":\n    \"Waste and scrap of lead-acid accumulators; spent lead-acid accumulators\",\n  \"854912\":\n    \"Waste and scrap; of primary cells, primary batteries and electric accumulators, spent or not, containing lead, cadmium or mercury, other than lead-acid accumulators\",\n  \"854913\":\n    \"Waste and scrap; of primary cells, primary batteries and electric accumulators, spent or not, sorted by chemical type and not containing lead, cadmium or mercury\",\n  \"854914\":\n    \"Waste and scrap; of primary cells, primary batteries and electric accumulators, spent or not, unsorted and not containing lead, cadmium or mercury\",\n  \"854919\":\n    \"Waste and scrap; of primary cells, primary batteries and electric accumulators, n.e.c. in item no 8549.1\",\n  \"854921\":\n    \"Electrical and electronic waste and scrap; of a kind used principally for the recovery of precious metal, containing primary cells and batteries, electric accumulators, mercury-switches, glass from cathode ray tubes or other activated glass, or electrical\",\n  \"854929\":\n    \"Waste and scrap; of a kind used principally for the recovery of precious metal n.e.c. in item no 8549.21\",\n  \"854931\":\n    \"Electrical and electronic waste and scrap; electrical and electronic assemblies and printed circuit boards, other than those used principally for the recovery of precious metal, containing primary cells and batteries, electric accumulators, mercury-switch\",\n  \"854939\":\n    \"Waste and scrap; electrical and electronic assemblies and printed circuit boards, other than those used principally for the recovery of precious metal n.e.c. in item no 8549.31\",\n  \"854991\": \"Waste and scrap; n.e.c. in heading no 8549\",\n  \"854999\": \"Waste and scrap; n.e.c. in item no 8549.91\",\n  \"860110\": \"Rail locomotives; powered from an external source of electricity\",\n  \"860120\": \"Rail locomotives; powered by electric accumulators\",\n  \"860210\": \"Rail locomotives; diesel-electric powered\",\n  \"860290\":\n    \"Rail locomotives and locomotive tenders; other than diesel-electric powered\",\n  \"860310\":\n    \"Railway or tramway coaches, vans and trucks; self-propelled, powered from an external source of electricity (excluding those of heading no. 8604)\",\n  \"860390\":\n    \"Railway or tramway coaches, vans and trucks; self-propelled, powered other than from an external source of electricity (excluding those of heading no. 8604)\",\n  \"860400\":\n    \"Railway or tramway maintenance or service vehicles; whether or not self-propelled (e.g. workshops, cranes, ballast tampers, trackliners, testing coaches and track inspection vehicles)\",\n  \"860500\":\n    \"Railway or tramway coaches; passenger coaches, luggage vans, post office coaches and other special purpose railway or tramway coaches, not self-propelled (excluding those of heading no. 8604)\",\n  \"860610\":\n    \"Railway or tramway goods vans and wagons; tank wagons and the like, not self-propelled\",\n  \"860620\":\n    \"Railway or tramway goods vans and wagons; insulated or refrigerated, not self-propelled, excluding those of item no. 8606.10\",\n  \"860630\":\n    \"Railway or tramway goods vans and wagons; self-discharging, not self-propelled, excluding those of item no. 8606.10\",\n  \"860691\":\n    \"Railway or tramway goods vans and wagons; covered and closed, not self-propelled\",\n  \"860692\":\n    \"Railway or tramway goods vans and wagons; open, with non-removable sides of a height exceeding 60cm, not self-propelled\",\n  \"860699\":\n    \"Railway or tramway goods vans and wagons; n.e.c. in heading no. 8606, not self-propelled\",\n  \"860711\":\n    \"Railway or tramway locomotives or rolling stock; parts, driving bogies and bissel-bogies\",\n  \"860712\":\n    \"Railway or tramway locomotives or rolling stock; parts, bogies and bissel-bogies (excluding driving bogies and bissel-bogies)\",\n  \"860719\":\n    \"Railway or tramway locomotives or rolling stock; parts, axles and wheels, and parts thereof\",\n  \"860721\":\n    \"Railway or tramway locomotives or rolling stock; parts, air brakes and parts thereof\",\n  \"860729\":\n    \"Railway or tramway locomotives or rolling stock; parts, brakes (other than air brakes) and parts thereof\",\n  \"860730\":\n    \"Railway or tramway locomotives or rolling stock; parts, hooks and other coupling devices, buffers and parts thereof\",\n  \"860791\": \"Railway or tramway locomotives; parts n.e.c. in heading no. 8607\",\n  \"860799\":\n    \"Railway or tramway rolling stock; parts n.e.c. in heading no. 8607\",\n  \"860800\":\n    \"Railway or tramway track fixtures and fittings; mechanical (including electro-mechanical) signalling, safety or traffic control equipment for railways, tramways, roads, inland waterways, parking facilities, port installations or airfields; parts thereof\",\n  \"860900\":\n    \"Containers; (including containers for transport of fluids) specially designed and equipped for carriage by one or more modes of transport\",\n  \"870110\": \"Tractors; single axle\",\n  \"870120\": \"Tractors for semi-trailers\",\n  \"870121\":\n    \"Tractors; road tractors for semi-trailers, with only compression-ignition internal combustion piston engine (diesel or semi-diesel)\",\n  \"870122\":\n    \"Tractors; road tractors for semi-trailers, with both compression-ignition internal combustion piston engine (diesel or semi-diesel) and electric motors for propulsion\",\n  \"870123\":\n    \"Tractors; road tractors for semi-trailers, with both spark-ignition internal combustion piston engine and electric motors for propulsion\",\n  \"870124\":\n    \"Tractors; road tractors for semi-trailers, with only electric motors for propulsion\",\n  \"870129\":\n    \"Tractors; road tractors for semi-trailers, with other propulsion methods n.e.c. in item no 8701.2\",\n  \"870130\": \"Tractors; track-laying\",\n  \"870190\":\n    \"Tractors; n.e.c. in heading no 8701 (other than tractors of heading no 8709)\",\n  \"870191\":\n    \"Tractors; n.e.c. in heading no 8701 (other than tractors of heading no 8709); of an engine power not exceeding 18kW\",\n  \"870192\":\n    \"Tractors; n.e.c. in heading no 8701 (other than tractors of heading no 8709); of an engine power exceeding 18kW but not exceeding 37kW\",\n  \"870193\":\n    \"Tractors; n.e.c. in heading no 8701 (other than tractors of heading no 8709); of an engine power exceeding 37kW but not exceeding 75kW\",\n  \"870194\":\n    \"Tractors; n.e.c. in heading no 8701 (other than tractors of heading no 8709); of an engine power exceeding 75kW but not exceeding 130kW\",\n  \"870195\":\n    \"Tractors; n.e.c. in heading no 8701 (other than tractors of heading no 8709); of an engine power exceeding 130kW\",\n  \"870210\": \"Diesel powered buses\",\n  \"870220\":\n    \"Vehicles; public transport type (carries 10 or more persons, including driver), with both compression-ignition internal combustion piston engine (diesel or semi-diesel) and electric motor for propulsion, new or used\",\n  \"870230\":\n    \"Vehicles; public transport type (carries 10 or more persons, including driver), with both compression-ignition internal combustion piston engine (diesel or semi-diesel) and electric motor for propulsion, new or used\",\n  \"870240\":\n    \"Vehicles; public transport type (carries 10 or more persons, including driver), with only electric motor for propulsion, new or used\",\n  \"870290\":\n    \"Vehicles; public transport type (carries 10 or more persons, including driver), n.e.c. in heading 8702, new or used\",\n  \"870310\":\n    \"Vehicles; specially designed for travelling on snow, golf cars and similar vehicles\",\n  \"870321\": \"ICE vehicle; micro SI engine, <=1000cc\",\n  \"870322\": \"ICE vehicle; small SI engine, 1000-1500cc\",\n  \"870323\": \"ICE vehicle; medium SI engine, 1500-3000cc\",\n  \"870324\": \"ICE vehicle; large SI engine, >3000cc\",\n  \"870331\": \"Small diesel cars\",\n  \"870332\": \"Diesel/Semi-diesel vehicle; engine displacement, 1500-2500cc\",\n  \"870333\": \"Large diesel non chargeable cars\",\n  \"870340\": \"NOVC-HEV with spark iginition engines\",\n  \"870350\":\n    \"Vehicles; with both compression-ignition internal combustion piston engine (diesel or semi-diesel) and electric motor for propulsion, incapable of being charged by plugging to external source of electric power\",\n  \"870360\": \"OVC-HEV with spark iginition engines\",\n  \"870370\":\n    \"Vehicles; with both compression-ignition internal combustion piston engine (diesel or semi-diesel) and electric motor for propulsion, capable of being charged by plugging to external source of electric power\",\n  \"870380\": \"Electric motor vehicles\",\n  \"870390\":\n    \"Vehicles; for transport of persons (other than those of heading no. 8702) n.e.c. in heading no. 8703\",\n  \"870410\":\n    \"Vehicles; dumpers, designed for off-highway use, for transport of goods\",\n  \"870421\": \"Diesel Trucks <5t\",\n  \"870422\": \"Diesel Trucks 5-20t\",\n  \"870423\": \"Diesel Trucks >20t\",\n  \"870431\": \"Spark ignition trucks <5t\",\n  \"870432\":\n    \"Vehicles; spark-ignition internal combustion piston engine, for transport of goods, (of a g.v.w. exceeding 5 tonnes), n.e.c. in item no 8704.1\",\n  \"870441\":\n    \"Vehicles; with both compression-ignition internal combustion piston engine (diesel/semi-diesel) and electric motor as motor for propulsion, unassembled as in section 14, (gvw not exceeding 5000kg), for the transport of goods, vans\",\n  \"870442\":\n    \"Vehicles; with both compression-ignition internal combustion piston engine (diesel/semi-diesel) and electric motors for propulsion, of a g.v.w. exceeding 5,000kg but not exceeding 20,000kg\",\n  \"870443\":\n    \"Vehicles; with both compression-ignition internal combustion piston engine (diesel/semi-diesel) and electric motors for propulsion, of a g.v.w. exceeding 20,000kg\",\n  \"870451\":\n    \"Vehicles; with both spark-ignition internal combustion piston engine and electric motors for propulsion, of a g.v.w. not exceeding 5,000kg\",\n  \"870452\":\n    \"Vehicles; with both spark-ignition internal combustion piston engine and electric motors for propulsion, of a g.v.w. exceeding 5,000kg\",\n  \"870460\": \"Vehicles; with only electric motor for propulsion\",\n  \"870490\": \"Vehicles; for transport of goods, n.e.c. in heading no. 8704\",\n  \"870510\": \"Vehicles; crane lorries\",\n  \"870520\": \"Vehicles; mobile drilling derricks\",\n  \"870530\": \"Vehicles; fire fighting vehicles\",\n  \"870540\": \"Vehicles; concrete-mixer lorries\",\n  \"870590\":\n    \"Vehicles; break-down lorries, road-sweepers, spraying lorries, mobile workshops, mobile radiological units, and other special purpose vehicles n.e.c. in heading no. 8705\",\n  \"870600\":\n    \"Chassis; fitted with engines, for the motor vehicles of heading no. 8701 to 8705\",\n  \"870710\":\n    \"Vehicles; bodies (including cabs) for the motor vehicles of heading no. 8703\",\n  \"870790\":\n    \"Vehicles; bodies (including cabs) for the motor vehicles of heading no. 8701, 8702, 8704 or 8705\",\n  \"870810\":\n    \"Vehicles; bumpers and parts thereof, for the vehicles of heading no. 8701 to 8705\",\n  \"870821\": \"Vehicles; parts of bodies, safety seat belts\",\n  \"870822\":\n    \"Vehicles; parts and accessories, front windscreens (windshields), rear windows and other windows specified in subheading note 1 to this chapter\",\n  \"870829\": \"Parts and accessories for vehicle bodies; excl. seat belts\",\n  \"870830\": \"Brakes and servo-brakes; incl. parts\",\n  \"870831\": \"Vehicles; parts, mounted brake linings\",\n  \"870839\":\n    \"Vehicles; brakes, servo brakes and parts, not mounted brake linings\",\n  \"870840\": \"Gear boxes; incl. parts\",\n  \"870850\": \"Drive axles with differential for motor vehicles\",\n  \"870860\": \"Vehicles; non-driving axles and parts thereof\",\n  \"870870\": \"Wheels for motor vehicles\",\n  \"870880\": \"Suspension systems for motor vehicles\",\n  \"870891\": \"Vehicle parts; radiators and parts thereof\",\n  \"870892\":\n    \"Vehicle parts; silencers (mufflers) and exhaust pipes; parts thereof\",\n  \"870893\": \"Vehicle parts; clutches and parts thereof\",\n  \"870894\": \"Parts of steering wheels, columns, and boxes\",\n  \"870895\": \"Vehicle parts; safety airbags with inflater system; parts thereof\",\n  \"870899\": \"Other vehicle parts and accessories (exclusionary category)\",\n  \"870911\":\n    \"Vehicles; electrical, self-propelled, (not fitted with lifting or handling equipment), of the type used for short distance transport of goods in factories, warehouses, dock areas or airports\",\n  \"870919\":\n    \"Vehicles; (not electrical), self-propelled, without handling equipment, used for short distance transport of goods in factories, airports and such, and tractors of the type used on railway station platforms\",\n  \"870990\": \"Vehicles; parts of the vehicles of heading no. 8709\",\n  \"871000\":\n    \"Tanks and other armoured fighting vehicles; motorised, whether or not fitted with weapons, and parts of such vehicles\",\n  \"871110\":\n    \"Motorcycles (including mopeds) and cycles; fitted with an auxiliary motor, with reciprocating internal combustion piston engine not exceeding 50cc, with or without side-cars; side-cars\",\n  \"871120\":\n    \"Motorcycles (including mopeds) and cycles; fitted with an auxiliary motor, reciprocating internal combustion piston engine, of cylinder capacity exceeding 50cc but not exceeding 250cc, with or without side-cars; side-cars\",\n  \"871130\":\n    \"Motorcycles (including mopeds) and cycles; fitted with an auxiliary motor, reciprocating internal combustion piston engine, of cylinder capacity exceeding 250cc but not exceeding 500cc, with or without side-cars; side-cars\",\n  \"871140\":\n    \"Motorcycles (including mopeds) and cycles; fitted with auxiliary motor, reciprocating internal combustion piston engine of cylinder capacity exceeding 500cc but not exceeding 800cc, with or without sidecars; side-cars\",\n  \"871150\":\n    \"Motorcycles (including mopeds) and cycles; fitted with auxiliary motor, with reciprocating internal combustion piston engine of a cylinder capacity exceeding 800cc, with or without side-cars; side-cars\",\n  \"871160\":\n    \"Motorcycles (including mopeds) and cycles; fitted with auxiliary motor, with electric motor for propulsion, with or without side-cars; side-cars\",\n  \"871190\":\n    \"Motorcycles (including mopeds) and cycles; n.e.c. in heading no. 8711, fitted with auxiliary motor, with or without side-cars; side-cars\",\n  \"871200\":\n    \"Bicycles and other cycles; including delivery tricycles, not motorised\",\n  \"871310\": \"Carriages for disabled persons; not mechanically propelled\",\n  \"871390\": \"Carriages for disabled persons; mechanically propelled\",\n  \"871410\": \"Motorcycles (including mopeds); parts and accessories\",\n  \"871411\": \"Motorcycles (including mopeds); parts, saddles\",\n  \"871419\": \"Motorcycles (including mopeds); parts, other than saddles\",\n  \"871420\": \"Carriages for disabled persons; parts and accessories thereof\",\n  \"871491\": \"Cycles; frames and forks, and parts thereof\",\n  \"871492\": \"Cycles; parts thereof, wheel rims and spokes\",\n  \"871493\":\n    \"Cycles; parts thereof, hubs (other than coaster braking hubs and hub brakes) and free-wheel sprocket-wheels\",\n  \"871494\":\n    \"Cycles; parts thereof, brakes, including coaster braking hubs and hub-brakes, and parts thereof\",\n  \"871495\": \"Cycles; parts thereof, saddles\",\n  \"871496\": \"Cycles; parts, pedals and crank-gear, and parts thereof\",\n  \"871499\": \"Cycles; parts thereof, n.e.c. in item no. 8714.9\",\n  \"871500\": \"Baby carriages and parts thereof\",\n  \"871610\":\n    \"Trailers and semi-trailers; of the caravan type, for housing or camping\",\n  \"871620\":\n    \"Trailers and semi-trailers; self-loading or self-unloading, for agricultural purposes\",\n  \"871631\": \"Tanker trailers and tanker semi-trailers\",\n  \"871639\": \"Trailers and semi-trailers; (other than tanker type)\",\n  \"871640\": \"Trailers and semi-trailers; n.e.c. in item no. 8716.3\",\n  \"871680\": \"Vehicles; n.e.c. in heading no. 8716\",\n  \"871690\":\n    \"Trailers, semi-trailers and other vehicles not mechanically propelled; parts thereof for heading no. 8716\",\n  \"880100\":\n    \"Balloons and dirigibles; gliders, hang gliders and other non-powered aircraft.\",\n  \"880110\": \"Gliders and hang gliders\",\n  \"880190\": \"Balloons and dirigibles and other non-powered aircraft\",\n  \"880211\": \"Helicopters; of an unladen weight not exceeding 2000kg\",\n  \"880212\": \"Helicopters; of an unladen weight exceeding 2000kg\",\n  \"880220\":\n    \"Aeroplanes and other aircraft; of an unladen weight not exceeding 2000kg\",\n  \"880230\":\n    \"Aeroplanes and other aircraft; of an unladen weight exceeding 2000kg but not exceeding 15,000kg\",\n  \"880240\": \"Aeroplanes and other aircraft; weight >15t\",\n  \"880250\": \"Spacecraft (including satellites) and spacecraft launch vehicles\",\n  \"880260\":\n    \"Spacecraft; (including satellites) and suborbital and spacecraft launch vehicles\",\n  \"880310\": \"Aircraft and spacecraft; propellers and rotors and parts thereof\",\n  \"880320\": \"Aircraft and spacecraft; under-carriages and parts thereof\",\n  \"880330\": \"Other aircraft parts (exclusionary category)\",\n  \"880390\": \"Aircraft and spacecraft; parts thereof n.e.c. in chapter 88\",\n  \"880400\":\n    \"Parachutes (including dirigible parachutes and paragliders) and rotochutes; parts thereof and accessories thereto\",\n  \"880510\":\n    \"Aircraft launching gear, deck-arrestor or similar gear and parts thereof\",\n  \"880520\": \"Ground flying trainers and parts thereof\",\n  \"880521\":\n    \"Ground flying trainers and parts thereof; air combat simulators and parts thereof\",\n  \"880529\":\n    \"Ground flying trainers and parts thereof; other than air combat simulators and parts thereof\",\n  \"880610\": \"Unmanned aircraft; for carriage of passengers\",\n  \"880621\":\n    \"Unmanned aircraft; for remote-controlled flight only, for other than for carriage of passengers, with the maximum take-off weight of not more than 250g\",\n  \"880622\":\n    \"Unmanned aircraft; for remote-controlled flight only, for other than for carriage of passengers, with the maximum take-off weight of more than 250g but not more than 7kg\",\n  \"880623\":\n    \"Unmanned aircraft; for remote-controlled flight only, for other than for carriage of passengers, with the maximum take-off weight of more than 7kg but not more than 25kg\",\n  \"880624\":\n    \"Unmanned aircraft; for remote-controlled flight only, for other than for carriage of passengers, with the maximum take-off weight of more than 25kg but not more than 150kg\",\n  \"880629\":\n    \"Unmanned aircraft; for remote-controlled flight only, for other than for carriage of passengers, with the maximum take-off weight of more than 150kg\",\n  \"880691\":\n    \"Unmanned aircraft; for other than remote-controlled flight and other than for carriage of passengers with a maximum take-off weight not more than 250g\",\n  \"880692\":\n    \"Unmanned aircraft; for other than remote-controlled flight and other than for carriage of passengers with a maximum take-off weight more than 250g but not more than 7kg\",\n  \"880693\":\n    \"Unmanned aircraft; for other than remote-controlled flight and other than for carriage of passengers with a maximum take-off weight more than 7kg but not more than 25kg\",\n  \"880694\":\n    \"Unmanned aircraft; for other than remote-controlled flight and other than for carriage of passengers with a maximum take-off weight more than 25kg but not more than 150kg\",\n  \"880699\":\n    \"Unmanned aircraft; for other than remote-controlled flight and other than for carriage of passengers with a maximum take-off weight more than 150kg\",\n  \"880710\": \"Aircraft and spacecraft; propellers and rotors and parts thereof\",\n  \"880720\": \"Aircraft and spacecraft; under-carriages and parts thereof\",\n  \"880730\":\n    \"Aircraft and spacecraft; parts of aeroplanes, helicopters or unmanned aircraft n.e.c. in heading no. 8807\",\n  \"880790\": \"Aircraft and spacecraft; parts thereof n.e.c. in chapter 88\",\n  \"890110\":\n    \"Cruise ships, excursion boats and similar vessels, principally designed for the transport of persons, ferry boats of all kinds\",\n  \"890120\": \"Tankers\",\n  \"890130\": \"Vessels, refrigerated; other than tankers\",\n  \"890190\":\n    \"Other vessels for transport of persons and goods (exclusionary category)\",\n  \"890200\":\n    \"Fishing vessels, factory ships and other vessels; for processing or preserving fishery products\",\n  \"890310\":\n    \"Yachts and other vessels; for pleasure or sports, rowing boats and canoes, inflatable\",\n  \"890311\":\n    \"Yachts and other vessels; for pleasure or sports, inflatable (including rigid hull inflatable), fitted or designed to be fitted with a motor, unladen (net) weight (excluding the motor) not exceeding 100kg\",\n  \"890312\":\n    \"Yachts and other vessels; for pleasure or sports, inflatable (including rigid hull inflatable), not designed to be used with a motor and unladen (net) weight not exceeding 100kg\",\n  \"890319\":\n    \"Yachts and other vessels; for pleasure or sports, inflatable (including rigid hull inflatable), unladen (net) weight exceeding 100kg\",\n  \"890321\":\n    \"Sailboats; (other than inflatable) with or without auxiliary motor, for pleasure or sports, of a length not exceeding 7.5m\",\n  \"890322\":\n    \"Sailboats; (other than inflatable) with or without auxiliary motor, for pleasure or sports, of a length exceeding 7.5m but not exceeding 24m\",\n  \"890323\":\n    \"Sailboats; (other than inflatable) with or without auxiliary motor, for pleasure or sports, of a length exceeding 24m\",\n  \"890331\":\n    \"Motorboats; (other than outboard motorboats), for pleasure or sports, other than inflatable, of a length not exceeding 7.5m\",\n  \"890332\":\n    \"Motorboats; (other than outboard motorboats), for pleasure or sports, other than inflatable, of a length exceeding 7.5m but not exceeding 24m\",\n  \"890333\":\n    \"Motorboats; (other than outboard motorboats), for pleasure or sports, other than inflatable, of a length exceeding 24m\",\n  \"890391\":\n    \"Sailboats; with or without auxiliary motor, for pleasure or sports, other than inflatable\",\n  \"890392\":\n    \"Motorboats; (other than outboard motorboats), for pleasure or sports, other than inflatable\",\n  \"890393\":\n    \"Vessels; (other than sailboats and motorboats), for pleasure or sports, other than inflatable, of a length not exceeding 7.5m\",\n  \"890399\":\n    \"Yachts and other vessels; for pleasure or sports, rowing boats and canoes, n.e.c. in heading no. 8903, other than inflatable\",\n  \"890400\": \"Tugs and pusher craft\",\n  \"890510\": \"Dredgers\",\n  \"890520\": \"Floating or submersible drilling or production platforms\",\n  \"890590\":\n    \"Vessels; light, fire-floats, floating cranes and other vessels, the navigability of which is subsidiary to their main function, floating docks\",\n  \"890600\":\n    \"Vessels; other, including warships and lifeboats, other than rowing boats\",\n  \"890610\": \"Vessels; warships\",\n  \"890690\":\n    \"Vessels; other, including lifeboats other than rowing boats, other than warships\",\n  \"890710\": \"Rafts; inflatable\",\n  \"890790\":\n    \"Floating structures; tanks, coffer-dams, landing stages, buoys and beacons\",\n  \"890800\": \"Vessels and other floating structures; for breaking up\",\n  \"900110\":\n    \"Optical fibres, optical fibre bundles and cables; excluding those of heading no. 8544\",\n  \"900120\": \"Optical elements; polarising material, sheets and plates thereof\",\n  \"900130\":\n    \"Lenses, contact; unmounted, of any material, excluding elements of glass not optically worked\",\n  \"900140\":\n    \"Lenses, spectacle; unmounted, of glass, excluding elements of glass not optically worked\",\n  \"900150\": \"Lenses, spectacle; unmounted, of materials other than glass\",\n  \"900190\":\n    \"Optical elements; lenses n.e.c. in heading no. 9001, prisms, mirrors and other optical elements, unmounted, of any material (excluding elements of glass not optically worked)\",\n  \"900211\":\n    \"Lenses; objective, for cameras, projectors or photographic enlargers or reducers, mounted, being parts or fittings for instruments or apparatus, of any material (excluding glass not optically worked)\",\n  \"900219\":\n    \"Lenses; objective, (other than for cameras, projectors or photographic enlargers or reducers), mounted, of any material (excluding elements of glass not optically worked)\",\n  \"900220\":\n    \"Filters; mounted as parts or fittings for instruments or apparatus, of any material (excluding elements of glass not optically worked)\",\n  \"900290\":\n    \"Optical elements; n.e.c. in heading no. 9002 (e.g. prisms and mirrors), mounted, being parts or fittings for instruments or apparatus, of any material (excluding elements of glass not optically worked)\",\n  \"900311\":\n    \"Frames and mountings; for spectacles, goggles or the like, of plastics\",\n  \"900319\":\n    \"Frames and mountings; for spectacles, goggles or the like, of materials other than plastics\",\n  \"900390\": \"Frames and mountings; parts for spectacles, goggles or the like\",\n  \"900410\": \"Sunglasses; corrective, protective or other\",\n  \"900490\":\n    \"Spectacles, goggles and the like; (other than sunglasses) corrective, protective or other\",\n  \"900510\": \"Binoculars\",\n  \"900580\":\n    \"Monoculars; other optical telescopes and astronomical instruments, excluding instruments for radio-astronomy\",\n  \"900590\":\n    \"Binoculars, monoculars, other optical telescopes, astronomical instruments (excluding those of radio-astronomy); parts and accessories (including mountings)\",\n  \"900610\":\n    \"Cameras, photographic (excluding cinematographic); of a kind used for preparing printing plates or cylinders\",\n  \"900620\":\n    \"Cameras, photographic (excluding cinematographic); of a kind used for recording documents on microfilm, microfiche or other microforms\",\n  \"900630\":\n    \"Cameras, photographic (excluding cinematographic); specially designed for underwater use, aerial survey, medical or surgical examination of internal organs; comparison cameras for forensic or criminological use\",\n  \"900640\":\n    \"Cameras, photographic (excluding cinematographic); instant print cameras\",\n  \"900651\":\n    \"Cameras, photographic (excluding cinematographic); with a through-the-lens viewfinder, single lens reflex (SLR), for a roll film of a width not exceeding 35mm\",\n  \"900652\":\n    \"Cameras, photographic (excluding cinematographic); of a kind (not SLR) for roll film of a width less than 35mm\",\n  \"900653\":\n    \"Cameras, photographic (excluding cinematographic); of a kind (not SLR) for roll film of a width of 35mm\",\n  \"900659\":\n    \"Cameras, photographic (excluding cinematographic); n.e.c. in heading no 9006\",\n  \"900661\": \"Photographic flashlight apparatus; discharge lamp (electronic)\",\n  \"900662\":\n    \"Photographic flashlight apparatus; flashbulbs, flashcubes and the like\",\n  \"900669\": \"Photographic flashlight apparatus; n.e.c. in heading no. 9006\",\n  \"900691\":\n    \"Cameras, photographic (excluding cinematographic); parts and accessories\",\n  \"900699\":\n    \"Photographic flashlight apparatus; parts and accessories, for other than cameras\",\n  \"900710\":\n    \"Cameras, cinematographic; whether or not incorporating sound recording apparatus\",\n  \"900711\":\n    \"Cameras, cinematographic; whether or not incorporating sound recording apparatus, for film of less than 16mm width or for double-8mm film\",\n  \"900719\":\n    \"Cameras, cinematographic; whether or not incorporating sound recording apparatus, for film n.e.c. in item no. 9007.11\",\n  \"900720\":\n    \"Projectors, cinematographic; whether or not incorporating sound recording or reproducing apparatus\",\n  \"900721\":\n    \"Projectors, cinematographic; whether or not incorporating sound reproducing apparatus, for film of less than 16mm width\",\n  \"900729\":\n    \"Projectors, cinematographic; whether or not incorporating sound reproducing apparatus, for film 16mm or more wide\",\n  \"900791\":\n    \"Cameras, cinematographic; parts and accessories, whether or not incorporating sound recording apparatus\",\n  \"900792\":\n    \"Projectors, cinematographic; parts and accessories, whether or not incorporating sound reproducing apparatus\",\n  \"900810\": \"Projectors, image; slide (excluding cinematographic)\",\n  \"900820\":\n    \"Projectors, image; microfilm, microfiche or other microform readers, whether or not capable of producing copies\",\n  \"900830\":\n    \"Projectors, image; (other than slide projectors and microfilm, microfiche or other microform readers), (excluding cinematographic)\",\n  \"900840\": \"Photographic (excluding cinematographic) enlargers and reducers\",\n  \"900850\":\n    \"Image projectors, photographic enlargers and reducers, excluding cinematographic\",\n  \"900890\":\n    \"Photographic (other than cinematographic) image projectors, enlargers, and reducers; parts and accessories\",\n  \"900911\":\n    \"Photocopying apparatus; electrostatic, operating by reproducing the original image directly onto the copy (direct process)\",\n  \"900912\":\n    \"Photocopying apparatus; electrostatic, operating by reproducing the original image via an intermediate onto the copy (indirect process)\",\n  \"900921\":\n    \"Photocopying apparatus; (excluding electrostatic), incorporating an optical system\",\n  \"900922\":\n    \"Photocopying apparatus; (excluding electrostatic), of the contact type\",\n  \"900930\": \"Thermo-copying apparatus\",\n  \"900990\": \"Photo and thermo-copying apparatus; parts and accessories\",\n  \"900991\":\n    \"Photo and thermo-copying apparatus; parts and accessories; automatic document feeders\",\n  \"900992\":\n    \"Photo and thermo-copying apparatus; parts and accessories; paper feeders\",\n  \"900993\":\n    \"Photo and thermo-copying apparatus; parts and accessories; sorters\",\n  \"900999\": \"Photo and thermo-copying apparatus; other parts and accessories\",\n  \"901010\":\n    \"Photographic laboratory apparatus and equipment; for automatically developing photographic (including cinematographic) film or paper in rolls or for automatically exposing developed film to rolls of paper\",\n  \"901020\":\n    \"Photographic laboratory apparatus and equipment (including cinematographic); negatoscopes and other equipment n.e.s. in heading no. 9010\",\n  \"901030\":\n    \"Photographic laboratory apparatus and equipment (including cinematographic); projection screens\",\n  \"901041\":\n    \"Photographic laboratory apparatus and equipment (including cinematographic); for the projection or drawing of circuit patterns on sensitised semiconductor materials, direct write-on-wafer apparatus\",\n  \"901042\":\n    \"Photographic laboratory apparatus and equipment (including cinematographic); for the projection or drawing of circuit patterns on sensitised semiconductor materials, step and repeat aligners\",\n  \"901049\":\n    \"Photographic laboratory apparatus and equipment (including cinematographic); for the projection or drawing of circuit patterns on sensitised semiconductor materials, n.e.s. in item no. 9010.4\",\n  \"901050\":\n    \"Photographic laboratory apparatus and equipment; n.e.c. in item no. 9010.10, for photographic (including cinematographic) laboratories; negatoscopes\",\n  \"901060\":\n    \"Photographic laboratory apparatus and equipment (including cinematographic); projection screens\",\n  \"901090\":\n    \"Photographic laboratory apparatus and equipment (including cinematographic); parts and accessories\",\n  \"901110\": \"Microscopes, compound optical; stereoscopic microscopes\",\n  \"901120\":\n    \"Microscopes, compound optical; for photomicrography, cinephotomicrography or microprojection\",\n  \"901180\":\n    \"Microscopes, compound optical; (other than stereoscopic and microscopes for photomicrography, cinephotomicrography or microprojection)\",\n  \"901190\":\n    \"Microscopes, compound optical; parts and accessories (including those for photomicrography, cinephotomicrography or microprojection)\",\n  \"901210\":\n    \"Microscopes (excluding optical microscopes); diffraction apparatus\",\n  \"901290\":\n    \"Microscopes (excluding optical microscopes); diffraction apparatus; parts and accessories\",\n  \"901310\":\n    \"Optical appliances and instruments; telescopic sights for fitting to arms; periscopes; telescopes designed to form parts of machines, appliances, instruments or apparatus of this chapter\",\n  \"901320\": \"Lasers; excl. laser diodes\",\n  \"901380\": \"Other optical devices (exclusionary category)\",\n  \"901390\":\n    \"Optical appliances and instruments; parts and accessories for articles of heading no. 9013\",\n  \"901410\":\n    \"Navigational instruments and appliances; direction finding compasses\",\n  \"901420\":\n    \"Navigational instruments and appliances; for aeronautical or space navigation (excluding compasses)\",\n  \"901480\":\n    \"Navigational instruments and appliances; for navigation other than aeronautical or space navigation (excluding direction finding compasses)\",\n  \"901490\": \"Navigational instruments and appliances; parts and accessories\",\n  \"901510\": \"Rangefinders\",\n  \"901520\": \"Surveying equipment; theodolites and tacheometers\",\n  \"901530\": \"Surveying equipment; levels\",\n  \"901540\":\n    \"Surveying equipment; photogrammetrical surveying instruments and appliances\",\n  \"901580\":\n    \"Surveying equipment; articles n.e.c. in heading no. 9015, including hydrographic, oceanographic, hydrological, meteorological or geophysical instruments and appliances (excluding compasses)\",\n  \"901590\":\n    \"Surveying equipment; parts and accessories for articles of heading no. 9015\",\n  \"901600\":\n    \"Balances; of a sensitivity of 5cg or better, with or without weights\",\n  \"901710\": \"Drafting tables and machines; whether or not automatic\",\n  \"901720\": \"Drawing, marking-out or mathematical calculating instruments\",\n  \"901730\": \"Mathematical equipment; micrometers, callipers and gauges\",\n  \"901780\":\n    \"Mathematical instruments and equipment; n.e.c. in heading no. 9017\",\n  \"901790\":\n    \"Drawing, marking-out equipment and mathematical instruments; parts and accessories\",\n  \"901811\":\n    \"Medical, surgical instruments and appliances; electro-cardiographs\",\n  \"901812\":\n    \"Medical, surgical instruments and appliances; ultrasonic scanning apparatus\",\n  \"901813\":\n    \"Medical, surgical instruments and appliances; magnetic resonance imaging apparatus\",\n  \"901814\":\n    \"Medical, surgical instruments and appliances; scintigraphic apparatus\",\n  \"901819\":\n    \"Electro-diagnostic apparatus; excl. MRI, electro-cardiographs, scintigraphic and ultrasonic apparatus\",\n  \"901820\":\n    \"Medical, surgical instruments and appliances; ultra-violet or infra-red ray apparatus\",\n  \"901831\":\n    \"Medical, surgical instruments and appliances; syringes, with or without needles\",\n  \"901832\":\n    \"Medical, surgical instruments and appliances; tubular metal needles and needles for sutures\",\n  \"901839\": \"Catheters, cannulae, and similar\",\n  \"901841\":\n    \"Dental instruments and appliances; dental drill engines, whether or not combined on a single base with other dental equipment\",\n  \"901849\":\n    \"Dental instruments and appliances; other than dental drill engines\",\n  \"901850\": \"Ophthalmic instruments and appliances\",\n  \"901890\": \"Other medical and surgical instruments (exclusionary category)\",\n  \"901910\": \"Massage and psychological aptitude-testing apparatus\",\n  \"901920\": \"Therapeutic respiration apparatus\",\n  \"902000\":\n    \"Breathing appliances and gas masks; excluding protective masks having neither mechanical parts nor replaceable filters and excluding apparatus of item no. 9019.20\",\n  \"902110\": \"Orthopaedic or fracture appliances\",\n  \"902111\": \"Orthopaedic or fracture appliances; artificial joints\",\n  \"902119\":\n    \"Orthopaedic or fracture appliances; crutches, surgical belts and trusses, splints and other fracture appliances\",\n  \"902121\": \"Dental fittings; artificial teeth\",\n  \"902129\": \"Dental fittings; other than artificial teeth\",\n  \"902130\": \"Artificial parts of the body\",\n  \"902131\": \"Artificial body parts\",\n  \"902139\": \"Artificial body parts; excl. joints\",\n  \"902140\": \"Hearing aids (excluding parts and accessories)\",\n  \"902150\":\n    \"Pacemakers; for stimulating heart muscles (excluding parts and accessories)\",\n  \"902190\": \"Other orthopaedic appliances (exclusionary category)\",\n  \"902211\":\n    \"Apparatus based on the use of x-rays, including radiography or radiotherapy apparatus; for medical, surgical, dental or veterinary uses\",\n  \"902212\":\n    \"Apparatus based on the use of x-rays; including radiography or radiotherapy apparatus, whether or not for medical, surgical, dental or veterinary uses, computed tomography apparatus\",\n  \"902213\":\n    \"Apparatus based on the use of x-rays; including radiography or radiotherapy apparatus, for dental uses, excluding computed tomography apparatus\",\n  \"902214\":\n    \"Apparatus based on the use of x-rays; including radiography or radiotherapy apparatus, for medical, surgical or veterinary uses, not dental uses, excluding computed tomography apparatus\",\n  \"902219\":\n    \"Apparatus based on the use of x-rays, including radiography or radiotherapy apparatus; for other than medical, surgical, dental or veterinary uses\",\n  \"902221\":\n    \"Apparatus based on the use of alpha, beta or gamma radiations, including radiography or radiotherapy apparatus; for medical, surgical, dental or veterinary uses\",\n  \"902229\":\n    \"Apparatus based on the use of alpha, beta or gamma radiations, including radiography or radiotherapy apparatus; (for other than medical, surgical, dental or veterinary uses)\",\n  \"902230\": \"X-ray tubes\",\n  \"902290\":\n    \"Apparatus based on use of x-rays and similar; parts and accessories (x-ray generators, tubes, high tension generators, control panels and desks, screens, examination or treatment tables, chairs and like\",\n  \"902300\":\n    \"Instruments, apparatus and models; designed for demonstrational purposes (in education or exhibitions), unsuitable for other uses\",\n  \"902410\":\n    \"Machines and appliances; for testing the hardness, strength, compressibility, elasticity or other mechanical properties of metals\",\n  \"902480\":\n    \"Machines and appliances; for testing the hardness, strength, compressibility, elasticity or other mechanical properties of materials other than metals\",\n  \"902490\":\n    \"Machines and appliances; parts and accessories for those testing hardness, strength, compressibility, elasticity or other mechanical properties of materials (e.g. metal, wood, textiles, paper, plastics)\",\n  \"902511\":\n    \"Thermometers and pyrometers; liquid filled, for direct reading, not combined with other instruments\",\n  \"902519\":\n    \"Thermometers and pyrometers; (other than liquid filled, for direct reading), not combined with other instruments\",\n  \"902520\": \"Barometers; not combined with other instruments\",\n  \"902580\":\n    \"Hydrometers and similar floating instruments, barometers, hygrometers, psychrometers, thermometers, pyrometers; recording or not, any combination of these instruments (excluding thermometers and barometers not combined with other instruments)\",\n  \"902590\":\n    \"Hydrometers and similar floating instruments, barometers, hygrometers, psychrometers, thermometers, pyrometers; recording or not, any combination of these instruments, parts and accessories\",\n  \"902610\":\n    \"Instruments and apparatus; for measuring or checking the flow or level of liquids\",\n  \"902620\": \"Instruments to measure pressure\",\n  \"902680\":\n    \"Instruments and apparatus; for measuring or checking variables of liquids or gases (excluding pressure or the flow and level of liquids and those of heading no. 9014, 9015, 9028 and 9032)\",\n  \"902690\":\n    \"Instruments and apparatus; parts and accessories for those measuring or checking the flow, level, pressure or other variables of liquids or gases (excluding those of heading no. 9014, 9015, 9028 or 9032)\",\n  \"902710\":\n    \"Instruments and apparatus; gas or smoke analysis apparatus, for physical or chemical analysis\",\n  \"902720\": \"Chromatographs and electrophoresis instruments\",\n  \"902730\":\n    \"Spectrometers, spectrophotometers and spectrographs; using optical radiations (UV, visible, IR)\",\n  \"902740\": \"Exposure meters\",\n  \"902750\":\n    \"Instruments using optical radiations; excl. spectrometers, spectrophotometers, spectographs\",\n  \"902780\":\n    \"Other equipment for physical or chamical analysis (exclusionary category)\",\n  \"902781\":\n    \"Instruments and apparatus; for physical or chemical analysis, for measuring or checking viscosity, porosity, expansion, surface tension or quantities of heat, sound or light, mass spectrometers\",\n  \"902789\":\n    \"Instruments and apparatus; for physical or chemical analysis, for measuring or checking viscosity, porosity, expansion, surface tension or quantities of heat, sound or light, exposure meters\",\n  \"902790\": \"Microtomes; incl. parts and accessories\",\n  \"902810\":\n    \"Meters; gas, supply or production meters, including calibrating meters thereof\",\n  \"902820\":\n    \"Meters; liquid supply or production meters, including calibrating meters thereof\",\n  \"902830\":\n    \"Meters; electricity supply or production meters, including calibrating meters thereof\",\n  \"902890\":\n    \"Meters; parts and accessories of gas, liquid, electricity supply or production meters, including calibrating meters thereof\",\n  \"902910\":\n    \"Meters and counters; revolution counters, production counters, taximeters, mileometers, pedometers and the like\",\n  \"902920\": \"Meters; speed indicators and tachometers; stroboscopes\",\n  \"902990\":\n    \"Meters and counters; parts and accessories for revolution and production counters, taximeters, mileometers, pedometers and the like; speed indicators, tachometers (excluding heading no. 9015), stroboscopes\",\n  \"903010\":\n    \"Instruments and apparatus; for measuring or detecting ionising radiations\",\n  \"903020\": \"Oscilloscopes and oscillographs\",\n  \"903031\":\n    \"Multimeters; for measuring or checking voltage, current, resistance or power, without a recording device\",\n  \"903032\":\n    \"Multimeters; for measuring or checking voltage, current, resistance or power, with a recording device\",\n  \"903033\":\n    \"Instruments and apparatus; for measuring or checking voltage, current, resistance or power, without a recording device (excluding multimeters)\",\n  \"903039\":\n    \"Instruments and apparatus; for measuring or checking voltage, current, resistance or power, with a recording device (excluding multimeters)\",\n  \"903040\":\n    \"Instruments and apparatus; specially designed for telecommunications (e.g. cross-talk meters, gain measuring instruments, distortion factor meters, psophometers)\",\n  \"903081\":\n    \"Instruments and apparatus; with a recording device, specially designed for telecommunications (eg cross-talk meters, gain measuring instruments, distortion factor meters, psophometers)\",\n  \"903082\":\n    \"Instruments and apparatus; for measuring or checking semiconductor wafers or devices\",\n  \"903083\":\n    \"Instruments and apparatus; for measuring or detecting alpha, beta, gamma, x-ray, cosmic or other ionising radiations, with a recording device\",\n  \"903084\":\n    \"Instruments and apparatus; n.e.c. in heading no. 9030, with a recording device\",\n  \"903089\":\n    \"Instruments and apparatus; n.e.c. in heading no. 9030, without a recording device\",\n  \"903090\":\n    \"Instruments, apparatus for measuring, checking electrical quantities, not meters of heading no. 9028; parts and accessories, for measuring or detecting alpha, beta, gamma, x-ray, cosmic and other radiations\",\n  \"903110\": \"Machines; for balancing mechanical parts\",\n  \"903120\": \"Test benches\",\n  \"903130\": \"Profile projectors\",\n  \"903140\":\n    \"Optical instruments and appliances; for measuring or checking, n.e.s. in chapter 90\",\n  \"903141\":\n    \"Optical instruments and appliances; for inspecting semiconductor wafers or devices or for inspecting photomasks or reticles used in manufacturing semiconductor devices, n.e.c. in chapter 90\",\n  \"903149\": \"Other optical instruments for measuring (exclusionary category)\",\n  \"903180\":\n    \"Other instruments, appliances, and machines for measuring (exclusionary category)\",\n  \"903190\":\n    \"Instruments, appliances and machines; parts and accessories for those measuring or checking devices of heading no. 9031\",\n  \"903210\":\n    \"Regulating or controlling instruments and apparatus; automatic type, thermostats\",\n  \"903220\":\n    \"Regulating or controlling instruments and apparatus; automatic, manostats\",\n  \"903281\":\n    \"Regulating or controlling instruments and apparatus; automatic, hydraulic or pneumatic\",\n  \"903289\":\n    \"Automatic regulating or controlling instruments; excl. hydraulic and pneumatic\",\n  \"903290\":\n    \"Regulating or controlling instruments and apparatus; automatic, parts and accessories\",\n  \"903300\":\n    \"Machines and appliances, instruments or apparatus of chapter 90; parts and accessories n.e.c. in chapter 90\",\n  \"910111\":\n    \"Wrist-watches; electrically operated, with or without a stop-watch, with case of precious metal or of metal clad with precious metal, with mechanical display only\",\n  \"910112\":\n    \"Wrist-watches; electrically operated, with or without a stop-watch, with case of precious metal or of metal clad with precious metal, with opto-electronic display only\",\n  \"910119\":\n    \"Wrist-watches; electrically operated, with or without a stop-watch, with case of precious metal or metal clad with precious metal, without mechanical display\",\n  \"910121\":\n    \"Wrist-watches; (not electrically operated), automatic winding, whether or not incorporating a stop-watch facility, case of precious metal or of metal clad with precious metal\",\n  \"910129\":\n    \"Wrist-watches; (not electrically operated), (not automatic winding), whether or not incorporating a stop-watch facility, case of precious metal or of metal clad with precious metal\",\n  \"910191\":\n    \"Pocket-watches and other watches, including stop-watches; (excluding wrist-watches), with case of precious metal or of metal clad with precious metal, electrically operated\",\n  \"910199\":\n    \"Pocket-watches and other watches, including stop-watches; (excluding wrist-watches), with case of precious metal or of metal clad with precious metal, not electrically operated\",\n  \"910211\":\n    \"Wrist-watches; electrically operated, with or without a stop-watch, (other than those of heading no. 9101) with mechanical display only\",\n  \"910212\":\n    \"Wrist-watches; electrically operated, with or without a stop-watch, (other than those of heading no. 9101) with opto-electronic display only\",\n  \"910219\":\n    \"Wrist-watches; electrically operated, with or without a stop-watch, (other than those of heading no. 9101) without mechanical or opto-electronic display\",\n  \"910221\":\n    \"Wrist-watches; whether or not incorporating a stop-watch facility, with automatic winding\",\n  \"910229\":\n    \"Wrist-watches; whether or not incorporating a stop-watch facility, with other than automatic winding\",\n  \"910291\":\n    \"Pocket watches and other watches, including stop-watches; (excluding wrist-watches), other than those of heading no. 9101, electrically operated\",\n  \"910299\":\n    \"Pocket watches and other watches, including stop-watches; (excluding wrist-watches), other than those of heading no. 9101, other than electrically operated\",\n  \"910310\":\n    \"Clocks; with watch movements, electrically operated, excluding clocks of heading no. 9104\",\n  \"910390\":\n    \"Clocks; with watch movements, other than electrically operated, excluding clocks of heading no. 9104\",\n  \"910400\":\n    \"Clocks; instrument panel clocks and clocks of a similar type for vehicles, aircraft, spacecraft or vessels\",\n  \"910511\":\n    \"Clocks; (excluding those with watch movements and instrument panel clocks), alarm clocks, electrically operated\",\n  \"910519\":\n    \"Clocks; (excluding those with watch movements and instrument panel clocks), alarm clocks, other than electrically operated\",\n  \"910521\":\n    \"Clocks; (excluding those with watch movements and instrument panel clocks), wall clocks, electrically operated\",\n  \"910529\":\n    \"Clocks; (excluding those with watch movements and instrument panel clocks), wall clocks, other than electrically operated\",\n  \"910591\":\n    \"Clocks; (excluding those with watch movements and instrument panel clocks), (other than alarm or wall clocks), electrically operated\",\n  \"910599\":\n    \"Clocks; (excluding those with watch movements and instrument panel clocks), other than alarm or wall clocks, other than electrically operated\",\n  \"910610\":\n    \"Time recording apparatus; time-registers, time recorders, with clock, watch movement or synchronous motor\",\n  \"910620\": \"Parking meters\",\n  \"910690\":\n    \"Time recording apparatus; with clock or watch movement or with synchronous motor, n.e.c. in heading no. 9106\",\n  \"910700\": \"Time switches; with clock, watch movement or synchronous motor\",\n  \"910811\":\n    \"Watch movements; complete and assembled, electrically operated, with mechanical display only or with a device to which a mechanical display can be incorporated\",\n  \"910812\":\n    \"Watch movements; complete and assembled, electrically operated, by means of solar cells, with opto-electronic display\",\n  \"910819\":\n    \"Watch movements; complete and assembled, electrically operated, by means of solar cells, without mechanical display or device including such or opto-electronic display\",\n  \"910820\": \"Watch movements; complete and assembled, with automatic winding\",\n  \"910890\":\n    \"Watch movements; complete and assembled, not automatic winding or electrically operated\",\n  \"910891\":\n    \"Watch movements; complete and assembled, (not automatic winding or battery or accumulator powered), measuring 33.8mm or less\",\n  \"910899\":\n    \"Watch movements; complete and assembled, (not automatic winding or battery or accumulator powered), measuring more than 33.8mm\",\n  \"910910\": \"Clock movements; complete and assembled, electrically operated\",\n  \"910911\":\n    \"Clock movements; complete and assembled, of alarm clocks, electrically operated\",\n  \"910919\":\n    \"Clock movements; complete and assembled, (other than of alarm clocks), electrically operated\",\n  \"910990\":\n    \"Clock movements; complete and assembled, other than electrically operated\",\n  \"911011\":\n    \"Watches; complete movements, unassembled or partly assembled (movement sets)\",\n  \"911012\": \"Watches; incomplete movements, assembled\",\n  \"911019\": \"Watches; rough movements\",\n  \"911090\":\n    \"Clocks; movements, whether or not complete, incomplete, assembled or unassembled\",\n  \"911110\":\n    \"Watch cases; of precious metal or of metal clad with precious metal\",\n  \"911120\":\n    \"Watch cases; of base metal, whether or not gold-plated or silver-plated\",\n  \"911180\": \"Watch cases; n.e.c. in heading no. 9111\",\n  \"911190\": \"Watch cases and parts thereof\",\n  \"911210\":\n    \"Clock cases and similar cases for other goods of chapter 91; of metal, other than watch cases\",\n  \"911220\":\n    \"Clock cases and similar cases for other goods of chapter 91; other than watch cases\",\n  \"911280\":\n    \"Clock cases and similar cases for other goods of chapter 91; excluding those made of metal, other than watch cases\",\n  \"911290\":\n    \"Clock cases and similar cases for other goods of chapter 91; other than watch cases, parts thereof\",\n  \"911310\":\n    \"Watch straps, watch bands, watch bracelets, and parts thereof; of precious metal or of metal clad with precious metal\",\n  \"911320\":\n    \"Watch straps, watch bands, watch bracelets, and parts thereof; of base metal, whether or not gold- or silver-plated\",\n  \"911390\":\n    \"Watch straps, watch bands, watch bracelets, and parts thereof; n.e.c. in heading no. 9113\",\n  \"911410\": \"Clock or watch parts; springs, including hairsprings\",\n  \"911420\": \"Clock or watch parts; jewels\",\n  \"911430\": \"Clock or watch parts; dials\",\n  \"911440\": \"Clock or watch parts; plates and bridges\",\n  \"911490\":\n    \"Clock or watch parts; other than springs (including hairsprings), dials, plates, and bridges\",\n  \"920110\": \"Musical instruments; pianos, upright, including automatic pianos\",\n  \"920120\": \"Musical instruments; pianos, grand\",\n  \"920190\":\n    \"Musical instruments; harpsichords and other keyboard stringed instruments n.e.c. in heading no. 9201\",\n  \"920210\": \"Musical instruments; string, played with a bow (e.g. violins)\",\n  \"920290\":\n    \"Musical instruments; string, played other than with a bow (e.g. guitars and harps)\",\n  \"920300\":\n    \"Musical instruments; keyboard pipe organs, harmoniums and similar keyboard instruments with free metal reeds\",\n  \"920410\": \"Musical instruments; accordions and similar instruments\",\n  \"920420\": \"Musical instruments; mouth organs\",\n  \"920510\":\n    \"Musical instruments; brass-wind (e.g. trumpets), other than fairground organs and mechanical street organs\",\n  \"920590\":\n    \"Musical instruments; wind, other than brass, (eg. clarinet, bagpipes, pipe organs), other than fairground organs and mechanical street organs\",\n  \"920600\":\n    \"Musical instruments; percussion (e.g. drums, xylophones, cymbals, castanets, maracas)\",\n  \"920710\":\n    \"Musical instruments; keyboard, (other than accordions), the sound of which is produced or must be amplified electrically\",\n  \"920790\":\n    \"Musical instruments; (other than keyboard), the sound of which is produced or must be amplified electrically\",\n  \"920810\": \"Musical boxes\",\n  \"920890\":\n    \"Fairground and mechanical street organs, mechanical singing birds, musical saws and musical instruments n.e.c. in chapter 92; decoy calls of all kinds; whistles; call horns and other mouth-blown sound signalling instruments\",\n  \"920910\":\n    \"Musical instruments; parts and accessories, metronomes, tuning forks and pitch pipes\",\n  \"920920\": \"Musical boxes; parts, mechanisms\",\n  \"920930\": \"Musical instrument strings\",\n  \"920991\": \"Musical instruments; parts and accessories for pianos\",\n  \"920992\":\n    \"Musical instruments; parts and accessories for string musical instruments other than keyboard instruments\",\n  \"920993\":\n    \"Musical instruments; parts and accessories for non-stringed keyboard instruments\",\n  \"920994\":\n    \"Musical instruments; parts and accessories for the musical instruments the sound of which is produced or must be amplified electrically (e.g. organs, guitars and accordions)\",\n  \"920999\":\n    \"Musical instruments; parts and accessories for musical instruments n.e.c. in heading no. 9209; metronomes, tuning forks and pitch pipes\",\n  \"930100\":\n    \"Military weapons; other than revolvers, pistols and arms of heading no. 9307\",\n  \"930110\":\n    \"Military weapons; artillery weapons (e.g. guns, howitzers, and mortars)\",\n  \"930111\":\n    \"Military weapons; other than revolvers, pistols and arms of heading 9307; artillery weapons (for example, guns, howitzers and mortars), self propelled\",\n  \"930119\":\n    \"Military weapons; other than revolvers, pistols and arms of heading 9307; artillery weapons (for example, guns, howitzers and mortars), not self propelled\",\n  \"930120\":\n    \"Military weapons; rocket launchers, flame-throwers, grenade launchers, torpedo tubes and similar projectors\",\n  \"930190\":\n    \"Military weapons; other than revolvers, pistols, and arms of heading 9307, n.e.c. in heading 9301\",\n  \"930200\":\n    \"Revolvers and pistols; other than those of heading no. 9303 or 9304\",\n  \"930310\": \"Firearms; muzzle-loading\",\n  \"930320\":\n    \"Firearms; sporting, hunting or target-shooting shotguns, including combination shotgun-rifles\",\n  \"930330\":\n    \"Firearms; sporting, hunting or target-shooting rifles n.e.c. in heading no. 9303\",\n  \"930390\": \"Firearms; n.e.c. in heading no. 9303\",\n  \"930400\":\n    \"Firearms; (e.g. spring, air or gas guns and pistols, truncheons), excluding those of heading no. 9307\",\n  \"930510\": \"Firearms; parts and accessories, of revolvers or pistols\",\n  \"930520\":\n    \"Firearms; parts and accessories, of shotguns or rifles of heading 9303\",\n  \"930521\": \"Firearms; parts and accessories, of shotgun barrels\",\n  \"930529\":\n    \"Firearms; parts and accessories, of shotguns or rifles of heading no. 9303, other than shotgun barrels\",\n  \"930590\":\n    \"Firearms; parts and accessories, of articles of heading no. 9301 to 9304, other than of revolvers or pistols or of shotguns or rifles of heading no. 9303\",\n  \"930591\":\n    \"Firearms; parts and accessories, of military weapons of heading 9301\",\n  \"930599\":\n    \"Firearms; parts and accessories, of firearms other than the military weapons of heading 9301\",\n  \"930610\":\n    \"Ammunition; cartridges for riveting or similar tools or for captive-bolt humane killers and parts thereof\",\n  \"930621\": \"Ammunition; shotgun cartridges\",\n  \"930629\": \"Ammunition; parts of shotgun cartridges\",\n  \"930630\":\n    \"Ammunition; cartridges and parts thereof n.e.c. in heading no. 9306\",\n  \"930690\": \"Ammunition; n.e.c. in chapter 93\",\n  \"930700\":\n    \"Arms; swords, cutlasses, bayonets, lances and the like, parts thereof and scabbards and sheaths therefor\",\n  \"940110\": \"Seats; of a kind used for aircraft\",\n  \"940120\": \"Seats; of a kind used for motor vehicles\",\n  \"940130\":\n    \"Seats; swivel with variable height adjustment, excluding medical, surgical, dental, veterinary or barber furniture\",\n  \"940131\":\n    \"Seats; swivel with variable height adjustment of wood, excluding medical, surgical, dental, veterinary or barber furniture\",\n  \"940139\":\n    \"Seats; swivel with variable height adjustment of other than wood, excluding medical, surgical, dental, veterinary or barber furniture\",\n  \"940140\":\n    \"Seats; convertible into beds, other than garden seats or camping equipment\",\n  \"940141\":\n    \"Seats; convertible into beds of wood, other than garden seats or camping equipment\",\n  \"940149\":\n    \"Seats; convertible into beds of other than wood, other than garden seats or camping equipment\",\n  \"940150\": \"Seats; of cane, osier, bamboo or similar materials\",\n  \"940151\": \"Seats; of bamboo or rattan\",\n  \"940152\": \"Seats; of bamboo\",\n  \"940153\": \"Seats; of rattan\",\n  \"940159\":\n    \"Seats; of cane, osier or similar materials, other than bamboo or rattan\",\n  \"940161\":\n    \"Seats; with wooden frames, upholstered, (excluding medical, surgical, dental, veterinary or barber furniture)\",\n  \"940169\":\n    \"Seats; with wooden frames, not upholstered, (excluding medical, surgical, dental, veterinary or barber furniture)\",\n  \"940171\":\n    \"Seats; with metal frames, upholstered, (excluding medical, surgical, dental, veterinary or barber furniture)\",\n  \"940179\":\n    \"Seats; with metal frames, not upholstered, (excluding medical, surgical, dental, veterinary or barber furniture)\",\n  \"940180\":\n    \"Seats; n.e.c. in heading no. 9401, (excluding medical, surgical, dental, veterinary or barber furniture)\",\n  \"940190\": \"Seat; parts\",\n  \"940191\":\n    \"Seats; parts, of wood, (other than for use in the assembly of motor vehicles as determined by the minister, other than automotive)\",\n  \"940199\":\n    \"Seats; parts, (of other than wood) for use in the assembly of motor vehicles as determined by the minister\",\n  \"940210\":\n    \"Chairs; dentists', barbers' or similar chairs having rotating as well as both reclining and elevating movements, and parts thereof\",\n  \"940290\":\n    \"Furniture; for medical, surgical, veterinary use (e.g. operating tables, examination tables, hospital beds with mechanical fittings) and parts thereof\",\n  \"940310\": \"Furniture; metal, for office use\",\n  \"940320\": \"Furniture; metal, other than for office use\",\n  \"940330\": \"Furniture; wooden, for office use\",\n  \"940340\": \"Furniture; wooden, for kitchen use\",\n  \"940350\": \"Furniture; wooden, for bedroom use\",\n  \"940360\": \"Furniture; wooden, other than for office, kitchen or bedroom use\",\n  \"940370\": \"Furniture; plastic\",\n  \"940380\":\n    \"Furniture; materials n.e.s. in heading no. 9403, including cane, osier, bamboo or similar materials\",\n  \"940381\": \"Furniture; of bamboo or rattan\",\n  \"940382\": \"Furniture; of bamboo\",\n  \"940383\": \"Furniture; of rattan\",\n  \"940389\":\n    \"Furniture; of cane, osier, or similar materials (other than bamboo or rattan)\",\n  \"940390\": \"Furniture; parts\",\n  \"940391\": \"Furniture; parts, of wood\",\n  \"940399\": \"Furniture; parts, of other than wood\",\n  \"940410\": \"Mattress supports\",\n  \"940421\":\n    \"Mattresses; of cellular rubber or plastics, whether or not covered\",\n  \"940429\": \"Mattresses; of other materials, not cellular rubber or plastics\",\n  \"940430\": \"Sleeping bags\",\n  \"940440\": \"Quilts, bedspreads, eiderdowns and duvets (comforters)\",\n  \"940490\": \"Other bedding articles (exclusionary category)\",\n  \"940510\": \"Chandeliers and other electric light fittings for ceilings/walls\",\n  \"940511\":\n    \"Luminaires and light fittings; chandeliers and electric ceiling or wall light fittings; (excluding those used for lighting public open spaces or thoroughfares), for use solely with light-emitting diode (LED) light sources\",\n  \"940519\":\n    \"Chandeliers and electric ceiling or wall light fittings; (excluding those used for lighting public open spaces or thoroughfares), for use other than with light-emitting diode (LED) light sources\",\n  \"940520\": \"Lamps, electric; floor-standing or for table, desk or bedside\",\n  \"940521\":\n    \"Luminaires and light fittings; electric, table, desk, bedside or floor-standing, for use solely with light-emitting diode (LED) light sources\",\n  \"940529\":\n    \"Luminaires and light fittings; electric, table, desk, bedside or floor-standing, for other than use solely with light-emitting diode (LED) light sources\",\n  \"940530\": \"Lighting sets; of a kind used for Christmas trees\",\n  \"940531\":\n    \"Luminaires and light fittings; electric, lighting strings of a kind used for Christmas trees, for use solely with light-emitting diode (LED) light sources\",\n  \"940539\":\n    \"Luminaires and light fittings; electric, lighting strings of a kind used for Christmas trees, for other than use solely with light-emitting diode (LED) light sources\",\n  \"940540\": \"Other electric lamps (exclusionary category)\",\n  \"940541\":\n    \"Luminaires and light fittings; electric, photovoltaic, designed for use solely with light-emitting diode (LED) light sources\",\n  \"940542\":\n    \"Luminaires and light fittings; electric, designed for use solely with light-emitting diode (LED) light sources\",\n  \"940549\":\n    \"Luminaires and light fittings; electric, designed for other than use solely with light-emitting diode (LED) light sources\",\n  \"940550\": \"Lamps and light fittings; non-electric\",\n  \"940560\": \"Illuminated signs, name plates and the like\",\n  \"940561\":\n    \"Luminaires; illuminated signs, illuminated name-plates and the like, designed for use solely with light-emitting diode (LED) light sources\",\n  \"940569\":\n    \"Luminaires; illuminated signs, illuminated name-plates and the like, designed for other than use solely with light-emitting diode (LED) light sources\",\n  \"940591\": \"Lamps and light fittings; parts thereof, of glass\",\n  \"940592\": \"Lamps and light fittings; parts thereof, of plastics\",\n  \"940599\":\n    \"Lamps and light fittings; parts thereof, of materials other than glass or plastics\",\n  \"940600\": \"Buildings; prefabricated\",\n  \"940610\": \"Buildings; prefabricated, of wood\",\n  \"940620\": \"Buildings; modular building units, of steel\",\n  \"940690\": \"Buildings; prefabricated, not of wood\",\n  \"950100\":\n    \"Toys; wheeled, designed to be ridden by children (eg tricycles, scooters, pedal cars), dolls' carriages\",\n  \"950210\": \"Dolls; representing only human beings, whether or not dressed\",\n  \"950291\":\n    \"Dolls; representing only human beings, garments and accessories therefor, footwear and headgear\",\n  \"950299\":\n    \"Dolls; representing only human beings, parts and accessories, (other than garments and accessories therefor or footwear and headgear)\",\n  \"950300\":\n    \"Tricycles, scooters, pedal cars and similar wheeled toys; dolls' carriages; dolls; other toys; reduced-size (scale) models and similar recreational models, working or not; puzzles of all kinds\",\n  \"950310\":\n    \"Toys; electric trains, including tracks, signals and other accessories therefor\",\n  \"950320\":\n    \"Toys; reduced-size (scale) model assembly kits, whether or not working models, excluding those of item no. 9503.10\",\n  \"950330\":\n    \"Toys; construction sets and constructional toys, excluding (scale) model assembly kits\",\n  \"950341\": \"Toys; representing animals or non-human creatures, stuffed\",\n  \"950349\": \"Toys; representing animals or non-human creatures, not stuffed\",\n  \"950350\": \"Toy musical instruments and apparatus\",\n  \"950360\": \"Toys; puzzles\",\n  \"950370\": \"Toys; n.e.s. in heading no. 9503, put up in sets or outfits\",\n  \"950380\":\n    \"Toys and models; n.e.s. in heading no. 9503, incorporating a motor\",\n  \"950390\": \"Toys; n.e.s. in heading no. 9503\",\n  \"950410\": \"Video games; of a kind used with a television receiver\",\n  \"950420\": \"Billiard articles and accessories of all kinds\",\n  \"950430\":\n    \"Games; operated by coins, banknotes, bank cards, tokens or by other means of payment, other than billiard articles and accesssories, and automatic bowling alley equipment\",\n  \"950440\": \"Games; playing cards\",\n  \"950450\": \"Video game consoles and machines\",\n  \"950490\":\n    \"Games; articles for funfair, table or parlour games, including pintables, special tables for casino games, automatic bowling alley equipment, n.e.c. in heading 9504\",\n  \"950510\": \"Christmas festivity articles\",\n  \"950590\":\n    \"Festive, carnival or other entertainment articles including novelty jokes and conjuring tricks; other than Christmas festivity articles\",\n  \"950611\": \"Skis; for snow\",\n  \"950612\": \"Ski-fastenings (ski-bindings); for snow-skis\",\n  \"950619\": \"Snow-ski equipment\",\n  \"950621\": \"Sailboards; for water sport\",\n  \"950629\":\n    \"Water sport equipment; water-skis, surf-boards and other water-sport equipment, excluding sailboards\",\n  \"950631\": \"Golf clubs; complete\",\n  \"950632\": \"Golf balls\",\n  \"950639\": \"Golf equipment; other than clubs and balls\",\n  \"950640\": \"Table-tennis articles and equipment\",\n  \"950651\": \"Lawn-tennis racquets; whether or not strung\",\n  \"950659\": \"Tennis, badminton and similar racquets; whether or not strung\",\n  \"950661\": \"Lawn-tennis balls\",\n  \"950662\": \"Balls; inflatable\",\n  \"950669\":\n    \"Balls; (other than inflatable or for lawn-tennis, golf or table-tennis)\",\n  \"950670\":\n    \"Skates; ice and roller, including skating boots with skates attached\",\n  \"950691\": \"Athletics and gymnastics equipment\",\n  \"950699\":\n    \"Equipment for outdoor games and recreation n.e.c. in heading no. 9506\",\n  \"950710\": \"Fishing rods\",\n  \"950720\": \"Fish-hooks; whether or not snelled\",\n  \"950730\": \"Fishing reels\",\n  \"950790\":\n    \"Fishing tackle n.e.c., butterfly nets, decoy birds (other than those of heading no. 9208 or 9705) and similar hunting or shooting requisites\",\n  \"950800\":\n    \"Roundabouts, swings, shooting galleries, other fairground amusements, travelling circuses, menageries and travelling theatres\",\n  \"950810\": \"Travelling circuses and travelling menageries\",\n  \"950821\": \"Amusement park rides and water park amusements; Roller coasters\",\n  \"950822\":\n    \"Amusement park rides and water park amusements; carousels, swings and roundabouts\",\n  \"950823\": \"Amusement park rides and water park amusements; dodge'em cars\",\n  \"950824\":\n    \"Amusement park rides and water park amusements; motion simulators and moving theatres\",\n  \"950825\": \"Amusement park rides and water park amusements; water rides\",\n  \"950826\":\n    \"Amusement park rides and water park amusements; water park amusements\",\n  \"950829\":\n    \"Amusement park rides and water park amusements; other than roller coasters, carousels, swings, roundabouts, dodge'em cars, motion simulators and moving theatres, water rides and water park amusements\",\n  \"950830\": \"Fairground amusements; including shooting galleries\",\n  \"950840\": \"Travelling theatres\",\n  \"950890\":\n    \"Roundabouts, swings, shooting galleries, other fairground amusements; travelling theatres\",\n  \"960110\": \"Ivory and articles thereof; worked\",\n  \"960190\":\n    \"Bone, tortoise shell, horn, antlers, coral, mother-of-pearl and other animal carving material and articles thereof (including articles obtained by moulding)\",\n  \"960200\":\n    \"Vegetable, mineral carving material and articles of these materials, moulded or carved articles of wax, stearin, natural gums, resins or modelling pastes, worked unhardened gelatin (not heading no. 3503)\",\n  \"960310\":\n    \"Brooms and brushes; consisting of twigs or other vegetable materials bound together, with or without handles\",\n  \"960321\": \"Brushes; toothbrushes\",\n  \"960329\":\n    \"Brushes; shaving, hair, nail, eyelash and other toilet brushes for use on the person, including brushes as parts of appliances\",\n  \"960330\":\n    \"Brushes; artists' brushes, writing brushes and similar brushes for the application of cosmetics\",\n  \"960340\":\n    \"Brushes; paint, distemper, varnish or similar brushes (not those of item no. 9603.30), paint pads and rollers\",\n  \"960350\": \"Brushes; constituting parts of machines, appliances or vehicles\",\n  \"960390\":\n    \"Brooms, brushes, mops, feather dusters, squeegees, hand operated mechanical floor sweepers; (not motorised), prepared knots and tufts for brooms or brush making n.e.c.\",\n  \"960400\": \"Hand sieves and hand riddles\",\n  \"960500\":\n    \"Travel sets; for personal toilet, sewing, shoe or clothes cleaning\",\n  \"960610\": \"Press-fasteners, snap-fasteners, press-studs and parts therefor\",\n  \"960621\": \"Buttons; of plastics, not covered with textile material\",\n  \"960622\": \"Buttons; of base metal, not covered with textile material\",\n  \"960629\":\n    \"Buttons; of other than base metal or plastics, not covered with textile material\",\n  \"960630\": \"Button moulds and other parts of buttons; button blanks\",\n  \"960711\": \"Slide fasteners; fitted with chain scoops of base metal\",\n  \"960719\":\n    \"Slide fasteners; other than those fitted with chain scoops of base metal\",\n  \"960720\": \"Slide fasteners; parts\",\n  \"960810\": \"Pens; ball point\",\n  \"960820\": \"Pens; felt tipped and other porous-tipped pens and markers\",\n  \"960830\": \"Pens; fountain, stylograph and other pens\",\n  \"960831\": \"Pens; Indian ink drawing pens\",\n  \"960839\":\n    \"Pens; fountain, stylograph and other pens, excluding Indian ink drawing pens\",\n  \"960840\": \"Pencils; propelling or sliding\",\n  \"960850\":\n    \"Pen and pencil sets; of articles from two or more of the foregoing sub-headings\",\n  \"960860\":\n    \"Pens; ball-point, refills comprising the ball point and ink-reservoir\",\n  \"960891\": \"Pens; nibs and nib points\",\n  \"960899\":\n    \"Pens and pencils; duplicating stylos, pen-holders, pencil-holders, and similar holders, parts of the articles of heading 9608, including caps and clips\",\n  \"960910\": \"Pencils and crayons; with leads encased in rigid sheath\",\n  \"960920\": \"Pencil leads; black or coloured\",\n  \"960990\":\n    \"Pastels, drawing charcoals, writing or drawing chalks, tailors' chalk\",\n  \"961000\":\n    \"Slates and boards; with writing or drawing surfaces, whether or not framed\",\n  \"961100\":\n    \"Stamps; date, numbering, sealing stamps and the like (including devices for printing or embossing labels), designed for operating by hand; hand operated composing sticks and printing sets\",\n  \"961210\":\n    \"Ribbons; for typewriters and the like, inked or otherwise prepared, for giving impressions, whether or not on spools or in cartridges\",\n  \"961220\": \"Ink pads; whether or not inked, with or without boxes\",\n  \"961310\": \"Lighters; pocket, cigarette, gas fuelled, non-refillable\",\n  \"961320\": \"Lighters; pocket, cigarette, gas fuelled, refillable\",\n  \"961330\": \"Lighters; table lighters, whether or not mechanical or electrical\",\n  \"961380\":\n    \"Lighters; whether or not mechanical or electrical, n.e.c. in heading no. 9613\",\n  \"961390\":\n    \"Lighters; parts for cigarette lighters and other lighters, whether or not mechanical or electrical, other than flints and wicks\",\n  \"961400\":\n    \"Smoking pipes (including pipe bowls) and cigar or cigarette holders, and parts thereof\",\n  \"961410\":\n    \"Pipes; smoking, roughly shaped blocks of wood or root, for the manufacture of pipes\",\n  \"961420\": \"Pipes and pipe bowls and parts\",\n  \"961490\": \"Cigar, cigarette holders and parts thereof\",\n  \"961511\": \"Combs, hair slides and the like; of hard rubber or plastics\",\n  \"961519\":\n    \"Combs, hair slides and the like; of other than hard rubber or plastics\",\n  \"961590\":\n    \"Hairpins, curling pins, curling grips, hair curlers and the like (not those of heading no. 8516) and parts thereof\",\n  \"961610\":\n    \"Scent sprays and similar toilet sprays, and mounts and heads therefor\",\n  \"961620\":\n    \"Powder puffs and pads; for the application of cosmetics or toilet preparations\",\n  \"961700\":\n    \"Vacuum flasks and other vacuum vessels, complete with cases; parts thereof other than glass inners\",\n  \"961800\":\n    \"Tailors' dummies and other lay figures; automata and other animated displays used for shop window dressing\",\n  \"961900\":\n    \"Sanitary towels (pads) and tampons, napkins and napkin liners for babies and similar articles, of any material\",\n  \"962000\": \"Monopods, bipods, tripods and similar articles\",\n  \"970110\":\n    \"Paintings, drawings and pastels; executed entirely by hand, other than drawings of heading no. 4906\",\n  \"970121\":\n    \"Paintings, drawings and pastels; executed entirely by hand, other than drawings of heading no. 4906, of an age exceeding 100 years\",\n  \"970122\":\n    \"Mosaics; executed entirely by hand, other than drawings of heading no. 4906, of an age exceeding 100 years\",\n  \"970129\":\n    \"Artwork; other than paintings, drawings, pastels mosaics, executed entirely by hand, other than drawings of heading no. 4906, of an age exceeding 100 years\",\n  \"970190\": \"Artwork; collages and similar decorative plaques\",\n  \"970191\":\n    \"Paintings, drawings and pastels; executed entirely by hand, other than drawings of heading no. 4906, of an age not exceeding 100 years\",\n  \"970192\":\n    \"Mosaics; executed entirely by hand, other than drawings of heading no. 4906, of an age not exceeding 100 years\",\n  \"970199\":\n    \"Artwork; other than paintings, drawings, pastels mosaics, executed entirely by hand, other than drawings of heading no. 4906, of an age not exceeding 100 years\",\n  \"970200\": \"Engravings, prints and lithographs; original\",\n  \"970210\":\n    \"Engravings, prints and lithographs; original of an age exceeding 100 years\",\n  \"970290\":\n    \"Engravings, prints and lithographs; original of an age not exceeding 100 years\",\n  \"970300\": \"Sculptures and statuary; original, in any material\",\n  \"970310\":\n    \"Sculptures and statuary; original, in any material, of an age exceeding 100 years\",\n  \"970390\":\n    \"Sculptures and statuary; original, in any material, of an age not exceeding 100 years\",\n  \"970400\":\n    \"Stamps, postage or revenue; stamp-postmarks, first-day covers, postal stationery (stamped paper) and like, used or unused, other than those of heading 4907\",\n  \"970500\":\n    \"Collections and collectors' pieces; of zoological, botanical, mineralogical, anatomical, historical, archaeological, palaeontological, ethnographic or numismatic interest\",\n  \"970510\":\n    \"Collections and collectors' pieces; of archaeological, ethnographic or historical interest\",\n  \"970521\":\n    \"Collections and collectors' pieces; of zoological, botanical, mineralogical, anatomical or palaeontological interest, human specimens and parts thereof\",\n  \"970522\":\n    \"Collections and collectors' pieces; of zoological, botanical, mineralogical, anatomical or palaeontological interest, extinct or endangered species and parts thereof\",\n  \"970529\":\n    \"Collections and collectors' pieces; of zoological, botanical, mineralogical, anatomical or palaeontological interest, other than human species, extinct or endangered species and parts thereof\",\n  \"970531\":\n    \"Collections and collectors' pieces; of numismatic interest, of an age exceeding 100 years\",\n  \"970539\":\n    \"Collections and collectors' pieces; of numismatic interest, of an age not exceeding 100 years\",\n  \"970600\": \"Antiques; of an age exceeding one hundred years\",\n  \"970610\": \"Antiques; of an age exceeding 250 years\",\n  \"970690\":\n    \"Antiques; of an age exceeding 100 years but not exceeding 250 years\",\n  \"999999\": \"Commodities not specified according to kind\",\n  \"010110\":\n    \"Horses, asses, mules and hinnies; live, pure-bred breeding animals\",\n  \"010111\": \"Horses; live, pure-bred breeding animals\",\n  \"010119\": \"Horses; live, other than pure-bred breeding animals\",\n  \"010120\": \"Asses, mules and hinnies; live\",\n  \"010121\": \"Horses; live, pure-bred breeding animals\",\n  \"010129\": \"Horses; live, other than pure-bred breeding animals\",\n  \"010130\": \"Asses; live\",\n  \"010190\": \"Mules and hinnies; live\",\n  \"010210\": \"Bovine animals; live, pure-bred breeding animals\",\n  \"010221\": \"Cattle; live, pure-bred breeding animals\",\n  \"010229\": \"Live cattle; excl. pure-bred breeding animals\",\n  \"010231\": \"Buffalo; live, pure-bred breeding animals\",\n  \"010239\": \"Buffalo; live, other than pure-bred breeding animals\",\n  \"010290\": \"Live bovine animals; excl. cattle and buffalo\",\n  \"010310\": \"Swine; live, pure-bred breeding animals\",\n  \"010391\":\n    \"Swine; live, other than pure-bred breeding animals, weighing less than 50kg\",\n  \"010392\":\n    \"Swine; live, other than pure-bred breeding animals, weighing 50kg or more\",\n  \"010410\": \"Sheep; live\",\n  \"010420\": \"Goats; live\",\n  \"010511\":\n    \"Poultry; live, fowls of the species Gallus domesticus, weighing not more than 185g\",\n  \"010512\": \"Poultry; live, turkeys, weighing not more than 185g\",\n  \"010513\": \"Poultry; live, ducks, weighing not more than 185g\",\n  \"010514\": \"Poultry; live, geese, weighing not more than 185g\",\n  \"010515\": \"Poultry; live, guinea fowls, weighing not more than 185g\",\n  \"010519\":\n    \"Poultry; live, weighing not more than 185g, ducks, geese and guinea fowls\",\n  \"010591\":\n    \"Poultry; live, fowls of the species gallus domesticus, weighing more than 185g\",\n  \"010592\":\n    \"Poultry; live, weighing over 185g but not more than 2000g, fowls of the species gallus domesticus\",\n  \"010593\":\n    \"Poultry; live, weighing over 2000g, fowls of the species gallus domesticus\",\n  \"010594\":\n    \"Poultry; live, fowls of the species Gallus domesticus, weighing more than 185g\",\n  \"010599\":\n    \"Poultry; live, ducks, geese, turkeys and guinea fowls, weighing more than 185g\",\n  \"010600\": \"Animals; live, n.e.s. in chapter 1\",\n  \"010611\": \"Mammals; live, primates\",\n  \"010612\":\n    \"Mammals; live, whales, dolphins and porpoises (mammals of the order Cetacea); manatees and dugongs (mammals of the order Sirenia); seals, sea lions and walruses (mammals of the suborder Pinnipedia)\",\n  \"010613\": \"Mammals; live, camels and other camelids (Camelidae)\",\n  \"010614\": \"Mammals; live, rabbits and hares\",\n  \"010619\":\n    \"Mammals; live, other than primates, whales, dolphins, porpoises (mammals of the order Cetacea); manatees, dugongs (mammals of the order Sirenia); seals, sea lions, walruses (mammals of the suborder Pinnipedia), camels, other camelids, rabbits and hares\",\n  \"010620\": \"Reptiles; live (including snakes and turtles)\",\n  \"010631\": \"Birds; live, birds of prey\",\n  \"010632\": \"Birds; live, Psittaciformes\",\n  \"010633\": \"Birds; live, ostriches; emus (Dromaius novaehollandiae)\",\n  \"010639\":\n    \"Birds; live, other than birds of prey, Psittaciformes, ostriches and emus (Dromaius novaehollandiae)\",\n  \"010641\": \"Insects; live, bees\",\n  \"010649\": \"Insects; live, other than bees\",\n  \"010690\":\n    \"Animals; live, n.e.c. in chapter 01, other than mammals, reptiles, birds and insects\",\n  \"020110\":\n    \"Meat; of bovine animals, carcasses and half-carcasses, fresh or chilled\",\n  \"020120\": \"Bovine cuts; bone in, fresh or chilled; excl. carcasses\",\n  \"020130\": \"Bovine cuts; boneless, fresh or chilled\",\n  \"020210\": \"Meat; of bovine animals, carcasses and half-carcasses, frozen\",\n  \"020220\":\n    \"Meat; of bovine animals, cuts with bone in (excluding carcasses and half-carcasses), frozen\",\n  \"020230\": \"Bovine cuts; boneless, frozen\",\n  \"020311\": \"Meat; of swine, carcasses and half-carcasses, fresh or chilled\",\n  \"020312\":\n    \"Meat; of swine, hams, shoulders and cuts thereof, with bone in, fresh or chilled\",\n  \"020319\": \"Swine cuts; fresh or chilled; excl. carcasses and cuts with bone\",\n  \"020321\": \"Meat; of swine, carcasses and half-carcasses, frozen\",\n  \"020322\":\n    \"Meat; of swine, hams, shoulders and cuts thereof, with bone in, frozen\",\n  \"020329\": \"Other swine cuts; frozen (exclusionary category)\",\n  \"020410\":\n    \"Meat; of sheep, lamb carcasses and half-carcasses, fresh or chilled\",\n  \"020421\":\n    \"Meat; of sheep, carcasses and half-carcasses (excluding carcasses and half-carcasses of lamb), fresh or chilled\",\n  \"020422\":\n    \"Meat; of sheep (including lamb), cuts with bone in (excluding carcasses and half-carcasses), fresh or chilled\",\n  \"020423\": \"Meat; of sheep (including lamb), boneless cuts, fresh or chilled\",\n  \"020430\": \"Meat; of sheep, lamb carcasses and half-carcasses, frozen\",\n  \"020441\":\n    \"Meat; of sheep, carcasses and half-carcasses (excluding carcasses and half-carcasses of lamb), frozen\",\n  \"020442\":\n    \"Meat; of sheep (including lamb), cuts with bone in (excluding carcasses and half-carcasses), frozen\",\n  \"020443\": \"Meat; of sheep (including lamb), boneless cuts, frozen\",\n  \"020450\": \"Meat; of goats, fresh, chilled or frozen\",\n  \"020500\":\n    \"Meat; of horses, asses, mules or hinnies, fresh, chilled or frozen\",\n  \"020610\": \"Offal, edible; of bovine animals, fresh or chilled\",\n  \"020621\": \"Offal, edible; of bovine animals, tongues, frozen\",\n  \"020622\": \"Offal, edible; of bovine animals, livers, frozen\",\n  \"020629\":\n    \"Offal, edible; of bovine animals, (other than tongues and livers), frozen\",\n  \"020630\": \"Offal, edible; of swine, fresh or chilled\",\n  \"020641\": \"Offal, edible; of swine, livers, frozen\",\n  \"020649\": \"Offal, edible; of swine, (other than livers), frozen\",\n  \"020680\":\n    \"Offal, edible; of sheep, goats, horses, asses, mules or hinnies, fresh or chilled\",\n  \"020690\":\n    \"Offal, edible; of sheep, goats, horses, asses, mules or hinnies, frozen\",\n  \"020710\":\n    \"Meat and edible offal; poultry, not cut in pieces, fresh or chilled\",\n  \"020711\":\n    \"Meat and edible offal; of fowls of the species Gallus domesticus, not cut in pieces, fresh or chilled\",\n  \"020712\":\n    \"Meat and edible offal; of fowls of the species Gallus domesticus, not cut in pieces, frozen\",\n  \"020713\":\n    \"Meat and edible offal; of fowls of the species Gallus domesticus, cuts and offal, fresh or chilled\",\n  \"020714\": \"Fowl meat and offal; frozen\",\n  \"020721\":\n    \"Meat and edible offal; fowls of the species gallus domesticus, not cut in pieces, frozen\",\n  \"020722\": \"Meat and edible offal; turkeys, not cut in pieces, frozen\",\n  \"020723\":\n    \"Meat and edible offal; ducks, geese and guinea fowls, not cut in pieces, frozen\",\n  \"020724\":\n    \"Meat and edible offal; of turkeys, not cut in pieces, fresh or chilled\",\n  \"020725\": \"Meat and edible offal; of turkeys, not cut in pieces, frozen\",\n  \"020726\":\n    \"Meat and edible offal; of turkeys, cuts and offal, fresh or chilled\",\n  \"020727\": \"Meat and edible offal; of turkeys, cuts and offal, frozen\",\n  \"020731\": \"Offal, edible; of geese or ducks, fatty livers, fresh or chilled\",\n  \"020732\":\n    \"Meat and edible offal; of the poultry of heading no. 0105, of ducks, geese or guinea fowls, (not cut in pieces), fresh or chilled\",\n  \"020733\":\n    \"Meat and edible offal; of the poultry of heading no. 0105, of ducks, geese or guinea fowls, (not cut in pieces), frozen\",\n  \"020734\":\n    \"Meat and edible offal; of the poultry of heading no. 0105, of ducks, geese or guinea fowls, fatty livers, fresh or chilled (foie gras from ducks or geese only)\",\n  \"020735\":\n    \"Meat and edible offal; of the poultry of heading no. 0105, of ducks, geese or guinea fowls, fresh or chilled, poultry cuts or offal (excluding fatty livers)\",\n  \"020736\":\n    \"Meat and edible offal; of the poultry of heading no. 0105, of ducks, geese or guinea fowls, frozen\",\n  \"020739\":\n    \"Meat and edible offal; poultry cuts and offal (including livers but excluding the fatty livers of geese or ducks), fresh or chilled\",\n  \"020741\": \"Duck meat; fresh or chilled, whole\",\n  \"020742\": \"Meat and edible offal; of ducks, not cut in pieces, frozen\",\n  \"020743\":\n    \"Meat and edible offal; of ducks, fatty livers (foie gras), fresh or chilled\",\n  \"020744\":\n    \"Meat and edible offal; of ducks, cuts and offal, excluding fatty livers, fresh or chilled\",\n  \"020745\":\n    \"Meat and edible offal; of ducks, cuts and offal, excluding fatty livers, frozen\",\n  \"020750\": \"Offal, edible; of poultry, livers, frozen\",\n  \"020751\":\n    \"Meat and edible offal; of geese, not cut in pieces, fresh or chilled\",\n  \"020752\": \"Meat and edible offal; of geese, not cut in pieces, frozen\",\n  \"020753\":\n    \"Meat and edible offal; of geese, fatty livers (foie gras), fresh or chilled\",\n  \"020754\":\n    \"Meat and edible offal; of geese, cuts and offal, excluding fatty livers, fresh or chilled\",\n  \"020755\":\n    \"Meat and edible offal; of geese, cuts and offal, excluding fatty livers, frozen\",\n  \"020760\": \"Meat and edible offal; of guinea fowls, fresh, chilled or frozen\",\n  \"020810\":\n    \"Meat and edible meat offal; of rabbits or hares, fresh, chilled or frozen\",\n  \"020820\": \"Meat and edible meat offal; frogs' legs, fresh, chilled or frozen\",\n  \"020830\": \"Meat and edible meat offal; of primates, fresh, chilled or frozen\",\n  \"020840\":\n    \"Meat and edible meat offal; of whales, dolphins and porpoises (mammals of the order Cetacea); of manatees and dugongs (mammals of the order Sirenia); of seals, sea lions and walruses (mammals of the suborder Pinnipedia), fresh, chilled or frozen\",\n  \"020850\":\n    \"Meat and edible meat offal; of reptiles (including snakes and turtles), fresh, chilled or frozen\",\n  \"020860\":\n    \"Meat and edible meat offal; of camels and other camelids (Camelidae), fresh, chilled or frozen\",\n  \"020890\":\n    \"Meat and edible meat offal; n.e.c. in chapter 2, fresh, chilled or frozen\",\n  \"020900\":\n    \"Fat; pig fat, free of lean meat, and poultry fat, (not rendered or otherwise extracted), fresh, chilled, frozen, salted, in brine, dried or smoked\",\n  \"020910\":\n    \"Fat; pig fat, free of lean meat, not rendered or otherwise extracted, fresh, chilled, frozen, salted, in brine, dried or smoked\",\n  \"020990\":\n    \"Fat; poultry fat, not rendered or otherwise extracted, fresh, chilled, frozen, salted, in brine, dried or smoked\",\n  \"021011\":\n    \"Meat; salted, in brine, dried or smoked, of swine, hams, shoulders and cuts thereof, with bone in\",\n  \"021012\":\n    \"Meat; salted, in brine, dried or smoked, of swine, bellies (streaky) and cuts thereof\",\n  \"021019\":\n    \"Meat; salted in brine, dried or smoked, of swine, n.e.c. in item no. 0210.1\",\n  \"021020\": \"Meat; salted, in brine, dried or smoked, of bovine animals\",\n  \"021090\":\n    \"Meat and edible meat offal, preserved; salted, in brine, dried or smoked, and edible flours and meals of meat or meat offal, n.e.s. in heading no. 0210\",\n  \"021091\":\n    \"Meat and edible meat offal; salted, in brine, dried or smoked, and edible flours and meals of meat or meat offal, of primates\",\n  \"021092\":\n    \"Meat and edible meat offal; salted, in brine, dried or smoked; edible flours, meals of meat or meat offal, of whales, dolphins, porpoises (of order Cetacea); manatees, dugongs (of order Sirenia); seals, sea lions, and walruses (of suborder Pinnipedia)\",\n  \"021093\":\n    \"Meat and edible meat offal; salted, in brine, dried or smoked, and edible flours and meals of meat or meat offal, of reptiles (including snakes and turtles)\",\n  \"021099\":\n    \"Meat and edible meat offal; salted, in brine, dried or smoked, and edible flours and meals of meat or meat offal, other than of primates, whales, dolphins, porpoises, manatees, dugongs, seals, sea lions, walruses, reptiles (including snakes and turtles)\",\n  \"030110\": \"Fish; live, ornamental\",\n  \"030111\": \"Fish; live, ornamental, freshwater\",\n  \"030119\": \"Fish; live, ornamental, other than freshwater\",\n  \"030191\":\n    \"Fish; live, trout (Salmo trutta, Oncorhynchus mykiss, Oncorhynchus clarki, Oncorhynchus aguabonita, Oncorhynchus gilae, Oncorhynchus apache and Oncorhynchus chrysogaster)\",\n  \"030192\": \"Fish; live, eels (Anguilla spp.)\",\n  \"030193\":\n    \"Fish; live, carp (Cyprinus spp., Carassius spp., Ctenopharyngodon idellus, Hypophthalmichthys spp., Cirrhinus spp., Mylopharyngodon piceus, Catla catla, Labeo spp., Osteochilus hasselti, Leptobarbus hoeveni, Megalobrama spp.)\",\n  \"030194\":\n    \"Fish; live, Atlantic and Pacific bluefin tunas (Thunnus thynnus, Thunnus orientalis)\",\n  \"030195\": \"Fish; live, southern bluefin tunas (Thunnus maccoyii)\",\n  \"030199\": \"Fish; live, n.e.c. in heading 0301\",\n  \"030211\":\n    \"Fish; fresh or chilled, trout (Salmo trutta, Oncorhynchus mykiss, Oncorhynchus clarki, Oncorhynchus aguabonita, Oncorhynchus gilae, Oncorhynchus apache and Oncorhynchus chrysogaster), excluding fillets, fish meat of 0304, and edible fish offal of 0302.9\",\n  \"030212\": \"Salmon, Pacific-, Atlantic-, Danube-; fresh or chilled, uncut\",\n  \"030213\":\n    \"Fish; fresh or chilled, Pacific salmon (Oncorhynchus nerka, Oncorhynchus gorbuscha, Oncorhynchus keta, Oncorhynchus tschawytscha, Oncorhynchus kisutch, Oncorhynchus masou, Oncorhynchus rhodurus), not fillets, meat of 0304, and edible fish offal of 0302.9\",\n  \"030214\": \"Salmon, Atlantic-, Danube-; fresh or chilled, uncut\",\n  \"030219\":\n    \"Fish; fresh or chilled, salmonidae, n.e.c. in item no. 0302.1, excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030221\":\n    \"Fish; fresh or chilled, halibut (Reinhardtius hippoglossoides, Hippoglossus hippoglossus, Hippoglossus stenolepis), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030222\":\n    \"Fish; fresh or chilled, plaice (Pleuronectes platessa), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030223\":\n    \"Fish; fresh or chilled, sole (Solea spp.), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030224\":\n    \"Fish; fresh or chilled, turbots (Psetta maxima, Scophthalmidae), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030229\":\n    \"Fish; fresh or chilled, flat fish, n.e.c. in item no. 0302.2, excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030231\":\n    \"Fish; fresh or chilled, albacore or longfinned tunas (Thunnus alalunga), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030232\":\n    \"Fish; fresh or chilled, yellowfin tunas (Thunnus albacares), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030233\":\n    \"Fish; fresh or chilled, skipjack or stripe-bellied bonito, excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030234\":\n    \"Fish; fresh or chilled, bigeye tunas (Thunnus obesus), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030235\":\n    \"Fish; fresh or chilled, Atlantic and Pacific bluefin tunas (Thunnus thynnus, Thunnus orientalis), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030236\":\n    \"Fish; fresh or chilled, southern bluefin tunas (Thunnus maccoyii), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030239\":\n    \"Fish; fresh or chilled, tuna, n.e.c. in item no. 0302.3, excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030240\":\n    \"Fish; herrings (clupea harengus, clupea pallasii), fresh or chilled (excluding fillets, livers, roes and other fish meat of heading no. 0304)\",\n  \"030241\":\n    \"Fish; fresh or chilled, herrings (Clupea harengus, Clupea pallasii), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030242\":\n    \"Fish; fresh or chilled, anchovies (Engraulis spp.), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030243\":\n    \"Fish; fresh or chilled, sardines (Sardina pilchardus, Sardinops spp.), sardinella (Sardinella spp.), brisling or sprats (Sprattus sprattus), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030244\":\n    \"Fish; fresh or chilled, mackerel (Scomber scombrus, Scomber australasicus, Scomber japonicus), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030245\":\n    \"Fish; fresh or chilled, jack and horse mackerel (Trachurus spp.), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030246\":\n    \"Fish; fresh or chilled, cobia (Rachycentron canadum), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030247\":\n    \"Fish; fresh or chilled, swordfish (Xiphias gladius), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030249\":\n    \"Fish; fresh or chilled, n.e.c. in item no. 0302.4, excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030250\":\n    \"Fish; cod (gadus morhua, gadus ogac, gadus macrocephalus), fresh or chilled (excluding fillets, livers, roes and other fish meat of heading no. 0304)\",\n  \"030251\":\n    \"Fish; fresh or chilled, cod (Gadus morhua, Gadus ogac, Gadus macrocephalus), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030252\":\n    \"Fish; fresh or chilled, haddock (Melanogrammus aeglefinus), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030253\":\n    \"Fish; fresh or chilled, coalfish (Pollachius virens), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030254\":\n    \"Fish; fresh or chilled, hake (Merluccius spp., Urophycis spp.), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030255\":\n    \"Fish; fresh or chilled, Alaska pollack (Theragra chalcogramma), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030256\":\n    \"Fish; fresh or chilled, blue whitings (Micromesistius poutassou, Micromesistius australis),excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030259\":\n    \"Fish; fresh or chilled, n.e.c. in item no. 0302.5, excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030261\":\n    \"Fish; sardines (sardina pilchardus, sardinops spp.), sardinella (sardinella spp.), brisling or sprats (sprattus sprattus), fresh or chilled (excluding fillets, livers, roes and other fish meat of heading no. 0304)\",\n  \"030262\":\n    \"Fish; haddock (melanogrammus aeglefinus), fresh or chilled (excluding fillets, livers, roes and other fish meat of heading no. 0304)\",\n  \"030263\":\n    \"Fish; coalfish (pollachius virens), fresh or chilled (excluding fillets, livers, roes and other fish meat of heading no. 0304)\",\n  \"030264\":\n    \"Fish; mackerel (scomber scombrus, scomber australasicus, scomber japonicus), fresh of chilled (excluding fillets, livers, roes and other fish meat of heading no. 0304)\",\n  \"030265\":\n    \"Fish; dogfish and other sharks, fresh or chilled (excluding fillets, livers, roes and other fish meat of heading no. 0304)\",\n  \"030266\":\n    \"Fish; eels (anguilla spp.), fresh or chilled (excluding fillets, livers, roes and other fish meat of heading no. 0304)\",\n  \"030267\":\n    \"Fish; swordfish (Xiphias gladius), fresh or chilled (excluding fillets, livers, roes and other fish meat of heading no. 0304)\",\n  \"030268\":\n    \"Fish; toothfish (Dissostichus spp.), fresh or chilled (excluding fillets, livers, roes and other fish meat of heading no. 0304)\",\n  \"030269\": \"Other fish; fresh or chilled (exclusionary category)\",\n  \"030270\": \"Fish; livers and roes, fresh or chilled\",\n  \"030271\":\n    \"Fish; fresh or chilled, tilapias (Oreochromis spp.), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030272\":\n    \"Fish; fresh or chilled, catfish (Pangasius spp., Silurus spp., Clarias spp., Ictalurus spp.), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030273\":\n    \"Fish; fresh or chilled, Carp (as specified by the WCO.), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030274\":\n    \"Fish; fresh or chilled, eels (Anguilla spp.), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030279\":\n    \"Fish; fresh or chilled, Nile perch (Lates niloticus) and snakeheads (Channa spp.), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030281\":\n    \"Fish; fresh or chilled, dogfish and other sharks, excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030282\":\n    \"Fish; fresh or chilled, rays and skates (Rajidae), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030283\":\n    \"Fish; fresh or chilled, toothfish (Dissostichus spp.), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030284\":\n    \"Fish; fresh or chilled, seabass (Dicentrarchus spp.), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030285\":\n    \"Fish; fresh or chilled, seabream (Sparidae), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030289\":\n    \"Fish; fresh or chilled, n.e.c. in heading 0302, excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0302.91 to 0302.99\",\n  \"030290\": \"Fish; fresh or chilled, livers and roes\",\n  \"030291\": \"Fish; fresh or chilled, livers, roes and milt\",\n  \"030292\": \"Fish; fresh or chilled, shark fins\",\n  \"030299\":\n    \"Fish; fresh or chilled, fish fins (other than shark fins), heads, tails, maws and other edible fish offal\",\n  \"030310\":\n    \"Fish; Pacific salmon, (oncorhynchus nerka/gorbuscha/keta/tschawytscha/kisutch/masou/rhodurus), frozen, (excluding fillets, livers, roes and other fish meat of heading no. 0304)\",\n  \"030311\":\n    \"Fish; frozen, Pacific salmon, sockeye salmon (red salmon) (Oncorhynchus nerka), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030312\":\n    \"Fish; frozen, Pacific salmon (Oncorhynchus gorbuscha/keta/tschawytscha/ kisutch/masou/rhodurus) other than sockeye salmon (Oncorhynchus nerka), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030313\":\n    \"Fish; frozen, Atlantic salmon (Salmo salar) and Danube salmon (Hucho hucho), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030314\":\n    \"Fish; frozen, trout (Salmo trutta, Oncorhynchus mykiss, Oncorhynchus clarki, Oncorhynchus aguabonita, Oncorhynchus gilae, Oncorhynchus apache and Oncorhynchus chrysogaster), excluding fillets, meat of 0304, and edible fish offal of 0303.91 to 0303.99\",\n  \"030319\":\n    \"Fish; frozen, salmonidae, n.e.c. in item no. 0303.1, excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030321\":\n    \"Fish; trout (salmo trutta, oncorhynchus mykiss, oncorhynchus clarki, oncorhynchus aguabonita, oncorhynchus gilae, oncorhynchus apache and oncorhynchus chrysogaster), frozen (excluding fillets, livers, roes and other fish meat of heading no. 0304)\",\n  \"030322\":\n    \"Fish; Atlantic salmon (salmo salar) and Danube salmon (hucho hucho), frozen (excluding fillets, livers, roes and other fish meat of heading no. 0304)\",\n  \"030323\":\n    \"Fish; frozen, tilapias (Oreochromis spp.), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030324\":\n    \"Fish; frozen, catfish (Pangasius spp., Silurus spp., Clarias spp., Ictalurus spp.), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030325\":\n    \"Fish; frozen, carp  (as specified by the WCO), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030326\":\n    \"Fish; frozen, eels (Anguilla spp.), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030329\":\n    \"Fish; frozen, Nile perch (Lates niloticus) and snakeheads (Channa spp.), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030331\":\n    \"Fish; frozen, halibut (Reinhardtius hippoglossoides, Hippoglossus hippoglossus, Hippoglossus stenolepis), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030332\":\n    \"Fish; frozen, plaice (Pleuronectes platessa), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030333\":\n    \"Fish; frozen, sole (Solea spp.), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030334\":\n    \"Fish; frozen, turbots (Psetta maxima, Scophthalmidae), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030339\":\n    \"Fish; frozen, flat fish, n.e.c. in item no. 0303.3, excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030341\":\n    \"Fish; frozen, albacore or longfinned tunas (Thunnus alalunga), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030342\":\n    \"Fish; frozen, yellowfin tunas (Thunnus albacares), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030343\":\n    \"Fish; frozen, skipjack or stripe-bellied bonito, excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030344\":\n    \"Fish; frozen, bigeye tunas (Thunnus obesus), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030345\":\n    \"Fish; frozen, Atlantic and Pacific bluefin tunas (Thunnus thynnus, Thunnus orientalis), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030346\":\n    \"Fish; frozen, southern bluefin tunas (Thunnus maccoyii), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030349\":\n    \"Fish; frozen, tuna, n.e.c. in item no. 0303.4, excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030350\":\n    \"Fish; herrings (clupea harengus, clupea pallasii), frozen (excluding fillets, livers, roes and other fish meat of heading no. 0304)\",\n  \"030351\":\n    \"Fish; frozen, herrings (Clupea harengus, Clupea pallasii), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030352\":\n    \"Fish; cod (Gadus morhua, Gadus ogac, Gadus macrocephalus), frozen (excluding fillets, livers, roes and other fish meat of heading no. 0304)\",\n  \"030353\":\n    \"Fish; frozen, sardines (Sardina pilchardus, Sardinops spp.), sardinella (Sardinella spp.), brisling or sprats (Sprattus sprattus), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030354\":\n    \"Fish; frozen, mackerel (Scomber scombrus, Scomber australasicus, Scomber japonicus), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030355\":\n    \"Fish; frozen, jack and horse mackerel (Trachurus spp.), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030356\":\n    \"Fish; frozen, cobia (Rachycentron canadum), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030357\":\n    \"Fish; frozen, swordfish (Xiphias gladius), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030359\":\n    \"Fish; frozen, n.e.c. in item no. 0303.5, excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030360\":\n    \"Fish; cod (gadus morhua, gadus ogac, gadus macrocephalus), frozen (excluding fillets, livers, roes and other fish meat of heading no. 0304)\",\n  \"030361\":\n    \"Fish; swordfish (Xiphias gladius), frozen (excluding fillets, livers, roes and other fish meat of heading no. 0304)\",\n  \"030362\":\n    \"Fish; toothfish (Dissostichus spp.), frozen (excluding fillets, livers, roes and other fish meat of heading no. 0304)\",\n  \"030363\":\n    \"Fish; frozen, cod (Gadus morhua, Gadus ogac, Gadus macrocephalus), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030364\":\n    \"Fish; frozen, haddock (Melanogrammus aeglefinus), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030365\":\n    \"Fish; frozen, coalfish (Pollachius virens), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030366\":\n    \"Fish; frozen, hake (Merluccius spp., Urophycis spp.), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030367\":\n    \"Fish; frozen, Alaska pollack (Theraga chalcogramma), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030368\":\n    \"Fish; frozen, blue whitings (Micromesistius poutassou, Micromesistius australis), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030369\":\n    \"Fish; frozen, of Bregmacerotidae, Euclichthyidae, Gadidae, Macrouridae, Melanonidae, Merlucciidae, Moridae, Muraenolepididae, other than cod, haddock, coalfish, hake, Alaska pollack, blue whitings, not fillets, meat of 0304, and edible offal of 0303.9\",\n  \"030371\":\n    \"Fish; sardines (sardina pilchardus, sardinops spp.), sardinella (sardinella spp.), brisling or sprats (sprattus sprattus), frozen (excluding fillets, livers, roes and other fish meat of heading no. 0304)\",\n  \"030372\":\n    \"Fish; haddock (melanogrammus aeglefinus), frozen (excluding fillets, livers, roes and other fish meat of heading no. 0304)\",\n  \"030373\":\n    \"Fish; coalfish (pollachius virens), frozen (excluding fillets, livers, roes and other fish meat of heading no. 0304)\",\n  \"030374\":\n    \"Fish; mackerel (scomber scombrus, scomber australasicus, scomber japonicus), frozen (excluding fillets, livers, roes and other fish meat of heading no. 0304)\",\n  \"030375\":\n    \"Fish; dogfish and other sharks, frozen (excluding fillets, livers, roes and other fish meat of heading no. 0304)\",\n  \"030376\":\n    \"Fish; eels (anguilla spp.), frozen (excluding fillets, livers, roes and other fish meat of heading no. 0304)\",\n  \"030377\":\n    \"Fish; sea bass (dicentrarchus labrax, dicentrarchus punctatus), frozen, (excluding fillets, livers, roes and other fish meat of heading no. 0304)\",\n  \"030378\":\n    \"Fish; hake (merluccius spp., urophycis spp.), frozen (excluding fillets, livers, roes and other fish meat of heading no. 0304)\",\n  \"030379\":\n    \"Fish; frozen, n.e.c. in heading no. 0303 (excluding fillets, livers, roes and other fish meat of heading no. 0304)\",\n  \"030380\": \"Fish; livers and roes, frozen\",\n  \"030381\":\n    \"Fish; frozen, dogfish and other sharks, excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030382\":\n    \"Fish; frozen, rays and skates (Rajidae), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030383\":\n    \"Fish; frozen, toothfish (Dissostichus spp.), excluding fillets, livers, roes, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030384\":\n    \"Fish; frozen, seabass (Dicentrarchus spp.), excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030389\":\n    \"Fish; frozen, n.e.c. in heading 0303, excluding fillets, fish meat of 0304, and edible fish offal of subheadings 0303.91 to 0303.99\",\n  \"030390\": \"Fish; frozen, livers and roes\",\n  \"030391\": \"Fish; frozen, livers, roes and milt\",\n  \"030392\": \"Fish; frozen, shark fins\",\n  \"030399\":\n    \"Fish; frozen, fish fins (other than shark fins), heads, tails, maws and other edible fish offal\",\n  \"030410\":\n    \"Fish; fillets and other fish meat, fresh or chilled (whether or not minced)\",\n  \"030411\":\n    \"Fish; swordfish (Xiphias gladius), fillets and other fish meat (whether or not minced), fresh or chilled\",\n  \"030412\":\n    \"Fish; toothfish (Dissostichus spp.), fillets and other fish meat (whether or not minced), fresh or chilled\",\n  \"030419\":\n    \"Fish; fillets and other fish meat (whether or not minced), fresh or chilled, other than swordfish (Xiphias gladius) and toothfish (Dissostichus spp.)\",\n  \"030420\": \"Fish fillets; frozen\",\n  \"030421\": \"Fish; swordfish (Xiphias gladius), fillets, frozen\",\n  \"030422\": \"Fish; toothfish (Dissostichus spp.), fillets, frozen\",\n  \"030429\": \"Fish fillets; frozen; excl. swordfish and toothfish\",\n  \"030431\": \"Fish fillets; fresh or chilled, tilapias (Oreochromis spp.)\",\n  \"030432\":\n    \"Fish fillets; fresh or chilled, catfish (Pangasius spp., Silurus spp., Clarias spp., Ictalurus spp.)\",\n  \"030433\": \"Fish fillets; fresh or chilled, Nile perch (Lates niloticus)\",\n  \"030439\":\n    \"Fish fillets; fresh or chilled, carp (as specified by the WCO), eels (Anguilla spp.), and snakeheads (Channa spp.)\",\n  \"030441\":\n    \"Fish fillets; fresh or chilled, salmon, Pacific (Oncorhynchus nerka, Oncorhynchus gorbuscha, Oncorhynchus keta, Oncorhynchus tschawytscha, Oncorhynchus kisutch, Oncorhynchus masou and Oncorhynchus rhodurus), Atlantic (Salmo salar), Danube (Hucho hucho)\",\n  \"030442\":\n    \"Fish fillets; fresh or chilled, trout (Salmo trutta, Oncorhynchus mykiss, Oncorhynchus clarki, Oncorhynchus aguabonita, Oncorhynchus gilae, Oncorhynchus apache and Oncorhynchus chrysogaster)\",\n  \"030443\":\n    \"Fish fillets; fresh or chilled, flat fish (Pleuronectidae, Bothidae, Cynoglossidae, Soleidae, Scophthalmidae and Citharidae)\",\n  \"030444\":\n    \"Fish fillets; fresh or chilled, of the families Bregmacerotidae, Euclichthyidae, Gadidae, Macrouridae, Melanonidae, Merlucciidae, Moridae, and Muraenolepididae\",\n  \"030445\": \"Fish fillets; fresh or chilled, swordfish (Xiphias gladius)\",\n  \"030446\": \"Fish fillets; fresh or chilled, toothfish (Dissostichus spp.)\",\n  \"030447\": \"Fish fillets; fresh or chilled, dogfish and other sharks\",\n  \"030448\": \"Fish fillets; fresh or chilled, rays and skates (Rajidae)\",\n  \"030449\": \"Fish fillets; fresh or chilled, other than fish of heading 0304.4\",\n  \"030451\":\n    \"Fish meat, excluding fillets, whether or not minced; fresh or chilled, tilapias, catfish, carp, eels, Nile perch, and snakeheads\",\n  \"030452\":\n    \"Fish meat, excluding fillets, whether or not minced; fresh or chilled, salmonidae\",\n  \"030453\":\n    \"Fish meat, excluding fillets, whether or not minced; fresh or chilled, of the families Bregmacerotidae, Euclichthyidae, Gadidae, Macrouridae, Melanonidae, Merlucciidae, Moridae, and Muraenolepididae\",\n  \"030454\":\n    \"Fish meat, excluding fillets, whether or not minced; fresh or chilled, swordfish (Xiphias gladius)\",\n  \"030455\":\n    \"Fish meat, excluding fillets, whether or not minced; fresh or chilled, toothfish (Dissostichus spp.)\",\n  \"030456\":\n    \"Fish meat; excluding fillets, whether or not minced; fresh or chilled, dogfish and other sharks\",\n  \"030457\":\n    \"Fish meat; excluding fillets, whether or not minced; fresh or chilled, rays and skates (Rajidae)\",\n  \"030459\":\n    \"Fish meat; excluding fillets, whether or not minced; fresh or chilled, of fish n.e.c. in item no. 0304.5\",\n  \"030461\": \"Fish fillets; frozen, tilapias (Oreochromis spp.)\",\n  \"030462\":\n    \"Fish fillets; frozen, catfish (Pangasius spp., Silurus spp., Clarias spp., Ictalurus spp.)\",\n  \"030463\": \"Fish fillets; frozen, Nile Perch (Lates niloticus)\",\n  \"030469\":\n    \"Fish fillets; frozen, carp (Cyprinus/Carassius/Ctenopharyngodon idellus/Hypophthalmichthys/Cirrhinus/Mylopharyngodon piceus/Catla catla/Labeo/Osteochilus hasselti/Leptobarbus hoeveni/Megalobrama), eels (Anguilla) and snakeheads (Channa)\",\n  \"030471\":\n    \"Fish fillets; frozen, cod (Gadus morhua, Gadus ogac, Gadus macrocephalus)\",\n  \"030472\": \"Fish fillets; frozen, haddock (Melanogrammus aeglefinus)\",\n  \"030473\": \"Fish fillets; frozen, coalfish (Pollachius virens)\",\n  \"030474\": \"Fish fillets; frozen, hake (Merluccius spp., Urophycis spp.)\",\n  \"030475\": \"Fish fillets; frozen, Alaska pollack (Theragra chalcogramma)\",\n  \"030479\":\n    \"Fish fillets; frozen, of the families Bregmacerotidae, Euclichthyidae, Gadidae, Macrouridae, Melanonidae, Merlucciidae, Moridae and Muraenolepididae other than cod, haddock, coalfish, hake, and Alaska pollack\",\n  \"030481\":\n    \"Fish fillets; frozen, salmon, Pacific (Oncorhynchus nerka, Oncorhynchus gorbuscha, Oncorhynchus keta, Oncorhynchus tschawytscha, Oncorhynchus kisutch, Oncorhynchus masou, Oncorhynchus rhodurus), Atlantic (Salmo salar), and Danube (Hucho hucho)\",\n  \"030482\":\n    \"Fish fillets; frozen, trout (Salmo trutta, Oncorhynchus mykiss, Oncorhynchus clarki, Oncorhynchus aguabonita, Oncorhynchus gilae, Oncorhynchus apache and Oncorhynchus chrysogaster)\",\n  \"030483\":\n    \"Fish fillets; frozen, flat fish (Pleuronectidae, Bothidae, Cynoglossidae, Soleidae, Scophthalmidae and Citharidae)\",\n  \"030484\": \"Fish fillets; frozen, swordfish (Xiphias gladius)\",\n  \"030485\": \"Fish fillets; frozen, toothfish (Dissostichus spp.)\",\n  \"030486\": \"Fish fillets; frozen, herrings (Clupea harengus, Clupea pallasii)\",\n  \"030487\":\n    \"Fish fillets; frozen, tunas (of the genus Thunnus), skipjack or stripe-bellied bonito (Euthynnus (Katsuwonus) pelamis)\",\n  \"030488\":\n    \"Fish fillets; frozen, dogfish, other sharks, rays and skates (Rajidae)\",\n  \"030489\": \"Fish fillets; frozen, of fish n.e.c. in heading 0304.8\",\n  \"030490\":\n    \"Fish; fish meat n.e.s. in heading no. 0304 (whether or not minced), fresh, chilled or frozen\",\n  \"030491\":\n    \"Fish meat, excluding fillets, whether or not minced; frozen, swordfish (Xiphias gladius)\",\n  \"030492\":\n    \"Fish meat, excluding fillets, whether or not minced; frozen, toothfish (Dissostichus spp.)\",\n  \"030493\":\n    \"Fish meat, excluding fillets, whether or not minced; frozen, tilapias, catfish, carp, eels, Nile perch, and snakeheads\",\n  \"030494\":\n    \"Fish meat, excluding fillets, whether or not minced; frozen, Alaska Pollack (Theragra chalcogramma)\",\n  \"030495\":\n    \"Fish meat, excluding fillets, whether or not minced; frozen, of the families Bregmacerotidae, Euclichthyidae, Gadidae, Macrouridae, Melanonidae, Merlucciidae, Moridae and Muraenolepididae, other than Alaska Pollack (Theragra chalcogramma)\",\n  \"030496\":\n    \"Fish meat, excluding fillets, whether or not minced; frozen, dogfish and other sharks\",\n  \"030497\":\n    \"Fish meat, excluding fillets, whether or not minced; frozen, rays and skates (Rajidae)\",\n  \"030499\":\n    \"Fish meat, excluding fillets, whether or not minced; frozen, n.e.c. in item no. 0304.9\",\n  \"030510\": \"Fish; flours, meals and pellets, fit for human consumption\",\n  \"030520\":\n    \"Fish; livers, roes and milt of fish, dried, smoked, salted or in brine\",\n  \"030530\": \"Fish; fillets, dried, salted or in brine, but not smoked\",\n  \"030531\":\n    \"Fish fillets; dried, salted or in brine, but not smoked, tilapias, catfish, carp, eels, Nile perch, and snakeheads\",\n  \"030532\":\n    \"Fish fillets; dried, salted or in brine, but not smoked, of the families Bregmacerotidae, Euclichthyidae, Gadidae, Macrouridae, Melanonidae, Merlucciidae, Moridae and Muraenolepididae\",\n  \"030539\":\n    \"Fish fillets; dried, salted or in brine, but not smoked, n.e.c. in item no. 0305.3\",\n  \"030541\":\n    \"Fish; smoked, whether or not cooked before or during smoking, salmon, Pacific (Oncorhynchus nerka, gorbuscha, keta, tschawytscha, kisutch, masou, rhodurus), Atlantic (Salmo salar) and Danube (Hucho hucho), includes fillets, but excludes edible fish offal\",\n  \"030542\":\n    \"Fish; smoked, whether or not cooked before or during smoking, herrings (Clupea harengus, Clupea pallasii), includes fillets, but excludes edible fish offal\",\n  \"030543\":\n    \"Fish; smoked, whether or not cooked before or during smoking, trout (Salmo trutta, Oncorhynchus mykiss/clarki/aguabonita/gilae/apache/chrysogaster), includes fillets, but excludes edible fish offal\",\n  \"030544\":\n    \"Fish; smoked, whether or not cooked before or during smoking, tilapias, catfish, carp, eels, Nile perch, and snakeheads, includes fillets, but excludes edible fish offal\",\n  \"030549\":\n    \"Fish; smoked, whether or not cooked before or during smoking, n.e.c. in item no. 0305.4, includes fillets, but excludes edible fish offal\",\n  \"030551\":\n    \"Fish; dried, whether or not salted but not smoked, other than edible fish offal, cod (Gadus morhua, Gadus ogac, Gadus macrocephalus)\",\n  \"030552\":\n    \"Fish; dried, whether or not salted but not smoked, tilapias, catfish, carp, eels, Nile perch, and snakeheads\",\n  \"030553\":\n    \"Fish; dried, whether or not salted but not smoked, fish of the families Bregmacerotidae, Euclichthyidae, Gadidae, Macrouridae, Melanonidae, Merlucciidae, Moridae and Muraenolepididae, other than cod\",\n  \"030554\":\n    \"Dried herrings, anchovies, sardines, sardinella, brisling or sprats, mackerel (incl Indian, jack, or horse), seerfishes, jacks, crevalles, cobia, silver pomfrets, Pacific saury, scads, capelin, swordfish, Kawakawa, bonitos, marlins, sailfishes, spearfish\",\n  \"030559\":\n    \"Fish; dried, whether or not salted but not smoked, other than edible fish offal, n.e.c. in item no. 0305.5\",\n  \"030561\":\n    \"Fish; salted or in brine, not dried or smoked, other than edible fish offal, herrings (Clupea harengas, Clupea pallasii)\",\n  \"030562\":\n    \"Fish; salted or in brine, not dried or smoked, other than edible fish offal, cod (Gadus morhua, Gadus ogac, Gadus macrocephalus)\",\n  \"030563\":\n    \"Fish; salted or in brine, not dried or smoked, other than edible fish offal, anchovies (Engrails spp.)\",\n  \"030564\":\n    \"Fish; salted or in brine, not dried or smoked, other than edible fish offal, tilapias, catfish, carp, eels, Nile perch, and snakeheads\",\n  \"030569\":\n    \"Fish; salted or in brine, not dried or smoked, other than edible fish offal, n.e.c. in item no. 0305.6\",\n  \"030571\": \"Fish; edible offal, shark fins\",\n  \"030572\": \"Fish; edible offal, fish heads, tails and maws\",\n  \"030579\":\n    \"Fish; edible offal, other than shark fins, fish heads, tails and maws\",\n  \"030611\":\n    \"Crustaceans; frozen, rock lobsters and other sea crawfish (Palinurus spp., Panulirus spp., Jasus spp.), in shell or not, smoked, cooked or not before or during smoking; in shell, cooked by steaming or by boiling in water\",\n  \"030612\":\n    \"Crustaceans; frozen, lobsters (Homarus spp.), in shell or not, smoked, cooked or not before or during smoking; in shell, cooked by steaming or by boiling in water\",\n  \"030613\": \"Shrimps and prawns; frozen\",\n  \"030614\":\n    \"Crustaceans; frozen, crabs, in shell or not, smoked, cooked or not before or during smoking; in shell, cooked by steaming or by boiling in water\",\n  \"030615\":\n    \"Crustaceans; frozen, Norway lobsters (Nephrops norvegicus), in shell or not, smoked, cooked or not before or during smoking; in shell, cooked by steaming or by boiling in water\",\n  \"030616\":\n    \"Crustaceans; frozen, cold-water shrimps and prawns (Pandalus spp., Crangon crangon), in shell or not, smoked, cooked or not before or during smoking; in shell, cooked by steaming or by boiling in water\",\n  \"030617\": \"Shrimps and prawns; frozen, smoked; excl. cold-water varieties\",\n  \"030619\":\n    \"Crustaceans; frozen, n.e.c. in item no. 0306.1, in shell or not, smoked, cooked or not before or during smoking; in shell, cooked by steaming or by boiling in water; including edible flours, meals, and pellets of crustaceans\",\n  \"030621\":\n    \"Crustaceans; not frozen, rock lobsters and other sea crawfish (Palinurus spp., Panulirus spp., Jasus spp.), in shell or not, smoked, cooked or not before or during smoking; in shell, cooked by steaming or boiling in water; edible flours, meals, pellets\",\n  \"030622\":\n    \"Crustaceans; not frozen, lobsters (Homarus spp.), whether in shell or not, smoked, cooked or not before or during smoking; in shell, cooked by steaming or by boiling in water; edible flours, meals, and pellets\",\n  \"030623\":\n    \"Crustaceans; shrimps and prawns, not frozen, (whether in shell or not, whether or not cooked by steaming or by boiling in water)\",\n  \"030624\":\n    \"Crustaceans; not frozen, crabs, whether in shell or not, smoked, cooked or not before or during smoking; in shell, cooked by steaming or by boiling in water; edible flours, meals, and pellets\",\n  \"030625\":\n    \"Crustaceans; not frozen, Norway lobsters (Nephrops norvegicus), in shell or not, smoked, cooked or not before or during smoking; in shell, cooked by steaming or by boiling in water; edible flours, meals, and pellets\",\n  \"030626\":\n    \"Crustaceans; not frozen, cold-water shrimps and prawns (Pandalus spp., Crangon crangon), in shell or not, smoked, cooked or not before or during smoking; in shell, cooked by steaming or by boiling in water; edible flour, meals, and pellets\",\n  \"030627\":\n    \"Crustaceans; not frozen, shrimps and prawns excluding cold-water varieties, in shell or not, smoked, cooked or not before or during smoking; in shell, cooked by steaming or by boiling in water; edible flour, meals, and pellets\",\n  \"030629\":\n    \"Crustaceans; not frozen, n.e.c. in item no. 0306.2, in shell or not, smoked, cooked or not before or during smoking; in shell, cooked by steaming or by boiling in water; including edible flours, meals, and pellets of crustaceans\",\n  \"030631\":\n    \"Crustaceans; live, fresh or chilled, rock lobsters and other sea crawfish (Palinurus spp., Panulirus spp., Jasus spp.), in shell or not\",\n  \"030632\":\n    \"Crustaceans; live, fresh or chilled, lobsters (Homarus spp.), whether in shell or not\",\n  \"030633\":\n    \"Crustaceans; live, fresh or chilled, crabs, whether in shell or not\",\n  \"030634\":\n    \"Crustaceans; live, fresh or chilled, Norway lobsters (Nephrops norvegicus), in shell or not\",\n  \"030635\":\n    \"Crustaceans; live, fresh or chilled, cold-water shrimps and prawns (Pandalus spp., Crangon crangon), in shell or not\",\n  \"030636\":\n    \"Crustaceans; live, fresh or chilled, shrimps and prawns excluding cold-water varieties, in shell or not\",\n  \"030639\":\n    \"Crustaceans; live, fresh or chilled, n.e.c. in item no. 0306.3, in shell or not, including edible flours, meals, and pellets of crustaceans\",\n  \"030691\":\n    \"Crustaceans; rock lobsters and other sea crawfish (Palinurus spp., Panulirus spp., Jasus spp.), smoked, cooked or not, whether in shell or not, whether or not cooked before or during smoking\",\n  \"030692\":\n    \"Crustaceans; lobsters (Homarus spp.), smoked, cooked or not, whether in shell or not, whether or not cooked before or during smoking\",\n  \"030693\":\n    \"Crustaceans; crabs, smoked, cooked or not, whether in shell or not, whether or not cooked before or during smoking\",\n  \"030694\":\n    \"Crustaceans; Norway lobsters (Nephrops norvegicus), smoked, cooked or not, whether in shell or not, whether or not cooked before or during smoking\",\n  \"030695\":\n    \"Crustaceans; shrimps and prawns, smoked, cooked or not, whether in shell or not, whether or not cooked before or during smoking\",\n  \"030699\":\n    \"Crustaceans; smoked, whole, cooked or not, n.e.c. in item no. 0306.9, in shell or not, including edible flours, meals, and pellets of crustaceans\",\n  \"030710\":\n    \"Molluscs; oysters, live, fresh, chilled, frozen, dried, salted or in brine (whether in shell or not)\",\n  \"030711\":\n    \"Molluscs; oysters, whether in shell or not, live, fresh or chilled\",\n  \"030712\": \"Molluscs; oysters, whether in shell or not, frozen\",\n  \"030719\":\n    \"Molluscs; oysters, whether in shell or not, dried, salted or in brine, smoked, cooked or not before or during the smoking process\",\n  \"030721\":\n    \"Molluscs; scallops, whether in shell or not, including queen scallops, of the genera Pecten, Chlamys or Placopecten, live, fresh or chilled\",\n  \"030722\":\n    \"Molluscs; scallops, whether in shell or not, including queen scallops of the genera Pecten, Chlamys or Placopecten, frozen\",\n  \"030729\":\n    \"Molluscs; scallops, whether in shell or not, including queen scallops of the genera Pecten, Chlamys or Placopecten, dried, salted, in brine, or smoked, cooked or not before or during the smoking process\",\n  \"030731\":\n    \"Molluscs; mussels (Mytilus spp., Perna spp.), whether in shell or not, live, fresh or chilled\",\n  \"030732\":\n    \"Molluscs; mussels (Mytilus spp., Perna spp.), whether in shell or not, frozen\",\n  \"030739\":\n    \"Molluscs; mussels (Mytilus spp., Perna spp.), whether in shell or not, dried, salted, in brine, or smoked, cooked or not before or during the smoking process\",\n  \"030741\":\n    \"Molluscs; cuttle fish and squid, whether in shell or not, live, fresh or chilled\",\n  \"030742\":\n    \"Molluscs; cuttle fish and squid, whether in shell or not, live, fresh or chilled\",\n  \"030743\": \"Cuttle fish and squid; frozen, processed or not\",\n  \"030749\":\n    \"Molluscs; cuttle fish and squid, whether in shell or not, includes flours, meals, and pellets of molluscs, fit for human consumption, dried, salted, in brine, or smoked, cooked or not before or during the smoking process\",\n  \"030751\": \"Molluscs; octopus (Octopus spp.), live, fresh or chilled\",\n  \"030752\": \"Molluscs; octopus (Octopus spp.), frozen\",\n  \"030759\":\n    \"Molluscs; octopus (Octopus spp.), dried, salted, in brine, or smoked, cooked or not before or during the smoking process\",\n  \"030760\":\n    \"Molluscs; snails, other than sea snails, whether in shell or not, live, fresh, chilled, frozen, dried, salted, in brine, or smoked, cooked or not before or during the smoking process\",\n  \"030771\":\n    \"Molluscs; clams, cockles and ark shells (families Arcidae, Arcticidae, Cardiidae, Donacidae, Hiatellidae, Mactridae, Mesodesmatidae, Myidae, Semelidae, Solecurtidae, Solenidae, Tridacnidae and Veneridae), whether in shell or not, live, fresh or chilled\",\n  \"030772\":\n    \"Molluscs; clams, cockles, ark shells (Arcidae, Arcticidae, Cardiidae, Donacidae, Hiatellidae, Mactridae, Mesodesmatidae, Myidae, Semelidae, Solecurtidae, Solenidae, Tridacnidae and Veneridae), whether in shell or not, frozen\",\n  \"030779\":\n    \"Molluscs; clams, cockle, ark shells (families Arcidae, Arcticidae, Cardiidae, Donacidae, Hiatellidae, Mactridae, Mesodesmatidae, Myidae, Semelidae, Solecurtidae, Solenidae, Tridacnidae, Veneridae), whether in shell or not, dried, salted, in brine, smoked\",\n  \"030781\":\n    \"Molluscs; abalone (Haliotis spp.), whether in shell or not, live, fresh or chilled\",\n  \"030782\":\n    \"Molluscs; stromboid conchs (Strombus spp.), whether in shell or not, live, fresh or chilled\",\n  \"030783\":\n    \"Molluscs; abalone (Haliotis spp.), whether in shell or not, frozen\",\n  \"030784\":\n    \"Molluscs; stromboid conchs (Strombus spp.), whether in shell or not, frozen\",\n  \"030787\":\n    \"Molluscs; abalone (Haliotis spp.), whether in shell or not, dried, salted, in brine, or smoked, cooked or not before or during the smoking process\",\n  \"030788\":\n    \"Molluscs; stromboid conchs (Strombus spp.), whether in shell or not, includes flours, meals, and pellets of molluscs, fit for human consumption, dried, salted, in brine, or smoked, cooked or not before or during the smoking process\",\n  \"030789\":\n    \"Molluscs; abalone (Haliotis spp.), whether in shell or not, frozen, dried, salted, in brine, or smoked, cooked or not before or during the smoking process\",\n  \"030791\":\n    \"Molluscs; n.e.c. in heading 0307, whether in shell or not, includes flours, meals, and pellets of molluscs, fit for human consumption, live or fresh, chilled\",\n  \"030792\":\n    \"Molluscs; n.e.c. in heading 0307, whether in shell or not, includes flours, meals, and pellets of molluscs, fit for human consumption, frozen\",\n  \"030799\":\n    \"Molluscs; n.e.c. in heading 0307, whether in shell or not, includes flours, meals, and pellets of molluscs, fit for human consumption, dried, salted, in brine, or smoked, cooked or not before or during the smoking process\",\n  \"030811\":\n    \"Aquatic invertebrates; sea cucumbers (Stichopus japonicus, Holothuroidea), live, fresh or chilled\",\n  \"030812\":\n    \"Aquatic invertebrates; sea cucumbers (Stichopus japonicus, Holothuroidea), frozen\",\n  \"030819\":\n    \"Aquatic invertebrates; sea cucumbers (Stichopus japonicus, Holothuroidea), dried, salted or in brine, smoked, whether or not cooked before or during the smoking process\",\n  \"030821\":\n    \"Aquatic invertebrates; sea urchins (Strongylocentrotus spp., Paracentrotus lividus, Loxechinus albus, Echinus esculentus), live, fresh or chilled\",\n  \"030822\":\n    \"Aquatic invertebrates; sea urchins (Strongylocentrotus spp., Paracentrotus lividus, Loxechinus albus, Echinus esculentus), frozen\",\n  \"030829\":\n    \"Aquatic invertebrates; sea urchins (Strongylocentrotus spp., Paracentrotus lividus, Loxechinus albus, Echinus esculentus), dried, salted or in brine, smoked, whether or not cooked before or during smoking process\",\n  \"030830\":\n    \"Aquatic invertebrates; jellyfish (Rhopilema spp.), live, fresh, chilled, frozen, dried, salted or in brine, smoked, whether or not cooked before or during smoking\",\n  \"030890\":\n    \"Aquatic invertebrates; other than crustaceans, molluscs, sea urchins, sea cucumbers and jellyfish, live, fresh, chilled, frozen, dried, salted or in brine, smoked, cooked or not before or during smoking, includes edible flours, meals, and pellets\",\n  \"030910\": \"Flours, meals and pellets of fish, fit for human consumption\",\n  \"030990\":\n    \"Flours, meals and pellets of crustaceans, molluscs and other aquatic invertebrates, fit for human consumption\",\n  \"040110\":\n    \"Dairy produce; milk and cream, not concentrated, not containing added sugar or other sweetening matter, of a fat content, by weight, not exceeding 1%\",\n  \"040120\": \"Milk; 1%-6% fat\",\n  \"040130\":\n    \"Dairy produce; milk and cream, not concentrated, not containing added sugar or other sweetening matter, of a fat content exceeding 6% (by weight)\",\n  \"040140\":\n    \"Dairy produce; milk and cream, not concentrated, not containing added sugar or other sweetening matter, of a fat content, by weight, exceeding 6% but not exceeding 10%\",\n  \"040150\":\n    \"Dairy produce; milk and cream, not concentrated, not containing added sugar or other sweetening matter, of a fat content, by weight, exceeding 10%\",\n  \"040210\":\n    \"Dairy produce; milk and cream, concentrated or containing added sugar or other sweetening matter, in powder, granules or other solid forms, of a fat content not exceeding 1.5% (by weight)\",\n  \"040221\": \"Unsweetened Milk Powder; >1.5% fat\",\n  \"040229\":\n    \"Dairy produce; milk and cream, containing added sugar or other sweetening matter, in powder, granules or other solid forms, of a fat content exceeding 1.5% (by weight)\",\n  \"040291\":\n    \"Dairy produce; milk and cream, concentrated, not containing added sugar or other sweetening matter, other than in powder, granules or other solid forms\",\n  \"040299\":\n    \"Dairy produce; milk and cream, containing added sugar or other sweetening matter, other than in powder, granules or other solid forms\",\n  \"040310\":\n    \"Dairy produce; yoghurt, whether or not concentrated or containing added sugar or other sweetening matter or flavoured or containing added fruit or cocoa\",\n  \"040320\":\n    \"Dairy produce; yoghurt, whether or not concentrated or containing added sugar or other sweetening matter or flavoured or containing added fruit, nuts or cocoa\",\n  \"040390\":\n    \"Dairy produce; buttermilk, curdled milk or cream, kephir, fermented or acidified milk or cream, whether or not concentrated or containing added sweetening, flavouring, fruit or cocoa (excluding yoghurt)\",\n  \"040410\":\n    \"Dairy produce; whey, whether or not concentrated or containing added sugar or other sweetening matter\",\n  \"040490\":\n    \"Dairy produce; natural milk constituents (excluding whey), whether or not containing added sugar or other sweetening matter, n.e.c. in chapter 04\",\n  \"040500\": \"Butter and other milk fats\",\n  \"040510\": \"Dairy produce; derived from milk, butter\",\n  \"040520\": \"Dairy produce; dairy spreads\",\n  \"040590\":\n    \"Dairy produce; fats and oils derived from milk (other than butter or dairy spreads)\",\n  \"040610\":\n    \"Dairy produce; fresh cheese (including whey cheese), not fermented, and curd\",\n  \"040620\": \"Dairy produce; cheese of all kinds, grated or powdered\",\n  \"040630\": \"Dairy produce; cheese, processed (not grated or powdered)\",\n  \"040640\":\n    \"Dairy produce; cheese, blue-veined and other cheese containing veins produced by Penicillium roqueforti (not grated, powdered or processed)\",\n  \"040690\": \"Other cheeses (exclusionary category)\",\n  \"040700\": \"Eggs; birds' eggs, in the shell, fresh, preserved or cooked\",\n  \"040711\":\n    \"Birds' eggs, in shell; fresh, fertilised eggs for incubation, of fowls of the species Gallus domesticus (domestic hens)\",\n  \"040719\":\n    \"Birds' eggs, in shell; fresh, fertilised eggs for incubation, other than fowls of the species Gallus domesticus (domestic hens)\",\n  \"040721\":\n    \"Birds' eggs, in shell; fresh, not for incubation, of fowls of the species Gallus domesticus (domestic hens)\",\n  \"040729\":\n    \"Birds' eggs, in shell; fresh, not for incubation, other than fowls of the species Gallus domesticus (domestic hens)\",\n  \"040790\": \"Birds' eggs, in shell; preserved or cooked\",\n  \"040811\":\n    \"Eggs; birds' eggs, yolks, dried, whether or not containing added sugar or other sweetening matter\",\n  \"040819\":\n    \"Eggs; birds' eggs, yolks, fresh, cooked by steaming or by boiling in water, moulded, frozen or otherwise preserved, whether or not containing added sugar or other sweetening matter\",\n  \"040891\":\n    \"Eggs; birds' eggs (not in shell, excluding yolks only), dried, whether or not containing added sugar or other sweetening matter\",\n  \"040899\":\n    \"Eggs; birds' eggs (not in shell, excluding yolks only), fresh, cooked by steaming or boiling in water, moulded, frozen, otherwise preserved, whether or not containing added sugar or other sweetening matter\",\n  \"040900\": \"Honey; natural\",\n  \"041000\": \"Animal products; edible, n.e.c. in this or other chapters\",\n  \"041010\": \"Animal products; insects\",\n  \"041090\":\n    \"Animal products; edible products of animal origin, not elsewhere specified or included, other than insects\",\n  \"050100\":\n    \"Animal products; hair, human, unworked, whether or not washed or scoured, and waste of human hair\",\n  \"050210\":\n    \"Animal products; hair and bristles, of pigs, hogs or boars, and waste thereof\",\n  \"050290\":\n    \"Animal products; badger hair and other brush making hair and waste of such bristles or hair, n.e.c. in heading no. 0502 (excluding horsehair)\",\n  \"050300\":\n    \"Animal products; horsehair and horsehair waste, whether or not put up as a layer with or without supporting material\",\n  \"050400\":\n    \"Animal products; guts, bladders and stomachs of animals (other than fish), whole and pieces thereof, fresh, chilled, frozen, salted, in brine, dried or smoked\",\n  \"050510\":\n    \"Animal products; feathers and down used for stuffing, not further worked than cleaned, disinfected or treated for preservation\",\n  \"050590\":\n    \"Animal products; skins and other parts of birds, feathers and down (not for stuffing), powder and waste of such, not further worked than cleaned, disinfected or treated for preservation\",\n  \"050610\": \"Animal products; ossein and bones treated with acid\",\n  \"050690\":\n    \"Animal products; bones and horn-cores and powder or waste of such, unworked, defatted, simply prepared (not cut to shape), or treated with acid or degelatinised, n.e.c. in heading no. 0506\",\n  \"050710\":\n    \"Animal products; ivory, unworked or simply prepared but not cut to shape, ivory powder and waste\",\n  \"050790\":\n    \"Animal products; tortoise-shell, whalebone and whalebone hair, horns, antlers, hooves, nails, claws and beaks, unworked or simply prepared but not cut to shape, waste and powder of these products\",\n  \"050800\":\n    \"Animal products; coral and similar materials, shells of molluscs, crustaceans, echinoderms, cuttle-bone, unworked or simply prepared but not cut to shape, powder and waste thereof\",\n  \"050900\": \"Animal products; natural sponges of animal origin\",\n  \"051000\":\n    \"Animal products; ambergris, castoreum, civet, musk, cantharides, bile (dried or not) glands and other animal products, for pharmaceutical purposes, fresh, chilled, frozen or otherwise provisionally preserved\",\n  \"051110\": \"Animal products; bovine semen\",\n  \"051191\":\n    \"Animal products; of fish or crustaceans, molluscs or other aquatic invertebrates; dead animals of chapter 03, unfit for human consumption\",\n  \"051199\": \"Animal products; n.e.c. in chapter 5\",\n  \"060110\":\n    \"Plants, live; bulbs, tubers, tuberous roots, corms, crowns and rhizomes, dormant\",\n  \"060120\":\n    \"Plants, live; bulbs, tubers, tuberous roots, corms, crowns and rhizomes, in growth or in flower, chicory plants and roots other than of heading no. 1212\",\n  \"060210\": \"Plants, live; unrooted cuttings and slips\",\n  \"060220\":\n    \"Plants, live; edible fruit or nut trees, shrubs and bushes, grafted or not\",\n  \"060230\": \"Plants, live; rhododendrons and azaleas, grafted or not\",\n  \"060240\": \"Plants, live; roses, grafted or not\",\n  \"060290\": \"Other live plants (exclusionary category)\",\n  \"060291\": \"Plants, live; mushroom spawn\",\n  \"060299\": \"Other live plants (exclusionary category)\",\n  \"060310\": \"Flowers; fresh, for bouquets or ornaments\",\n  \"060311\":\n    \"Flowers, cut; roses, flowers and buds of a kind suitable for bouquets or ornamental purposes, fresh\",\n  \"060312\":\n    \"Flowers, cut; carnations, flowers and buds of a kind suitable for bouquets or ornamental purposes, fresh\",\n  \"060313\":\n    \"Flowers, cut; orchids, flowers and buds of a kind suitable for bouquets or ornamental purposes, fresh\",\n  \"060314\":\n    \"Flowers, cut; chrysanthemums, flowers and buds of a kind suitable for bouquets or ornamental purposes, fresh\",\n  \"060315\":\n    \"Flowers, cut; lilies (Lilium spp.), flowers and flower buds of a kind suitable for bouquets or ornamental purposes, fresh\",\n  \"060319\":\n    \"Flowers, cut; flowers and buds of a kind suitable for bouquets or ornamental purposes, fresh, other than roses, carnations, orchids, chrysanthemums or lillies\",\n  \"060390\":\n    \"Flowers, cut; flowers and flower buds of a kind suitable for bouquets or ornamental purposes, dried, dyed, bleached, impregnated or otherwise prepared\",\n  \"060410\":\n    \"Mosses and lichens; of a kind suitable for bouquets or ornamental purposes, fresh, dried, dyed, bleached, impregnated or otherwise prepared\",\n  \"060420\":\n    \"Foliage, branches and other parts of plants, without flowers or flower buds, and grasses, mosses and lichens; suitable for bouquets or for ornamental purposes, fresh\",\n  \"060490\":\n    \"Foliage, branches and other parts of plants, without flowers or flower buds, and grasses, mosses and lichens; suitable for bouquets or for ornamental purposes, dried, dyed, bleached, impregnated or otherwise prepared\",\n  \"060491\":\n    \"Foliage, branches and other parts of plants, without flowers or flower buds, and grasses; being goods of a kind suitable for bouquets or for ornamental purposes, fresh\",\n  \"060499\":\n    \"Foliage, branches and other parts of plants, without flowers or flower buds, and grasses; kind suitable for bouquets or for ornamental purposes dried, dyed, bleached, impregnated, otherwise prepared, excluding fresh\",\n  \"070110\": \"Vegetables; seed potatoes, fresh or chilled\",\n  \"070190\": \"Vegetables; potatoes (other than seed), fresh or chilled\",\n  \"070200\": \"Tomatoes; fresh or chilled\",\n  \"070310\": \"Vegetables, alliaceous; onions and shallots, fresh or chilled\",\n  \"070320\": \"Vegetables, alliaceous; garlic, fresh or chilled\",\n  \"070390\":\n    \"Vegetables, alliaceous; leeks and other kinds n.e.c. in heading no. 0703, fresh or chilled\",\n  \"070410\":\n    \"Vegetables, brassica; cauliflowers and headed broccoli, fresh or chilled\",\n  \"070420\": \"Vegetables, brassica; brussel sprouts, fresh or chilled\",\n  \"070490\":\n    \"Vegetables, brassica; edible, n.e.c. in heading no. 0704, fresh or chilled\",\n  \"070511\":\n    \"Vegetables; cabbage (head) lettuce (lactuca sativa), fresh or chilled\",\n  \"070519\":\n    \"Vegetables; lettuce (lactuca sativa), (other than cabbage lettuce), fresh or chilled\",\n  \"070521\":\n    \"Vegetables; witloff chicory (cichorium intybus var. foliosum), fresh or chilled\",\n  \"070529\":\n    \"Vegetables; chicory (cichorium spp.), (other than witloof chicory), fresh or chilled\",\n  \"070610\": \"Vegetables, root; carrots and turnips, fresh or chilled\",\n  \"070690\":\n    \"Vegetables, root; salad beetroot, salsify, celeric, radishes and similar edible roots, fresh or chilled\",\n  \"070700\": \"Vegetables; cucumbers and gherkins, fresh or chilled\",\n  \"070810\":\n    \"Vegetables, leguminous; peas (pisum sativum), shelled or unshelled, fresh or chilled\",\n  \"070820\":\n    \"Vegetables, leguminous; beans (vigna spp., phaseolus spp.), shelled or unshelled, fresh or chilled\",\n  \"070890\":\n    \"Vegetables, leguminous; (other than peas and beans), shelled or unshelled, fresh or chilled\",\n  \"070910\": \"Vegetables; globe artichokes, fresh or chilled\",\n  \"070920\": \"Vegetables; asparagus, fresh or chilled\",\n  \"070930\": \"Vegetables; aubergines, (e.g. plants), fresh or chilled\",\n  \"070940\": \"Vegetables; celery (other than celeriac), fresh or chilled\",\n  \"070951\": \"Vegetables; mushrooms of the genus Agaricus, fresh or chilled\",\n  \"070952\": \"Vegetables; truffles, fresh or chilled\",\n  \"070953\": \"Vegetables; mushrooms of the genus Cantharellus, fresh or chilled\",\n  \"070954\":\n    \"Vegetables; shiitake mushrooms (Lentinus edodes), fresh or chilled\",\n  \"070955\":\n    \"Vegetables; matsutake mushrooms (Tricholoma matsutake, Tricholoma magnivelare, Tricholoma anatolicum, Tricholoma dulciolens, Tricholoma caligatum), fresh or chilled\",\n  \"070956\": \"Vegetables; truffles (Tuber spp.), fresh or chilled\",\n  \"070959\":\n    \"Vegetables; truffles and mushrooms (other than of the genus Agaricus), fresh or chilled\",\n  \"070960\": \"Peppers (Capsicum, Pimenta); fresh or chilled\",\n  \"070970\":\n    \"Vegetables; spinach, New Zealand spinach and orache spinach (garden spinach), fresh or chilled\",\n  \"070990\": \"Vegetables; edible, n.e.c. in chapter 7, fresh or chilled\",\n  \"070991\": \"Vegetables; globe artichokes, fresh or chilled\",\n  \"070992\": \"Vegetables; olives, fresh or chilled\",\n  \"070993\":\n    \"Vegetables; pumpkins, squash and gourds (Cucurbita spp.), fresh or chilled\",\n  \"070999\": \"Vegetables; edible, n.e.c. in chapter 07, fresh or chilled\",\n  \"071010\":\n    \"Vegetables; potatoes, uncooked or cooked by steaming or boiling in water, frozen\",\n  \"071021\":\n    \"Vegetables, leguminous; peas (pisum sativum), shelled or unshelled, uncooked or cooked by steaming or boiling in water, frozen\",\n  \"071022\":\n    \"Vegetables, leguminous; beans (vigna spp., phaseolus spp.), shelled or unshelled, uncooked or cooked by steaming or boiling in water, frozen\",\n  \"071029\":\n    \"Vegetables, leguminous; (other than peas or beans), shelled or unshelled, uncooked or cooked by steaming or boiling in water, frozen\",\n  \"071030\":\n    \"Vegetables; spinach, New Zealand spinach and orache spinach (garden spinach), uncooked or cooked by steaming or boiling in water, frozen\",\n  \"071040\":\n    \"Vegetables; sweetcorn, uncooked or cooked by steaming or boiling in water, frozen\",\n  \"071080\":\n    \"Vegetables; uncooked or cooked by steaming or boiling in water, n.e.c. in heading no. 0710, frozen\",\n  \"071090\":\n    \"Vegetable mixtures; uncooked or cooked by steaming or boiling in water, frozen\",\n  \"071110\":\n    \"Vegetables; onions, provisionally preserved by sulphur dioxide gas, but unsuitable in that state for immediate consumption\",\n  \"071120\":\n    \"Vegetables; olives, provisionally preserved but unsuitable in that state for immediate consumption\",\n  \"071130\":\n    \"Vegetables; capers, provisionally preserved but unsuitable in that state for immediate consumption\",\n  \"071140\":\n    \"Vegetables; cucumbers and gherkins, provisionally preserved but unsuitable in that state for immediate consumption\",\n  \"071151\":\n    \"Vegetables; mushrooms of the genus Agaricus, provisionally preserved but unsuitable in that state for immediate consumption\",\n  \"071159\":\n    \"Vegetables; mushrooms other than of the genus Agaricus, provisionally preserved but unsuitable in that state for immediate consumption\",\n  \"071190\":\n    \"Vegetables and mixed vegetables; n.e.c. in heading no. 0711, provisionally preserved but unsuitable in that state for immediate consumption\",\n  \"071210\":\n    \"Vegetables; potatoes, whether or not cut or sliced but not further prepared, dried\",\n  \"071220\":\n    \"Vegetables; onions, whole, cut, sliced, broken or in powder but not further prepared, dried\",\n  \"071230\":\n    \"Vegetables; mushrooms and truffles, whole, cut, sliced, broken or in powder but not further prepared, dried\",\n  \"071231\":\n    \"Vegetables; mushrooms of the genus Agaricus, whole, cut, sliced, broken or in powder but not further prepared, dried\",\n  \"071232\":\n    \"Vegetables; wood ears (Auricularia spp), whole, cut, sliced, broken or in powder but not further prepared, dried\",\n  \"071233\":\n    \"Vegetables; jelly fungi (Tremella spp)), whole, cut, sliced, broken or in powder but not further prepared, dried\",\n  \"071234\":\n    \"Vegetables; shiitake mushrooms (Lentinus edodes), whole, cut, sliced, broken or in powder but not further prepared, dried\",\n  \"071239\":\n    \"Vegetables; mushrooms, other than the genus Agaricus and truffles, whole, cut, sliced, broken or in powder but not further prepared, dried\",\n  \"071290\":\n    \"Vegetables; mixtures of vegetables n.e.c. in heading no. 0712, whole, cut, sliced, broken or in powder but not further prepared, dried\",\n  \"071310\":\n    \"Vegetables, leguminous; peas (pisum sativum), shelled, whether or not skinned or split, dried\",\n  \"071320\":\n    \"Vegetables, leguminous; chickpeas (garbanzos), shelled, whether or not skinned or split, dried\",\n  \"071331\":\n    \"Vegetables, leguminous; beans of the species vigna mungo (l.) hepper or vigna radiata (l.) wilczek, shelled, whether or not skinned or split, dried\",\n  \"071332\":\n    \"Vegetables, leguminous; small red (adzuki) beans (phaseolus or vigna angularis), shelled, whether or not skinned or split, dried\",\n  \"071333\":\n    \"Vegetables, leguminous; kidney beans, including white pea beans (phaseolus vulgaris), shelled, whether or not skinned or split, dried\",\n  \"071334\":\n    \"Vegetables, leguminous; bambara beans (Vigna subterranea or Voandzeia subterranea), shelled, whether or not skinned or split, dried\",\n  \"071335\":\n    \"Vegetables, leguminous; cow peas (Vigna unguiculata), shelled, whether or not skinned or split, dried\",\n  \"071339\":\n    \"Vegetables, leguminous; n.e.c. in item no. 0713.3, shelled, whether or not skinned or split, dried\",\n  \"071340\":\n    \"Vegetables, leguminous; lentils, shelled, whether or not skinned or split, dried\",\n  \"071350\":\n    \"Vegetables, leguminous; broad beans (vicia faba var. major) and horse beans (vicia faba var. equina and vicia faba var. minor), shelled, whether or not skinned or split, dried\",\n  \"071360\":\n    \"Vegetables, leguminous; pigeon peas (Cajanus cajan), shelled, whether or not skinned or split, dried\",\n  \"071390\":\n    \"Vegetables, leguminous; n.e.c. in heading no. 0713, shelled, whether or not skinned or split, dried\",\n  \"071410\":\n    \"Vegetable roots and tubers; manioc (cassava), with high starch or inulin content, fresh, chilled, frozen or dried, whether or not sliced or in the form of pellets\",\n  \"071420\":\n    \"Vegetable roots and tubers; sweet potatoes, with high starch or inulin content, fresh, chilled, frozen or dried, whether or not sliced or in the form of pellets\",\n  \"071430\":\n    \"Vegetable roots and tubers; yams (Dioscorea spp.) with high starch or inulin content, fresh, chilled, frozen or dried, whether or not sliced or in the form of pellets\",\n  \"071440\":\n    \"Vegetable roots and tubers; taro (Colocasia spp.) with high starch or inulin content, fresh, chilled, frozen or dried, whether or not sliced or in the form of pellets\",\n  \"071450\":\n    \"Vegetable roots and tubers; yautia (Xanthosoma spp.) with high starch or inulin content, fresh, chilled, frozen or dried, whether or not sliced or in the form of pellets\",\n  \"071490\":\n    \"Vegetable roots and tubers; arrowroot, salep, Jerusalem artichokes and similar roots and tubers (not manioc, sweet potatoes, yams, taro or yautia), high starch or inulin content, fresh, chilled, frozen, dried, sliced or not, or in pellet form; sago pith\",\n  \"080110\":\n    \"Nuts, edible; coconuts, fresh or dried, whether or not shelled or peeled\",\n  \"080111\": \"Nuts, edible; coconuts, desiccated\",\n  \"080112\": \"Nuts, edible; coconuts, in the inner shell (endocarp)\",\n  \"080119\":\n    \"Nuts, edible; coconuts, fresh or dried, other than desiccated or in the inner shell (endocarp)\",\n  \"080120\":\n    \"Nuts, edible; Brazil nuts, fresh or dried, whether or not shelled or peeled\",\n  \"080121\": \"Nuts, edible; brazil nuts, fresh or dried, in shell\",\n  \"080122\": \"Nuts, edible; brazil nuts, fresh or dried, shelled\",\n  \"080130\":\n    \"Nuts, edible; cashew nuts, fresh or dried, whether or not shelled or peeled\",\n  \"080131\": \"Cashew nuts; fresh or dried, in shell\",\n  \"080132\": \"Nuts, edible; cashew nuts, fresh or dried, shelled\",\n  \"080211\": \"Nuts, edible; almonds, fresh or dried, in shell\",\n  \"080212\": \"Nuts, edible; almonds, fresh or dried, shelled\",\n  \"080221\":\n    \"Nuts, edible; hazelnuts or filberts (corylus spp.), fresh or dried, in shell\",\n  \"080222\":\n    \"Nuts, edible; hazelnuts or filberts (corylus spp.), fresh or dried, shelled\",\n  \"080231\": \"Nuts, edible; walnuts, fresh or dried, in shell\",\n  \"080232\": \"Nuts, edible; walnuts, fresh or dried, shelled\",\n  \"080240\":\n    \"Nuts, edible; chestnuts (castanea spp.), fresh or dried, whether or not shelled or peeled\",\n  \"080241\": \"Nuts, edible; chestnuts (Castanea spp.), fresh or dried, in shell\",\n  \"080242\": \"Nuts, edible; chestnuts (Castanea spp.), fresh or dried, shelled\",\n  \"080250\":\n    \"Nuts, edible; pistachios, fresh or dried, whether or not shelled or peeled\",\n  \"080251\": \"Nuts, edible; pistachios, fresh or dried, in shell\",\n  \"080252\": \"Nuts, edible; pistachios, fresh or dried, shelled\",\n  \"080260\":\n    \"Nuts, edible; macadamia, fresh or dried, whether or not shelled or peeled\",\n  \"080261\": \"Nuts, edible; macadamia, fresh or dried, in shell\",\n  \"080262\": \"Nuts, edible; macadamia, fresh or dried, shelled\",\n  \"080270\":\n    \"Nuts, edible; kola nuts (Cola spp.), fresh or dried, whether or not shelled or peeled\",\n  \"080280\":\n    \"Nuts, edible; areca nuts, fresh or dried, whether or not shelled or peeled\",\n  \"080290\":\n    \"Nuts, edible; n.e.c. in heading no. 0801 and 0802, fresh or dried, whether or not shelled or peeled\",\n  \"080291\": \"Nuts, edible; pine nuts, fresh or dried, in shell\",\n  \"080292\": \"Nuts, edible; pine nuts, fresh or dried, shelled\",\n  \"080299\":\n    \"Nuts, edible; n.e.c. in heading 0801 and 0802, fresh or dried, whether or not shelled or peeled\",\n  \"080300\": \"Bananas; fresh or dried, incl. plantains\",\n  \"080310\": \"Fruit, edible; plantains, fresh or dried\",\n  \"080390\": \"Bananas; fresh or dried; excl. plantains\",\n  \"080410\": \"Fruit, edible; dates, fresh or dried\",\n  \"080420\": \"Fruit, edible; figs, fresh or dried\",\n  \"080430\": \"Fruit, edible; pineapples, fresh or dried\",\n  \"080440\": \"Avocados; fresh or dried\",\n  \"080450\": \"Fruit, edible; guavas, mangoes and mangosteens, fresh or dried\",\n  \"080510\": \"Oranges; fresh or dried\",\n  \"080520\":\n    \"Fruit, edible; mandarins (including tangerines and satsumas), clementines, wilkings and similar citrus hybrids, fresh or dried\",\n  \"080521\":\n    \"Fruit, edible; mandarins (including tangerines and satsumas), fresh or dried\",\n  \"080522\": \"Fruit, edible; clementines, fresh or dried\",\n  \"080529\":\n    \"Fruit, edible; tangelos, wilkings and similar citrus hybrid, fresh or dried\",\n  \"080530\":\n    \"Fruit, edible; lemons (citrus limon, citrus limonum), limes (citrus aurantifolia)\",\n  \"080540\": \"Fruit, edible; grapefruit, including pomelos, fresh or dried\",\n  \"080550\":\n    \"Fruit, edible; lemons (Citrus limon, Citrus limonum), limes (Citrus aurantifolia , Citrus latifolia), fresh or dried\",\n  \"080590\":\n    \"Fruit, edible; citrus fruit n.e.c. in heading no. 0805, fresh or dried\",\n  \"080610\": \"Grapes; fresh\",\n  \"080620\": \"Fruit, edible; grapes, dried\",\n  \"080710\": \"Fruit, edible; melons (including watermelons), fresh\",\n  \"080711\": \"Fruit, edible; watermelons, fresh\",\n  \"080719\": \"Fruit, edible; melons, other than watermelons, fresh\",\n  \"080720\": \"Fruit, edible; papaws (papayas), fresh\",\n  \"080810\": \"Apples; fresh\",\n  \"080820\": \"Fruit, edible; pears and quinces, fresh\",\n  \"080830\": \"Fruit, edible; pears, fresh\",\n  \"080840\": \"Fruit, edible; quinces, fresh\",\n  \"080910\": \"Fruit, edible; apricots, fresh\",\n  \"080920\": \"Fruit, edible; cherries, fresh\",\n  \"080921\": \"Fruit, edible; sour cherries (Prunus cerasus), fresh\",\n  \"080929\":\n    \"Fruit, edible; cherries, other than sour cherries (Prunus cerasus), fresh\",\n  \"080930\": \"Fruit, edible; peaches, including nectarines, fresh\",\n  \"080940\": \"Fruit, edible; plums and sloes, fresh\",\n  \"081010\": \"Fruit, edible; strawberries, fresh\",\n  \"081020\":\n    \"Fruit, edible; raspberries, blackberries, mulberries, and loganberries, fresh\",\n  \"081030\":\n    \"Fruit, edible; black, white or red currants and gooseberries, fresh\",\n  \"081040\":\n    \"Fruit, edible; cranberries, bilberries and other fruits of the genus vaccinium, fresh\",\n  \"081050\": \"Fruit, edible; kiwifruit, fresh\",\n  \"081060\": \"Durian; fresh\",\n  \"081070\": \"Fruit, edible; persimmons, fresh\",\n  \"081090\": \"Fruit, edible; fruits n.e.c. in heading no. 0801 to 0810, fresh\",\n  \"081110\":\n    \"Fruit, edible; strawberries, uncooked or cooked by steaming or boiling in water, frozen, whether or not containing added sugar or other sweetening matter\",\n  \"081120\":\n    \"Fruit, edible; raspberries, blackberries, mulberries, loganberries, black, white or red currants and gooseberries, uncooked or cooked, whether or not containing added sugar or other sweetening matter\",\n  \"081190\":\n    \"Fruit, edible; fruit and nuts n.e.c. in heading no. 0811, uncooked or cooked, frozen whether or not containing added sugar or other sweetening matter\",\n  \"081210\":\n    \"Fruit, edible; cherries, provisionally preserved, but unsuitable in that state for immediate consumption\",\n  \"081220\":\n    \"Fruit, edible; strawberries, provisionally preserved, but unsuitable in that state for immediate consumption\",\n  \"081290\":\n    \"Fruit, edible; fruit and nuts n.e.c. in heading no. 0812, provisionally preserved, but unsuitable in that state for immediate consumption\",\n  \"081310\": \"Fruit, edible; apricots, dried\",\n  \"081320\": \"Fruit, edible; prunes, dried\",\n  \"081330\": \"Fruit, edible; apples, dried\",\n  \"081340\": \"Fruit, edible; fruit n.e.c. in heading no. 0812, dried\",\n  \"081350\": \"Nuts, edible; mixtures of nuts or dried fruits of chapter 08\",\n  \"081400\":\n    \"Peel; of citrus fruit or melons (including watermelons), fresh, frozen, dried or provisionally preserved in brine, in sulphur water and other preservative solutions\",\n  \"090111\": \"Coffee; not roasted or decaffeinated\",\n  \"090112\": \"Coffee; decaffeinated, not roasted\",\n  \"090121\": \"Coffee; roasted; not decaffeinated\",\n  \"090122\": \"Coffee; roasted, decaffeinated\",\n  \"090130\": \"Coffee; husks and skins\",\n  \"090140\": \"Coffee; substitutes containing coffee, in any proportion\",\n  \"090190\":\n    \"Coffee; husks and skins, coffee substitutes containing coffee in any proportion\",\n  \"090210\":\n    \"Tea, green; (not fermented), in immediate packings of a content not exceeding 3kg\",\n  \"090220\":\n    \"Tea, green; (not fermented), in immediate packings of a content exceeding 3kg\",\n  \"090230\":\n    \"Tea, black; (fermented) and partly fermented tea, in immediate packings of a content not exceeding 3kg\",\n  \"090240\":\n    \"Tea, black; (fermented) and partly fermented tea, in immediate packings of a content exceeding 3kg\",\n  \"090300\": \"Mate\",\n  \"090411\": \"Spices; pepper (of the genus piper), neither crushed nor ground\",\n  \"090412\": \"Spices; pepper (of the genus piper), crushed or ground\",\n  \"090420\":\n    \"Spices; fruits of the genus capsicum or pimenta, dried or crushed or ground\",\n  \"090421\":\n    \"Spices; fruits of the genus Capsicum or Pimenta, dried, neither crushed nor ground\",\n  \"090422\":\n    \"Spices; fruits of the genus Capsicum or Pimenta, crushed or ground\",\n  \"090500\": \"Spices; vanilla\",\n  \"090510\": \"Spices; vanilla, neither crushed nor ground\",\n  \"090520\": \"Spices; vanilla, crushed or ground\",\n  \"090610\":\n    \"Spices; cinnamon and cinnamon-tree flowers, neither crushed nor ground\",\n  \"090611\":\n    \"Spices; cinnamon (Cinnamomum zeylanicum Blume), neither crushed nor ground\",\n  \"090619\":\n    \"Spices; cinnamon and cinnamon-tree flowers, other than cinnamon (Cinnamomum zeylanicum Blume), neither crushed nor ground\",\n  \"090620\": \"Spices; cinnamon and cinnamon-tree flowers, crushed or ground\",\n  \"090700\": \"Spices; cloves (whole fruit, cloves and stems)\",\n  \"090710\":\n    \"Spices; cloves (whole fruit, cloves and stems), neither crushed nor ground\",\n  \"090720\": \"Spices; cloves (whole fruit, cloves and stems), crushed or ground\",\n  \"090810\": \"Spices; nutmeg\",\n  \"090811\": \"Spices; nutmeg, neither crushed nor ground\",\n  \"090812\": \"Spices; nutmeg, crushed or ground\",\n  \"090820\": \"Spices; mace\",\n  \"090821\": \"Spices; mace, neither crushed nor ground\",\n  \"090822\": \"Spices; mace, crushed or ground\",\n  \"090830\": \"Spices; cardamoms\",\n  \"090831\": \"Spices; cardamoms, neither crushed nor ground\",\n  \"090832\": \"Spices; cardamoms, crushed or ground\",\n  \"090910\": \"Spices; anise or badian seeds\",\n  \"090920\": \"Spices; coriander seeds\",\n  \"090921\": \"Spices; coriander seeds, neither crushed nor ground\",\n  \"090922\": \"Spices; coriander seeds, crushed or ground\",\n  \"090930\": \"Spices; cumin seeds\",\n  \"090931\": \"Spices; cumin seeds, neither crushed nor ground\",\n  \"090932\": \"Spices; cumin seeds, crushed or ground\",\n  \"090940\": \"Spices; caraway seeds\",\n  \"090950\": \"Spices; fennel or juniper seeds\",\n  \"090961\":\n    \"Spices; seeds of anise, badian, caraway or fennel; juniper berries, neither crushed nor ground\",\n  \"090962\":\n    \"Spices; seeds of anise, badian, caraway or fennel; juniper berries, crushed or ground\",\n  \"091010\": \"Spices; ginger\",\n  \"091011\": \"Spices; ginger, neither crushed nor ground\",\n  \"091012\": \"Spices; ginger, crushed or ground\",\n  \"091020\": \"Spices; saffron\",\n  \"091030\": \"Spices; turmeric (curcuma)\",\n  \"091040\": \"Herbs; thyme, bay leaves\",\n  \"091050\": \"Curry\",\n  \"091091\": \"Spices; mixtures of 2 or more products of different headings\",\n  \"091099\": \"Spices; n.e.c. in heading no. 0910\",\n  \"9999AA\":\n    \"Commodities not specified according to kind **LEGACY NON-WCO CODE**\",\n} as const;\n","import hs6 from \"@/config/hs6\";\n\nconst isValidCode = (code: string): code is keyof typeof hs6 => code in hs6;\n\nexport const getProductName = (code?: string, truncateAtChar?: number) => {\n  if (code && isValidCode(code)) {\n    const name = hs6[code];\n    return truncateAtChar && name.length > truncateAtChar\n      ? `${name.slice(0, truncateAtChar)}…`\n      : name;\n  }\n\n  return code;\n};\n\n// Takes a text string and returns an array of lines based on character count per line.\n// Optionally truncates at a given line count and add an ellipsis\nexport const wrap = (\n  text: string,\n  charsPerLine: number,\n  truncateAtLine?: number\n) => {\n  const words = text.split(\" \");\n  const lines = [];\n  let line = \"\";\n\n  words.forEach((word) => {\n    if (line.length + word.length < charsPerLine) {\n      line += ` ${word}`;\n    } else {\n      lines.push(line);\n      line = word;\n    }\n  });\n\n  lines.push(line);\n\n  if (truncateAtLine && truncateAtLine <= lines.length) {\n    lines[truncateAtLine - 1] = `${lines[truncateAtLine - 1].slice(\n      0,\n      charsPerLine - 3\n    )}…`;\n    lines.length = truncateAtLine;\n  }\n\n  return lines;\n};\n","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../../node_modules/sass-loader/dist/cjs.js!./styles.module.scss\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../../node_modules/sass-loader/dist/cjs.js!./styles.module.scss\";\n       export default content && content.locals ? content.locals : undefined;\n","import { useRef, useState, useEffect } from \"react\";\nimport * as d3 from \"d3\";\nimport clsx from \"clsx\";\nimport { ChartHeader } from \"@/components/ChartHeader\";\nimport { Tooltip, useTooltip } from \"@/components/Tooltip\";\nimport { NoData } from \"@/components/NoData\";\nimport {\n  formatMoney,\n  makePossessive,\n  getSectorDisplayName,\n  formatMoneySr,\n  formatPercentage,\n} from \"@/utils/format\";\nimport { useMediaQuery } from \"@/hooks/useMediaQuery\";\nimport { getProductName, wrap } from \"../utils\";\nimport type { DataRow } from \"../App\";\nimport styles from \"./styles.module.scss\";\n\nconst xAxisHeight = 150;\nconst scaleMax = 10_000;\n\nconst topPadding = 20;\n\nconst regionInset = 2;\n\nconst tooltipWidthMobile = 360;\nconst tooltipWidth600 = 275;\n\nconst maxCircleRadius = 40;\nconst concentratedThreshold = 3_000;\n\nfunction tspans(lines: string[], lineHeight?: string) {\n  const lh = lineHeight || \"1.3em\";\n  return lines.map((line, index) => (\n    <tspan x=\"0\" dy={index === 0 ? 0 : lh} key={index}>\n      {line}\n    </tspan>\n  ));\n}\n\ninterface BubbleProps {\n  data: DataRow[];\n  displayEconomy: string;\n  sector: string;\n  product: string;\n  onProductChange: (newValue: string) => void;\n  concentrationDescription?: string;\n}\n\nexport function BubbleChart({\n  data,\n  displayEconomy,\n  sector,\n  product,\n  onProductChange,\n  concentrationDescription,\n}: BubbleProps) {\n  const is1200px = useMediaQuery(\"(min-width: 1200px)\");\n  const is1024px = useMediaQuery(\"(min-width: 1024px)\");\n  const is768px = useMediaQuery(\"(min-width: 768px)\");\n  const is600px = useMediaQuery(\"(min-width: 600px)\");\n\n  const yAxisLabelOffset = is1200px ? 80 : is1024px ? 105 : 120;\n  const yAxisLabelHeight = is1200px ? 20 : is1024px ? 40 : 60;\n  const height = (is1200px ? 1000 : 900) - xAxisHeight - yAxisLabelOffset;\n  const yAxisWidth = is1200px ? 250 : is1024px ? 260 : 275;\n  const yAxisTickLabelHeight = is1200px ? 12 : is1024px ? 14 : 18;\n  const width = 1200 - yAxisWidth;\n  const rightPaddingPixels = is768px ? 40 : 20;\n\n  const annotationX = is1200px ? -100 : is1024px ? -110 : -120;\n\n  const bubbleRef = useRef<HTMLDivElement>(null);\n  const svgRef = useRef<SVGSVGElement>(null);\n\n  const [svgWidth, setSvgWidth] = useState(0);\n\n  useEffect(() => {\n    const resizeObserver = new ResizeObserver((entries) => {\n      // Need to use target.clientWidth instead of contentRect.width because\n      // the latter returns a different value on mobile safari\n      setSvgWidth(entries[0].target.clientWidth);\n    });\n    if (svgRef.current) {\n      resizeObserver.observe(svgRef.current);\n    }\n\n    return () => {\n      resizeObserver.disconnect();\n    };\n  });\n\n  const {\n    showTooltip,\n    moveTooltip,\n    hideTooltip,\n    tooltipProps,\n    tooltipVisible,\n    tooltipData,\n  } = useTooltip<DataRow>(bubbleRef.current);\n\n  const [\n    isTopRightQuadrantTooltipVisible,\n    setIsTopRightQuadrantTooltipVisible,\n  ] = useState(false);\n\n  const [\n    isBottomRightQuadrantTooltipVisible,\n    setIsBottomRightQuadrantTooltipVisible,\n  ] = useState(false);\n\n  const [\n    isBottomLeftQuadrantTooltipVisible,\n    setIsBottomLeftQuadrantTooltipVisible,\n  ] = useState(false);\n\n  if (data.length === 0) {\n    return null;\n  }\n\n  const selectedProduct = data.find(\n    (item) => item[\"Sub-sector code\"] === product\n  );\n\n  // Sort data so selected product is last (for SVG layering)\n  const sortedData = data\n    .filter((item) => item[\"Sub-sector code\"] !== product)\n    .concat(selectedProduct || []);\n\n  const circleRadiusScale = d3\n    .scaleSqrt()\n    .domain(d3.extent(data.map((d) => d[\"Total reporter value\"])) as number[])\n    .range([10, maxCircleRadius]);\n\n  const rightPadding = svgWidth ? (rightPaddingPixels / svgWidth) * 1200 : 0;\n\n  const xScale = d3\n    .scaleLinear()\n    .domain([0, scaleMax])\n    .range([0, width - rightPadding]);\n\n  const yScale = d3\n    .scaleLinear()\n    .domain([0, scaleMax])\n    .range([height, topPadding]);\n\n  const displaySector = getSectorDisplayName(sector);\n\n  return (\n    <div>\n      <svg display=\"none\" width=\"0\" height=\"0\">\n        <defs>\n          <symbol id=\"line-arrow\" viewBox=\"0 0 18 18\">\n            <path d=\"M5.14645 4.82843L8.32843 1.64645C8.52369 1.45118 8.84027 1.45118 9.03553 1.64645L12.2175 4.82843C12.4128 5.02369 12.4128 5.34027 12.2175 5.53553C12.0223 5.7308 11.7057 5.7308 11.5104 5.53553L9.18198 3.20711L9.18198 17L8.18198 17L8.18198 3.20711L5.85355 5.53553C5.65829 5.73079 5.34171 5.73079 5.14645 5.53553C4.95118 5.34027 4.95118 5.02369 5.14645 4.82843Z\" />\n          </symbol>\n          <symbol id=\"tooltip-icon\" viewBox=\"0 0 11 11\">\n            <circle cx=\"5.5\" cy=\"5.5\" r=\"5.5\" fill=\"currentColor\" />\n            <path\n              d=\"M4.79812 2.94709C4.79812 2.52804 5.09611 2.2673 5.49654 2.2673C5.89696 2.2673 6.18564 2.52804 6.18564 2.94709C6.18564 3.36614 5.89696 3.63619 5.49654 3.63619C5.09611 3.63619 4.79812 3.36614 4.79812 2.94709ZM6.12045 8.15259C6.12045 8.30159 6.51156 8.66476 6.63262 8.66476H6.81886V9H4.23008V8.66476H4.41632C4.54669 8.66476 4.92849 8.30159 4.92849 8.15259V5.38688C4.92849 5.2472 4.54669 4.87471 4.41632 4.87471H4.23008V4.53947H6.12045V8.15259Z\"\n              fill=\"white\"\n            />\n          </symbol>\n        </defs>\n      </svg>\n      <ChartHeader\n        title={` ${displayEconomy} ${displaySector.toLowerCase()} supply concentration for the top 20 products (by import value) `}\n        description={concentrationDescription || \"\"}\n      />\n\n      {!sortedData.length ? (\n        <NoData />\n      ) : (\n        <div ref={bubbleRef} className={styles.container}>\n          <div className={styles[\"tooltip-container\"]}>\n            {tooltipVisible && tooltipData ? (\n              <Tooltip\n                {...tooltipProps}\n                style={{ ...tooltipProps.style, width: is1024px ? 350 : 300 }}\n              >\n                <header className={styles[\"tooltip-header\"]}>\n                  <h4 className={styles[\"tooltip-heading\"]}>\n                    {getProductName(tooltipData[\"Sub-sector code\"])}\n                  </h4>\n                  <p className={styles[\"tooltip-hs6-code\"]}>\n                    HS6 code: {tooltipData[\"Sub-sector code\"]}\n                  </p>\n                </header>\n\n                <ul className={styles[\"tooltip-list\"]}>\n                  <li>\n                    <strong>\n                      Top 3 suppliers account for{\" \"}\n                      {formatPercentage(\n                        tooltipData[\"Global top 3 share\"] / 100\n                      )}{\" \"}\n                      of global imports\n                    </strong>{\" \"}\n                    (HHI: {tooltipData[\"Global HHI\"].toLocaleString()})\n                  </li>\n                  <li>\n                    <strong>\n                      Top 3 suppliers account for{\" \"}\n                      {formatPercentage(\n                        tooltipData[\"Economy top 3 share\"] / 100\n                      )}{\" \"}\n                      of {makePossessive(displayEconomy)} imports\n                    </strong>{\" \"}\n                    (HHI: {tooltipData[\"Economy-specific HHI\"].toLocaleString()}\n                    )\n                  </li>\n                  <li>\n                    <strong>\n                      Trade value:{\" \"}\n                      {formatMoney(tooltipData[\"Total reporter value\"])}\n                    </strong>\n                  </li>\n                </ul>\n              </Tooltip>\n            ) : null}\n          </div>\n          <div className={styles.hide}>\n            <p>{`${\n              selectedProduct\n                ? `${getProductName(\n                    selectedProduct[\"Sub-sector code\"]\n                  )} is currently selected and has\n            a total trade value of ${formatMoneySr(\n              selectedProduct[\"Total reporter value\"]\n            )}, a global supply concentration of ${selectedProduct[\n                    \"Global HHI\"\n                  ].toLocaleString()} HHI (the top 3 suppliers account for ${formatPercentage(\n                    selectedProduct[\"Global top 3 share\"] / 100\n                  )} of global imports) and supply concentration of ${displayEconomy} imports of ${selectedProduct[\n                    \"Economy-specific HHI\"\n                  ].toLocaleString()} HHI (the top 3 suppliers account for ${formatPercentage(\n                    selectedProduct[\"Economy top 3 share\"] / 100\n                  )} of ${displayEconomy} imports). `\n                : \"\"\n            }${displayEconomy} has potential to diversify the following products\n            (in other words, many suppliers exist globally but ${displayEconomy} imports from only a few), starting with the most\n            concentrated products:`}</p>\n            <ol>\n              {data\n                .filter(\n                  (row) =>\n                    row[\"Economy-specific HHI\"] >= 3000 &&\n                    row[\"Global HHI\"] <= 3000\n                )\n                .sort(\n                  (a, b) =>\n                    b[\"Economy-specific HHI\"] - a[\"Economy-specific HHI\"]\n                )\n                .map((row) => (\n                  <li key={row[\"Sub-sector code\"]}>\n                    {`${getProductName(\n                      row[\"Sub-sector code\"]\n                    )} with a global supply concentration of ${row[\n                      \"Global HHI\"\n                    ].toLocaleString()} HHI (the top 3 suppliers account for ${formatPercentage(\n                      row[\"Global top 3 share\"] / 100\n                    )} of global imports) and a supply concentration of ${displayEconomy} imports of ${row[\n                      \"Economy-specific HHI\"\n                    ].toLocaleString()} HHI (the top 3 suppliers account for ${formatPercentage(\n                      row[\"Economy top 3 share\"] / 100\n                    )} of ${displayEconomy} imports)`}\n                  </li>\n                ))}\n            </ol>\n          </div>\n          <svg\n            className={styles.chart}\n            viewBox={`0 0 ${width + yAxisWidth} ${\n              height + xAxisHeight + yAxisLabelOffset\n            }`}\n            aria-hidden\n            ref={svgRef}\n          >\n            <defs>\n              <filter id=\"textBackground\" x=\"0\" y=\"0\" width=\"1\" height=\"1\">\n                <feFlood floodColor=\"white\" result=\"bg\" />\n                <feMerge>\n                  <feMergeNode in=\"bg\" />\n                  <feMergeNode in=\"SourceGraphic\" />\n                </feMerge>\n                <feComposite in=\"SourceGraphic\" />\n              </filter>\n            </defs>\n            {/* Y axis */}\n            <g\n              transform={`translate(${yAxisWidth},${yAxisLabelOffset})`}\n              className={styles[\"axis\"]}\n            >\n              <text\n                className={styles[\"axis-label\"]}\n                transform={`translate(0, -${yAxisLabelHeight})`}\n              >\n                {tspans([`Global supply concentration`, `(HHI Index¹)`])}\n              </text>\n\n              <line\n                x1={0}\n                x2={0}\n                y1={topPadding}\n                y2={height}\n                className={styles[\"axis-line\"]}\n              />\n\n              {yScale.ticks(5).map((tick) => {\n                const y = yScale(tick);\n                return (\n                  <g\n                    key={tick}\n                    transform={`translate(-10,${y})`}\n                    textAnchor=\"end\"\n                    className={styles[\"tick\"]}\n                  >\n                    <text x={-10} y={Math.round(yAxisTickLabelHeight / 2)}>\n                      {tick.toLocaleString()}\n                    </text>\n                    <line\n                      strokeWidth=\"2\"\n                      className={styles[\"axis-tickline\"]}\n                      x1={0}\n                      x2={10}\n                      y1=\"0\"\n                      y2=\"0\"\n                    />\n                  </g>\n                );\n              })}\n            </g>\n            {/* Y axis annotations */}\n            <g\n              transform={`translate(${annotationX + yAxisWidth}, \n              ${-65 + yScale(concentratedThreshold) + yAxisLabelOffset})`}\n            >\n              <use\n                transform=\"translate(11, 27)\"\n                className={styles[\"marker-arrow\"]}\n                height={is768px ? 18 : 16}\n                width={is768px ? 18 : 16}\n                xlinkHref=\"#line-arrow\"\n              />\n              <text\n                textAnchor=\"end\"\n                className={clsx(\n                  styles[\"marker-text\"],\n                  styles[\"marker-text-bold-first\"]\n                )}\n              >\n                {tspans([\n                  `More concentrated`,\n                  `Fewer than ~3`,\n                  `global suppliers`,\n                ])}\n              </text>\n            </g>\n            <g\n              transform={`translate(${annotationX + yAxisWidth}, \n                ${30 + +yScale(concentratedThreshold) + yAxisLabelOffset})`}\n            >\n              <text\n                textAnchor=\"end\"\n                className={clsx(\n                  styles[\"marker-text\"],\n                  styles[\"marker-text-bold-first\"]\n                )}\n              >\n                {tspans([\n                  `Less concentrated`,\n                  `More than ~3`,\n                  `global suppliers`,\n                ])}\n              </text>\n              <use\n                transform=\"translate(28, 8) rotate(180)\"\n                className={styles[\"marker-arrow\"]}\n                height={is768px ? 18 : 16}\n                width={is768px ? 18 : 16}\n                xlinkHref=\"#line-arrow\"\n              />\n            </g>\n            {/* X axis */}\n            <g\n              transform={`translate(${yAxisWidth}, ${\n                height + yAxisLabelOffset\n              })`}\n              className={styles[\"axis\"]}\n            >\n              <text\n                className={styles[\"axis-label\"]}\n                textAnchor=\"end\"\n                transform={`translate(${width - rightPadding}, 85)`}\n              >\n                {tspans([\n                  `Supply concentration of`,\n                  `${displayEconomy} imports (HHI Index¹)`,\n                ])}\n              </text>\n\n              <line\n                x={0}\n                x1={width - rightPadding}\n                className={styles[\"axis-line\"]}\n              />\n              {xScale.ticks(5).map((tick) => {\n                const x = xScale(tick);\n                return (\n                  <g\n                    key={tick}\n                    transform={`translate(${x}, 0)`}\n                    textAnchor={\n                      x < 20 ? \"start\" : x > width - 100 ? \"end\" : \"middle\"\n                    }\n                    className={styles[\"tick\"]}\n                  >\n                    <text y=\"40\">{tick.toLocaleString()}</text>\n                    <line\n                      strokeWidth=\"2\"\n                      className={styles[\"axis-tickline\"]}\n                      x1=\"0\"\n                      x=\"0\"\n                      y1=\"0\"\n                      y2=\"10\"\n                    />\n                  </g>\n                );\n              })}\n            </g>\n            {/* X axis annotations */}\n            <g\n              transform={`translate(\n                ${-18 + xScale(concentratedThreshold) + yAxisWidth}, \n                ${height + yAxisLabelOffset + 85})`}\n            >\n              <use\n                transform=\"translate(-18, -20) rotate(-90)\"\n                className={styles[\"marker-arrow\"]}\n                height={is768px ? 18 : 16}\n                width={is768px ? 18 : 16}\n                xlinkHref=\"#line-arrow\"\n              />\n              <text\n                textAnchor=\"end\"\n                className={clsx(\n                  styles[\"marker-text\"],\n                  styles[\"marker-text-bold-first\"]\n                )}\n              >\n                {tspans([\n                  `Less concentrated`,\n                  `More than ~3 suppliers`,\n                  `to ${displayEconomy}`,\n                ])}\n              </text>\n            </g>\n            <g\n              transform={`translate(${\n                18 + xScale(concentratedThreshold) + yAxisWidth\n              }, ${height + yAxisLabelOffset + 85})`}\n            >\n              <use\n                transform=\"translate(18, -37) rotate(90)\"\n                className={styles[\"marker-arrow\"]}\n                height={is768px ? 18 : 16}\n                width={is768px ? 18 : 16}\n                xlinkHref=\"#line-arrow\"\n              />\n              <text\n                textAnchor=\"start\"\n                className={clsx(\n                  styles[\"marker-text\"],\n                  styles[\"marker-text-bold-first\"]\n                )}\n              >\n                {tspans([\n                  `More concentrated`,\n                  `Fewer than ~3 suppliers`,\n                  `to ${displayEconomy} `,\n                ])}\n              </text>\n            </g>\n\n            {/* Rectangle Highlight */}\n            <g transform={`translate(${yAxisWidth},0)`}>\n              <rect\n                className={styles[\"region-highlight-local\"]}\n                x={xScale(concentratedThreshold) + regionInset}\n                width={xScale(scaleMax - concentratedThreshold) - regionInset}\n                y={\n                  yAxisLabelOffset + yScale(concentratedThreshold) + regionInset\n                }\n                height={\n                  height - yScale(concentratedThreshold) - 2 * regionInset\n                }\n              />\n            </g>\n\n            {/* Vert line at 3000 */}\n            <line\n              className={styles[\"marker-line\"]}\n              x1={xScale(concentratedThreshold) + yAxisWidth}\n              x2={xScale(concentratedThreshold) + yAxisWidth}\n              y1={yScale(scaleMax) + yAxisLabelOffset}\n              y2={130 + height + yAxisLabelOffset}\n              strokeDasharray=\"4 2\"\n            />\n\n            {/* Horiz line at 3000 */}\n            <line\n              className={styles[\"marker-line\"]}\n              x1={-220 + yAxisWidth}\n              x2={xScale(scaleMax) + yAxisWidth}\n              y1={yScale(concentratedThreshold) + yAxisLabelOffset}\n              y2={yScale(concentratedThreshold) + yAxisLabelOffset}\n              strokeDasharray=\"4 2\"\n            />\n\n            {/* Bubbles */}\n            <g transform={`translate(${yAxisWidth},${yAxisLabelOffset})`}>\n              {sortedData.map((d) => {\n                const x = xScale(d[\"Economy-specific HHI\"]);\n                const y = yScale(d[\"Global HHI\"]);\n\n                const isSelected = d[\"Sub-sector code\"] === product;\n\n                // Get full product name and convert to array of lines ~20 chars long each\n                const prodName = getProductName(d[\"Sub-sector code\"]);\n                const prodNamelines = wrap(prodName || \"\", 30, 2);\n                const circleR = circleRadiusScale(d[\"Total reporter value\"]);\n\n                const economyHHI = d[\"Economy-specific HHI\"];\n                const globalHHI = d[\"Global HHI\"];\n\n                const bubbleClassName =\n                  globalHHI > concentratedThreshold &&\n                  economyHHI > concentratedThreshold\n                    ? \"bubble-global\"\n                    : economyHHI > concentratedThreshold\n                    ? \"bubble-local\"\n                    : \"bubble-normal\";\n\n                const isOnRightEdge =\n                  (d[\"Economy-specific HHI\"] >= 9500 &&\n                    !(prodName && prodName.length <= 5)) ||\n                  (d[\"Economy-specific HHI\"] >= 9000 &&\n                    !(prodName && prodName.length <= 10)) ||\n                  (d[\"Economy-specific HHI\"] >= 8500 &&\n                    !(prodName && prodName.length <= 15));\n\n                return (\n                  <g\n                    className={clsx(\n                      styles.bubble,\n                      styles[bubbleClassName],\n                      isSelected && styles[\"bubble-selected\"]\n                    )}\n                    transform={`translate(${x},0)`}\n                    key={`${d[\"Economy-specific HHI\"]}-${d[\"Sub-sector code\"]}`}\n                    onClick={() => {\n                      onProductChange(d[\"Sub-sector code\"]);\n                    }}\n                    onMouseEnter={(event) => {\n                      showTooltip(event, d);\n                    }}\n                    onMouseMove={(event) => {\n                      moveTooltip(event);\n                    }}\n                    onMouseLeave={() => {\n                      hideTooltip();\n                    }}\n                  >\n                    {isSelected ? (\n                      <g className={styles[\"bubble-annotation\"]}>\n                        <text\n                          filter=\"url(#textBackground)\"\n                          transform={`translate(${\n                            isOnRightEdge ? xScale(scaleMax) - x : 0\n                          }, ${y + circleR})`}\n                          textAnchor={isOnRightEdge ? \"end\" : \"middle\"}\n                          className={styles[\"bubble-label\"]}\n                        >\n                          {prodNamelines.map((line, i) => (\n                            <tspan key={i} x={0} dy=\"1.25em\">\n                              {line}\n                            </tspan>\n                          ))}\n                        </text>\n                      </g>\n                    ) : null}\n\n                    <circle\n                      className={styles[\"bubble-circle\"]}\n                      r={circleR}\n                      cy={y}\n                    />\n                  </g>\n                );\n              })}\n            </g>\n\n            {/* Quadrant annotations */}\n\n            <g transform={`translate(${yAxisWidth},${yAxisLabelOffset})`}>\n              {isTopRightQuadrantTooltipVisible ? (\n                <g\n                  transform={`translate(${\n                    xScale(scaleMax) -\n                    (is600px ? tooltipWidth600 : tooltipWidthMobile)\n                  }, 20)`}\n                  className={styles[\"quadrant-tooltip\"]}\n                >\n                  <rect\n                    fill=\"white\"\n                    x={-1}\n                    y={1}\n                    width={is600px ? tooltipWidth600 : tooltipWidthMobile}\n                    height={is600px ? 100 : 110}\n                    className={styles[\"quadrant-tooltip-bg\"]}\n                  />\n                  <text\n                    transform=\"translate(25,70)\"\n                    className={styles[\"quadrant-tooltip-text\"]}\n                  >\n                    Few suppliers exist globally\n                  </text>\n                </g>\n              ) : null}\n\n              <g\n                className={styles[\"quadrant-label\"]}\n                transform={`translate(\n                  ${\n                    25 +\n                    xScale(scaleMax) -\n                    (is600px ? tooltipWidth600 : tooltipWidthMobile)\n                  }\n                , 45)`}\n                onMouseEnter={() => {\n                  setIsTopRightQuadrantTooltipVisible(true);\n                }}\n                onMouseLeave={() => {\n                  setIsTopRightQuadrantTooltipVisible(false);\n                }}\n              >\n                <text x={25} y={15} className={styles[\"quadrant-label-text\"]}>\n                  Globally concentrated\n                </text>\n                <use\n                  className={styles[\"quadrant-label-icon\"]}\n                  height={is768px ? 18 : 16}\n                  width={is768px ? 18 : 16}\n                  xlinkHref=\"#tooltip-icon\"\n                />\n              </g>\n\n              {isBottomRightQuadrantTooltipVisible ? (\n                <g\n                  transform={`translate(${\n                    xScale(scaleMax) -\n                    (is600px ? tooltipWidth600 : tooltipWidthMobile)\n                  }, ${1 + yScale(concentratedThreshold)})`}\n                  className={styles[\"quadrant-tooltip\"]}\n                >\n                  <rect\n                    fill=\"white\"\n                    x={-1}\n                    y={1}\n                    width={is600px ? tooltipWidth600 : tooltipWidthMobile}\n                    height={is600px ? 140 : 150}\n                    className={styles[\"quadrant-tooltip-bg\"]}\n                  />\n                  <text\n                    transform=\"translate(25,70)\"\n                    className={styles[\"quadrant-tooltip-text\"]}\n                  >\n                    {tspans(\n                      [\n                        `Many suppliers exist globally`,\n                        `but ${displayEconomy}`,\n                        `imports from only a few`,\n                      ],\n                      \"1.2em\"\n                    )}\n                  </text>\n                </g>\n              ) : null}\n\n              <g\n                className={styles[\"quadrant-label\"]}\n                transform={`translate(\n                ${\n                  25 +\n                  xScale(scaleMax) -\n                  (is600px ? tooltipWidth600 : tooltipWidthMobile)\n                }, \n                ${25 + yScale(concentratedThreshold)}\n              )`}\n                onMouseEnter={() => {\n                  setIsBottomRightQuadrantTooltipVisible(true);\n                }}\n                onMouseLeave={() => {\n                  setIsBottomRightQuadrantTooltipVisible(false);\n                }}\n              >\n                <text x={25} y={15} className={styles[\"quadrant-label-text\"]}>\n                  Locally concentrated\n                </text>\n                <use\n                  className={styles[\"quadrant-label-icon\"]}\n                  height={is768px ? 18 : 16}\n                  width={is768px ? 18 : 16}\n                  xlinkHref=\"#tooltip-icon\"\n                />\n              </g>\n\n              {isBottomLeftQuadrantTooltipVisible ? (\n                <g\n                  transform={`translate(0, ${\n                    1 + yScale(concentratedThreshold)\n                  } )`}\n                  className={styles[\"quadrant-tooltip\"]}\n                >\n                  <rect\n                    fill=\"red\"\n                    x={1}\n                    y={1}\n                    width={is600px ? tooltipWidth600 : tooltipWidthMobile}\n                    height={is600px ? 140 : 150}\n                    className={styles[\"quadrant-tooltip-bg\"]}\n                  />\n                  <text\n                    transform=\"translate(25,70)\"\n                    className={styles[\"quadrant-tooltip-text\"]}\n                  >\n                    {tspans(\n                      [\n                        `Many suppliers exist globally`,\n                        `and ${displayEconomy}`,\n                        `imports from many of them`,\n                      ],\n                      \"1.2em\"\n                    )}\n                  </text>\n                </g>\n              ) : null}\n\n              <g\n                className={styles[\"quadrant-label\"]}\n                transform={`translate(25, ${25 + yScale(concentratedThreshold)}\n                  )`}\n                onMouseEnter={() => {\n                  setIsBottomLeftQuadrantTooltipVisible(true);\n                }}\n                onMouseLeave={() => {\n                  setIsBottomLeftQuadrantTooltipVisible(false);\n                }}\n              >\n                <text x={25} y={15} className={styles[\"quadrant-label-text\"]}>\n                  Not concentrated\n                </text>\n                <use\n                  className={styles[\"quadrant-label-icon\"]}\n                  height={is768px ? 18 : 16}\n                  width={is768px ? 18 : 16}\n                  xlinkHref=\"#tooltip-icon\"\n                />\n              </g>\n            </g>\n          </svg>\n        </div>\n      )}\n    </div>\n  );\n}\n","export default function extent(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","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../../node_modules/sass-loader/dist/cjs.js!./styles.module.scss\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../../node_modules/sass-loader/dist/cjs.js!./styles.module.scss\";\n       export default content && content.locals ? content.locals : undefined;\n","import { ChartHeader } from \"@/components/ChartHeader\";\nimport { NoData } from \"@/components/NoData\";\nimport { Select } from \"@/components/Select\";\nimport { formatMoney } from \"@/utils/format\";\nimport { getEconomyDisplayName, formatPercentage } from \"@/utils/format\";\nimport { getProductName } from \"../utils\";\nimport type { SuppliersDataRow } from \"../App\";\nimport styles from \"./styles.module.scss\";\n\ninterface SuppliersChartProps {\n  data: SuppliersDataRow[];\n  displayEconomy: string;\n  product: string;\n  productOptions: string[];\n  onProductChange: (newValue: string) => void;\n}\n\nexport function SuppliersChart({\n  data,\n  displayEconomy,\n  product,\n  productOptions,\n  onProductChange,\n}: SuppliersChartProps) {\n  const filteredData = data.sort((a, b) => b.Value - a.Value).slice(0, 10);\n\n  const maxValue = Math.max(...filteredData.map((row) => row.Value));\n\n  const iterator = Array.from(Array(filteredData.length).keys());\n\n  const titleId = \"product-concentration-suppliers-title\";\n\n  return (\n    <div className={styles.wrap}>\n      <ChartHeader\n        title={`Top suppliers of selected product to ${displayEconomy}`}\n        titleId={titleId}\n        description={`${getProductName(\n          product\n        )?.toLowerCase()} (HS6 code: ${product})`}\n      >\n        <Select\n          label=\"Product\"\n          items={productOptions.map((o) => ({\n            value: o,\n            label: getProductName(o, 60),\n          }))}\n          value={product}\n          onChange={(value) => {\n            onProductChange(value);\n          }}\n        />\n      </ChartHeader>\n\n      {!filteredData.length ? (\n        <NoData />\n      ) : (\n        <>\n          <table className={styles.table} aria-labelledby={titleId}>\n            <thead>\n              <tr>\n                <th>Economy</th>\n                <th>Value, $</th>\n                <th>\n                  Share of\n                  <br />\n                  total imports, %\n                </th>\n              </tr>\n            </thead>\n            <tbody>\n              {iterator.map((_, index) => {\n                const row = filteredData[index];\n\n                return (\n                  <tr key={index}>\n                    <td className={styles[\"economy-col\"]}>\n                      <p className={styles[\"economy-col-content\"]}>\n                        <span className={styles.index} aria-hidden>\n                          {index + 1}\n                        </span>{\" \"}\n                        <span className={styles[\"economy-col-text\"]}>\n                          {getEconomyDisplayName(row[\"Partner code\"])}\n                        </span>\n                      </p>\n                    </td>\n                    <td className={styles[\"value-col\"]}>\n                      <div className={styles[\"value-col-container\"]}>\n                        <div className={styles[\"value-bar-container\"]}>\n                          <div\n                            className={styles[\"value-bar\"]}\n                            style={\n                              {\n                                \"--width\": Math.round(\n                                  (row.Value / maxValue) * 100\n                                ),\n                              } as React.CSSProperties\n                            }\n                          />\n                        </div>\n                        <p className={styles[\"value-text\"]}>\n                          {formatMoney(row.Value)}\n                        </p>\n                      </div>\n                    </td>\n                    <td className={styles[\"percent-col\"]}>\n                      {formatPercentage(row[\"Share of total imports\"] / 100)}\n                    </td>\n                  </tr>\n                );\n              })}\n            </tbody>\n          </table>\n          <div className={styles.list}>\n            {iterator.map((_, index) => {\n              const row = filteredData[index];\n\n              return (\n                <div key={index} className={styles[\"list-row\"]}>\n                  <p className={styles[\"row-title\"]}>\n                    <span className={styles.index}>{index + 1}</span>\n                    <span className={styles[\"economy-row\"]}>\n                      {getEconomyDisplayName(row[\"Partner code\"])}\n                    </span>\n                  </p>\n                  <div className={styles[\"value-row\"]}>\n                    <p className={styles[\"value-label\"]}>Export value</p>\n                    <div className={styles[\"value-col-container\"]}>\n                      <div className={styles[\"value-bar-container\"]}>\n                        <div\n                          className={styles[\"value-bar\"]}\n                          style={\n                            {\n                              \"--width\": Math.round(\n                                (row.Value / maxValue) * 100\n                              ),\n                            } as React.CSSProperties\n                          }\n                        />\n                      </div>\n                      <p className={styles[\"value-text\"]}>\n                        {formatMoney(row.Value)}\n                      </p>\n                    </div>\n                  </div>\n                  <p className={styles[\"percent-row\"]}>\n                    {formatPercentage(row[\"Share of total imports\"] / 100)} of\n                    total imports\n                  </p>\n                </div>\n              );\n            })}\n          </div>\n        </>\n      )}\n    </div>\n  );\n}\n","\n      import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../node_modules/sass-loader/dist/cjs.js!./styles.module.scss\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../node_modules/sass-loader/dist/cjs.js!./styles.module.scss\";\n       export default content && content.locals ? content.locals : undefined;\n","import { useEffect, useState } from \"react\";\nimport * as d3 from \"d3\";\nimport { EndNotes } from \"@/components/EndNotes\";\nimport { PageContainer } from \"@/components/PageContainer\";\nimport { Select } from \"@/components/Select\";\nimport { useFilter } from \"@/hooks/useFilter\";\nimport { useUrls } from \"@/hooks/useUrls\";\nimport economyOptions from \"@/config/product-concentration/economies\";\nimport {\n  formatPercentage,\n  formatRows,\n  getEconomyDisplayName,\n  getSectorDisplayName,\n  makePossessive,\n} from \"@/utils/format\";\nimport { getSectorItems, getEconomyItems } from \"@/utils/filter\";\nimport { BubbleChart } from \"./BubbleChart\";\nimport { SuppliersChart } from \"./SuppliersChart\";\nimport styles from \"./styles.module.scss\";\nconst economyItems = getEconomyItems(economyOptions);\n\nconst schema = [\n  { name: \"Sector code\" },\n  { name: \"Year\" },\n  { name: \"Sub-sector code\" },\n  {\n    name: \"Total reporter value\",\n    format: (value: string) => parseInt(value),\n  },\n  {\n    name: \"Economy-specific HHI\",\n    format: (value: string) => parseInt(value),\n  },\n  {\n    name: \"Global HHI\",\n    format: (value: string) => parseInt(value),\n  },\n  {\n    name: \"Economy top 3 share\",\n    format: (value: string) => parseFloat(value),\n  },\n  {\n    name: \"Global top 3 share\",\n    format: (value: string) => parseFloat(value),\n  },\n] as const;\n\nconst getDataRows = (rows: unknown) => {\n  return formatRows(rows, schema);\n};\n\nexport type DataRow = ReturnType<typeof getDataRows>[number];\n\nconst suppliersSchema = [\n  { name: \"Partner code\" },\n  { name: \"Year\" },\n  { name: \"Sub-sector code\" },\n  {\n    name: \"Value\",\n    format: (value: string) => parseInt(value),\n  },\n  {\n    name: \"Share of total imports\",\n    format: (value: string) => parseFloat(value),\n  },\n] as const;\n\nconst getSuppliersDataRows = (rows: unknown) => {\n  return formatRows(rows, suppliersSchema);\n};\n\nexport type SuppliersDataRow = ReturnType<typeof getSuppliersDataRows>[number];\n\nconst comparisonSchema = [\n  { name: \"Sector code\" },\n  { name: \"Year\" },\n  {\n    name: \"Economy- and sector-specific share of concentrated imports\",\n    format: (value: string) => parseFloat(value),\n  },\n  {\n    name: \"Economy-specific share of concentrated imports\",\n    format: (value: string) => parseFloat(value),\n  },\n] as const;\n\nconst getComparisonDataRows = (rows: unknown) => {\n  return formatRows(rows, comparisonSchema);\n};\n\ntype ComparisonDataRow = ReturnType<typeof getComparisonDataRows>[number];\n\nexport function App() {\n  const urls = useUrls();\n  const pageSlug = \"product-concentration\";\n  const urlInfo = urls[pageSlug] || {};\n\n  const [data, setData] = useState<DataRow[]>([]);\n  const [suppliersData, setSuppliersData] = useState<SuppliersDataRow[]>([]);\n  const [comparisonData, setComparisonData] = useState<ComparisonDataRow[]>([]);\n  const [isDataLoading, setIsDataLoading] = useState(true);\n  const [isSuppliersLoading, setIsSuppliersLoading] = useState(true);\n\n  const { value: economy, onChange: onEconomyChange } = useFilter(\n    \"eco\",\n    economyOptions\n  );\n\n  const yearOptionsSet = new Set<string>();\n  data.forEach((row) => {\n    yearOptionsSet.add(row.Year);\n  });\n  const yearOptions = data.length\n    ? Array.from(yearOptionsSet).sort((a, b) => parseInt(b) - parseInt(a))\n    : [];\n\n  const { value: year, onChange: onYearChange } = useFilter(\n    \"year\",\n    yearOptions\n  );\n\n  const sectorOptionsSet = new Set<string>();\n  data.forEach((row) => {\n    sectorOptionsSet.add(row[\"Sector code\"].toLowerCase());\n  });\n  const sectorOptions = data.length\n    ? Array.from(sectorOptionsSet).sort((a, b) => a.localeCompare(b))\n    : [];\n  const sectorItems = getSectorItems(sectorOptions);\n\n  const { value: sector, onChange: onSectorChange } = useFilter(\n    \"sector\",\n    sectorOptions\n  );\n\n  const filteredData = data\n    .filter(\n      (d) => d[\"Sector code\"].toLowerCase() === sector && d[\"Year\"] === year\n    )\n    // Sort data so that bigger bubbles are drawn first in BubbleChart, which\n    // allows clicking smaller bubbles inside of them (since those will be drawn\n    // on top)\n    .sort((a, b) => b[\"Total reporter value\"] - a[\"Total reporter value\"]);\n\n  const productOptionsSet = new Set<string>();\n  filteredData.forEach((row) => {\n    productOptionsSet.add(row[\"Sub-sector code\"]);\n  });\n  const productOptions = data.length\n    ? Array.from(productOptionsSet).sort((a, b) => a.localeCompare(b))\n    : [];\n  const biggestProduct = filteredData[0]?.[\"Sub-sector code\"];\n  const { value: product, onChange: onProductChange } = useFilter(\n    \"product\",\n    productOptions,\n    biggestProduct\n  );\n\n  useEffect(() => {\n    setIsDataLoading(true);\n    d3.csv(\n      `${\n        process.env.ASSET_PATH || \"\"\n      }/data/product-concentration/${economy}.csv`\n    )\n      .then((data) => {\n        setData(getDataRows(data));\n      })\n      .catch((e) => {\n        console.error(e);\n        setData([]);\n      })\n      .finally(() => {\n        setIsDataLoading(false);\n      });\n  }, [economy]);\n\n  useEffect(() => {\n    setIsSuppliersLoading(true);\n    if (sector) {\n      d3.csv(\n        `${\n          process.env.ASSET_PATH || \"\"\n        }/data/product-concentration-suppliers/${economy}-${sector}.csv`\n      )\n        .then((data) => {\n          setSuppliersData(getSuppliersDataRows(data));\n        })\n        .catch((e) => {\n          console.error(e);\n          setSuppliersData([]);\n        })\n        .finally(() => {\n          setIsSuppliersLoading(false);\n        });\n    }\n  }, [economy, sector]);\n\n  useEffect(() => {\n    d3.csv(\n      `${\n        process.env.ASSET_PATH || \"\"\n      }/data/product-concentration-comparison/${economy}.csv`\n    )\n      .then((data) => {\n        setComparisonData(getComparisonDataRows(data));\n      })\n      .catch((e) => {\n        console.error(e);\n        setComparisonData([]);\n      });\n  }, [economy]);\n\n  const filteredSuppliersData = suppliersData.filter(\n    (d) => d[\"Year\"] === year && d[\"Sub-sector code\"] === product\n  );\n\n  const displayEconomy = getEconomyDisplayName(economy);\n\n  const comparisonDataRow = comparisonData.find(\n    (d) => d[\"Sector code\"].toLowerCase() === sector && d[\"Year\"] === year\n  );\n\n  let allGoodsComparison = undefined;\n  let comparison = undefined;\n\n  if (comparisonDataRow) {\n    const specificPercent = formatPercentage(\n      comparisonDataRow[\n        \"Economy- and sector-specific share of concentrated imports\"\n      ] / 100\n    );\n    const globalPercent = formatPercentage(\n      comparisonDataRow[\"Economy-specific share of concentrated imports\"] / 100\n    );\n    const economyName = getEconomyDisplayName(economy);\n    const sectorName = getSectorDisplayName(sector).toLowerCase();\n\n    allGoodsComparison =\n      comparisonDataRow && sector.toUpperCase() === \"0AG\"\n        ? `${specificPercent} of all ${makePossessive(\n            economyName\n          )} imports is concentrated in ${year}.`\n        : undefined;\n\n    comparison =\n      comparisonDataRow && sector.toUpperCase() !== \"0AG\"\n        ? `${specificPercent} of ${makePossessive(\n            economyName\n          )} imports in the ${sectorName} sector is concentrated compared to ${globalPercent} across all ${makePossessive(\n            economyName\n          )} imports in ${year}.`\n        : undefined;\n  }\n\n  return (\n    <PageContainer\n      headline={urlInfo.headline}\n      dek={urlInfo.dek}\n      footerCTASlug=\"home\"\n      activePageSlug={pageSlug}\n      isLoading={isDataLoading || isSuppliersLoading}\n      filters={\n        <>\n          <Select\n            label=\"Economy\"\n            items={economyItems}\n            value={economy}\n            format=\"control-bar\"\n            onChange={(value) => {\n              onEconomyChange(value);\n            }}\n          />\n          <Select\n            label=\"Sector\"\n            items={sectorItems}\n            value={sector}\n            format=\"control-bar\"\n            onChange={(value) => {\n              onSectorChange(value);\n            }}\n          />\n          <Select\n            label=\"Year\"\n            items={yearOptions.map((o) => ({ value: o }))}\n            value={year}\n            format=\"control-bar\"\n            onChange={(value) => onYearChange(value)}\n          />\n        </>\n      }\n    >\n      <div className={styles[\"bubble-chart-wrap\"]}>\n        <div className={styles[\"bubble-chart\"]}>\n          <BubbleChart\n            data={filteredData}\n            displayEconomy={displayEconomy}\n            sector={sector}\n            product={product}\n            onProductChange={onProductChange}\n            concentrationDescription={allGoodsComparison || comparison}\n          />\n        </div>\n\n        <div className={styles[\"notes-container\"]}>\n          <EndNotes mode=\"collapsed\">\n            <p>\n              <sup>1</sup>The Herfindahl-Hirschman Index (HHI) is a common\n              measure of market concentration. For product level analysis, HHI\n              values greater than 3,000 typically mean that there are 3 or fewer\n              suppliers for the product globally (y-axis), or that a specific\n              economy relies on 3 or few suppliers for its imports (x-axis).\n              Regional calculations of HHI and share of concentrated trade\n              exclude any trade between economies within the selected region.\n              Largest products by global imports have been allocated shortened\n              names. Original names can be found on the UN Comtrade website\n              using the HS6 code. Products with only unspecified suppliers are\n              not shown.\n            </p>\n            <p>Source: UN Comtrade (Refreshed 2025-01-30)</p>\n          </EndNotes>\n        </div>\n      </div>\n\n      <div className={styles[\"suppliers-chart\"]}>\n        <SuppliersChart\n          data={filteredSuppliersData}\n          displayEconomy={displayEconomy}\n          product={product}\n          productOptions={productOptions}\n          onProductChange={onProductChange}\n        />\n      </div>\n\n      <div className={styles[\"notes-container\"]}>\n        <EndNotes mode=\"collapsed\">\n          <p>\n            Regional imports exclude any trade between economies within the\n            selected region. Largest products by global imports have been\n            allocated shortened names. Original names can be found on the UN\n            Comtrade website using the HS6 code. All unspecified trade partners\n            are aggregated under the “Not specified” label. See technical\n            appendix for more details on how unspecified trade partners are\n            treated.\n          </p>\n          <p>Source: UN Comtrade (Refreshed 2025-01-30)</p>\n        </EndNotes>\n      </div>\n    </PageContainer>\n  );\n}\n","import { createRoot } from \"react-dom/client\";\nimport { ErrorBoundary } from \"@/components/ErrorBoundary\";\nimport { App } from \"./App\";\n\nconst id = `${process.env.ID_PREFIX}product-concentration`;\nconst container = document.getElementById(id);\n\nif (!container) {\n  throw new Error(`Could not find container with id: \"${id}\"`);\n}\n\nconst root = createRoot(container);\nroot.render(\n  <ErrorBoundary>\n    <App />\n  </ErrorBoundary>\n);\n"],"names":["leafPrototypes","getProto","___CSS_LOADER_EXPORT___","push","module","id","locals","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","_k","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","data","sourceMapping","aa","ca","p","a","b","c","arguments","da","Set","ea","fa","ha","add","ia","window","document","createElement","ja","Object","prototype","hasOwnProperty","ka","la","ma","v","d","e","f","g","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","type","sanitizeURL","removeEmptyString","z","split","forEach","toLowerCase","ra","sa","toUpperCase","ta","slice","pa","isNaN","qa","call","test","oa","removeAttribute","setAttribute","setAttributeNS","replace","xlinkHref","ua","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","Symbol","for","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","iterator","Ka","La","A","assign","Ma","Error","stack","trim","match","Na","Oa","prepareStackTrace","defineProperty","set","Reflect","construct","l","h","displayName","includes","name","Pa","tag","render","Qa","$$typeof","_context","_payload","_init","Ra","Sa","Ta","nodeName","Va","_valueTracker","getOwnPropertyDescriptor","constructor","get","configurable","enumerable","getValue","setValue","stopTracking","Ua","Wa","checked","value","Xa","activeElement","body","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","initialValue","controlled","ab","bb","cb","db","ownerDocument","eb","Array","isArray","fb","options","selected","defaultSelected","disabled","gb","dangerouslySetInnerHTML","children","hb","ib","jb","textContent","kb","lb","mb","nb","MSApp","execUnsafeLocalFunction","namespaceURI","innerHTML","valueOf","firstChild","removeChild","appendChild","ob","lastChild","nodeType","nodeValue","pb","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","qb","rb","sb","style","indexOf","setProperty","keys","charAt","substring","tb","menuitem","area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr","ub","vb","is","wb","xb","target","srcElement","correspondingUseElement","parentNode","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","addEventListener","removeEventListener","Nb","apply","m","onError","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","return","flags","Wb","memoizedState","dehydrated","Xb","Zb","child","sibling","current","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","B","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","Math","clz32","pc","qc","log","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","C","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Map","Pc","Qc","Rc","Sc","delete","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","dispatchEvent","shift","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","dd","ed","transition","fd","gd","hd","Uc","stopPropagation","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","preventDefault","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","Date","now","isTrusted","td","ud","view","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","key","String","fromCharCode","code","location","repeat","locale","which","Rd","Td","width","height","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","color","date","datetime","email","month","number","password","range","search","tel","text","time","url","week","me","ne","oe","event","listeners","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","node","offset","nextSibling","Le","contains","compareDocumentPosition","Me","HTMLIFrameElement","contentWindow","href","Ne","contentEditable","Oe","focusedElem","selectionRange","documentElement","start","end","selectionStart","selectionEnd","min","defaultView","getSelection","extend","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","element","left","scrollLeft","top","scrollTop","focus","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","instance","listener","D","of","has","pf","qf","rf","random","sf","bind","capture","passive","n","t","J","x","u","w","F","tf","uf","parentWindow","vf","wf","na","xa","$a","ba","je","char","ke","unshift","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","setTimeout","Gf","clearTimeout","Hf","Promise","Jf","queueMicrotask","resolve","then","catch","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","E","G","Vf","H","Wf","Xf","Yf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","childContextTypes","$f","ag","bg","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","I","zg","Ag","Bg","elementType","deletions","Cg","pendingProps","overflow","treeContext","retryLane","Dg","mode","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","defaultProps","Mg","Ng","Og","Pg","Qg","Rg","_currentValue","Sg","childLanes","Tg","dependencies","firstContext","lanes","Ug","Vg","context","memoizedValue","next","Wg","Xg","Yg","interleaved","Zg","$g","ah","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","bh","ch","eventTime","lane","payload","callback","dh","K","eh","fh","gh","q","r","y","hh","ih","jh","Component","refs","kh","nh","isMounted","_reactInternals","enqueueSetState","L","lh","mh","enqueueReplaceState","enqueueForceUpdate","oh","shouldComponentUpdate","isPureReactComponent","ph","contextType","state","updater","qh","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","rh","props","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","sh","ref","_owner","_stringRef","th","uh","vh","index","wh","xh","yh","implementation","zh","Ah","done","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","tagName","Jh","Kh","Lh","M","Mh","revealOrder","Nh","Oh","_workInProgressVersionPrimary","Ph","ReactCurrentDispatcher","Qh","Rh","N","O","P","Sh","Th","Uh","Vh","Q","Wh","Xh","Yh","Zh","$h","ai","bi","ci","baseQueue","queue","di","ei","fi","lastRenderedReducer","action","hasEagerState","eagerState","lastRenderedState","dispatch","gi","hi","ii","ji","ki","getSnapshot","li","mi","R","ni","lastEffect","stores","oi","pi","qi","ri","create","destroy","deps","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Ki","message","digest","Li","Mi","console","error","Ni","WeakMap","Oi","Pi","Qi","Ri","getDerivedStateFromError","componentDidCatch","Si","componentStack","Ti","pingCache","Ui","Vi","Wi","Xi","ReactCurrentOwner","Yi","Zi","$i","aj","bj","compare","cj","dj","ej","baseLanes","cachePool","transitions","fj","gj","hj","ij","jj","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","kj","lj","pendingContext","mj","Aj","Bj","Cj","Dj","nj","oj","pj","fallback","qj","rj","tj","dataset","dgst","uj","vj","_reactRetry","sj","subtreeFlags","wj","xj","isBackwards","rendering","renderingStartTime","last","tail","tailMode","yj","Ej","S","Fj","Gj","wasMultiple","multiple","suppressHydrationWarning","onClick","onclick","size","createElementNS","autoFocus","createTextNode","T","Hj","Ij","Jj","Kj","U","Lj","WeakSet","V","Mj","W","Nj","Oj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","insertBefore","_reactRootContainer","Xj","X","Yj","Zj","ak","onCommitFiberUnmount","componentWillUnmount","bk","ck","dk","ek","fk","isHidden","gk","hk","display","ik","jk","kk","lk","__reactInternalSnapshotBeforeUpdate","src","Wk","mk","ceil","nk","ok","pk","Y","Z","qk","rk","sk","tk","uk","Infinity","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","finishedWork","finishedLanes","Qk","timeoutHandle","Rk","Sk","Tk","Uk","Vk","mutableReadLanes","Bc","Pj","onCommitFiberRoot","mc","onRecoverableError","Xk","onPostCommitFiberRoot","Yk","Zk","al","isReactComponent","pendingChildren","bl","mutableSourceEagerHydrationData","cl","cache","pendingSuspenseBoundaries","el","fl","gl","hl","il","jl","zj","$k","ll","reportError","ml","_internalRoot","nl","ol","pl","ql","sl","rl","unmount","unstable_scheduleHydration","splice","querySelectorAll","form","tl","usingClientEntryPoint","Events","ul","findFiberByHostInstance","bundleType","version","rendererPackageName","vl","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","wl","isDisabled","supportsFiber","inject","createPortal","dl","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","err","__self","__source","Fragment","jsx","jsxs","setState","forceUpdate","escape","_status","_result","default","Children","count","toArray","only","Profiler","PureComponent","StrictMode","Suspense","cloneElement","createContext","_currentValue2","_threadCount","Provider","Consumer","_defaultValue","_globalName","createFactory","createRef","forwardRef","isValidElement","lazy","memo","startTransition","unstable_act","pop","sortIndex","performance","setImmediate","startTime","expirationTime","priorityLevel","navigator","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","postMessage","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","floor","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","delay","unstable_wrapCallback","stylesInDOM","getIndexByIdentifier","identifier","result","modulesToDom","idCountMap","identifiers","indexByIdentifier","obj","css","sourceMap","references","addElementStyle","byIndex","api","domAPI","update","newObj","remove","lastIdentifiers","newList","newLastIdentifiers","_i","_index","insert","styleTarget","querySelector","contentDocument","head","getTarget","setAttributes","attributes","styleElement","nonce","insertStyleElement","styleTagTransform","removeStyleElement","styleSheet","cssText","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","getPrototypeOf","ns","def","getOwnPropertyNames","definition","o","prop","toStringTag","nc","hasError","info","className","container","none","selector","empty","matches","childMatcher","find","childFirst","firstElementChild","filter","from","EnterNode","parent","datum","_next","_parent","__data__","bindIndex","group","enter","exit","groupLength","dataLength","bindKey","keyValue","nodeByKeyValue","keyValues","arraylike","ascending","NaN","xhtml","svg","xlink","xml","xmlns","prefix","namespaces","space","local","attrRemove","attrRemoveNS","fullname","removeAttributeNS","attrConstant","attrConstantNS","attrFunction","attrFunctionNS","styleRemove","removeProperty","styleConstant","styleFunction","styleValue","getPropertyValue","getComputedStyle","propertyRemove","propertyConstant","propertyFunction","classArray","string","classList","ClassList","_node","_names","getAttribute","classedAdd","names","classedRemove","classedTrue","classedFalse","classedFunction","textRemove","textConstant","textFunction","htmlRemove","htmlConstant","htmlFunction","raise","lower","creatorInherit","uri","creatorFixed","namespace","constantNull","selection_cloneShallow","clone","cloneNode","selection_cloneDeep","onRemove","typename","on","__on","j","onAdd","contextListener","params","CustomEvent","createEvent","initEvent","dispatchConstant","dispatchFunction","root","Selection","groups","parents","_groups","_parents","selection","select","subgroups","subnode","subgroup","selectAll","array","arrayAll","selectorAll","selectChild","childFind","selectChildren","childrenFilter","matcher","enterGroup","updateGroup","previous","i0","i1","_enter","_exit","sparse","onenter","onupdate","onexit","append","merge","groups0","groups1","m0","m1","merges","group0","group1","sort","compareNode","sortgroups","sortgroup","nodes","each","attr","getAttributeNS","property","classed","html","creator","before","deep","typenames","parseTypenames","noop","_","Dispatch","types","copy","that","args","taskHead","taskTail","timeout","interval","clockLast","clockNow","clockSkew","clock","setFrame","requestAnimationFrame","clearNow","Timer","_call","_time","timer","restart","wake","timerFlush","t0","t2","t1","sleep","nap","poke","clearInterval","setInterval","elapsed","stop","TypeError","emptyOn","emptyTween","timing","schedules","__transition","self","tween","tick","duration","ease","init","schedule","svgNode","degrees","PI","translateX","translateY","rotate","skewX","scaleX","scaleY","sqrt","atan2","atan","interpolateTransform","parse","pxComma","pxParen","degParen","s","translate","scale","interpolateTransformCss","DOMMatrix","WebKitCSSMatrix","isIdentity","decompose","interpolateTransformSvg","transform","baseVal","consolidate","matrix","tweenRemove","tween0","tween1","tweenFunction","tweenValue","_id","factory","Color","darker","brighter","reI","reN","reP","reHex","reRgbInteger","RegExp","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","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","color_formatHex","rgb","formatHex","color_formatRgb","formatRgb","format","exec","parseInt","rgbn","Rgb","rgba","hsla","rgbConvert","rgb_formatHex","hex","rgb_formatRgb","clampa","clampi","max","round","Hsl","hslConvert","clamph","clampt","hsl2rgb","m2","basis","v0","v1","v2","v3","t3","channels","displayable","formatHex8","formatHsl","pow","clamp","nogamma","linear","rgbGamma","exponential","gamma","rgbSpline","spline","colors","values","reA","reB","am","bm","bs","lastIndex","one","zero","interpolate","value1","string00","interpolate0","string1","string0","string10","attrTweenNS","attrInterpolateNS","_value","attrTween","attrInterpolate","delayFunction","delayConstant","durationFunction","durationConstant","Transition","_name","newId","selection_prototype","inherit","id0","id1","on0","on1","sit","every","onFunction","styleTween","styleNull","listener0","styleMaybeRemove","styleInterpolate","textTween","textInterpolate","removeFunction","easeConstant","easeVarying","reject","cancel","interrupt","defaultTiming","active","abs","EOL","EOF","objectConverter","Function","inferColumns","rows","columnSet","row","column","pad","delimiter","reFormat","DELIMITER","charCodeAt","parseRows","eof","eol","token","preformatBody","formatValue","formatRow","year","hours","getUTCHours","minutes","getUTCMinutes","seconds","getUTCSeconds","milliseconds","getUTCMilliseconds","getUTCFullYear","getUTCMonth","getUTCDate","formatDate","convert","object","customConverter","formatBody","formatRows","csv","dsv","csvParse","tsv","tsvParse","responseText","response","status","statusText","dsvParse","fetch","e10","e5","e2","tickSpec","step","power","log10","factor","i2","inc","tickIncrement","descending","bisector","compare1","compare2","delta","lo","mid","center","right","ascendingBisect","bisectRight","genericArray","setTime","ArrayBuffer","isView","DataView","unit","normalize","bimap","domain","d0","d1","r0","r1","polymap","reverse","bisect","unknown","transformer","untransform","piecewise","output","rescale","clamper","invert","rangeRound","initRange","prefixExponent","formatSpecifier","specifier","FormatSpecifier","fill","align","sign","symbol","comma","precision","formatDecimalParts","toExponential","coefficient","exponent","toFixed","toLocaleString","toPrecision","formatRounded","formatPrefix","prefixes","linearish","ticks","tickFormat","tickStep","precisionPrefix","precisionRound","precisionFixed","nice","prestep","maxIter","transformPow","transformSqrt","transformSquare","powish","sourceEvent","ownerSVGElement","createSVGPoint","point","matrixTransform","getScreenCTM","inverse","getBoundingClientRect","rect","clientLeft","clientTop","grouping","thousands","Number","currencyPrefix","currency","currencySuffix","decimal","numerals","formatNumerals","percent","minus","nan","newFormat","formatTypes","suffix","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","out","formatTrim","padding","applyX","applyY","invertX","invertY","rescaleX","rescaleY","EndNotes","heading","Tag","isDarkBG","details","summary","viewBox","horiz","PageTopper","headline","dek","ControlsBar","isLoading","inner","title","loading","spinner","role","hide","controls","isValid","some","filterAfterChangeEventKey","updateValue","URLSearchParams","history","replaceState","pathname","Event","useFilter","defaultOptionArg","defaultOption","onFilterChange","currentParam","onChange","newValue","newParam","useUrls","setParams","home","thumbnailLight","thumbnailDark","description","interdependencies","_extends","$e42e1063c40fb3ef$export$b9ecd428b558ff10","originalEventHandler","ourEventHandler","checkForDefaultPrevented","$6ed0406888f73fc4$export$43e446d32b3d21af","$6ed0406888f73fc4$var$setRef","$6ed0406888f73fc4$export$c7b2cbe3552a0d05","$c512c27ab02ef895$export$50c7b4e9d9f19c1","scopeName","createContextScopeDeps","defaultContexts","createScope","scopeContexts","defaultContext","scope","contexts","rootComponentName","BaseContext","Context","consumerName","$c512c27ab02ef895$var$composeContextScopes","scopes","baseScope","createScope1","scopeHooks","useScope","overrideScopes","nextScopes1","reduce","nextScopes","$9f79659886946c16$export$e5c5a5f917a5871c","Boolean","globalThis","$1746a345f3d73bb7$var$useReactId","$1746a345f3d73bb7$var$count","$1746a345f3d73bb7$export$f680877a34711e37","deterministicId","setId","reactId","$b1b2314f5f9a1d84$export$25bec8c6f54ee79a","callbackRef","_callbackRef$current","$71cd76cc60e0454e$export$6f32135080cb4c3","defaultProp","uncontrolledProp","setUncontrolledProp","uncontrolledState","prevValueRef","handleChange","$71cd76cc60e0454e$var$useUncontrolledState","isControlled","nextValue","$5e63c961fc1ce211$export$8c6ed5c666ac1360","forwardedRef","slotProps","childrenArray","slottable","$5e63c961fc1ce211$var$isSlottable","newElement","newChildren","$5e63c961fc1ce211$var$SlotClone","$5e63c961fc1ce211$var$mergeProps","$5e63c961fc1ce211$export$d9f1ccf0bdb05d45","childProps","propName","slotPropValue","childPropValue","$8927f6f2acc4f386$export$250ffa63cdc0d034","primitive","Node","asChild","primitiveProps","Comp","$5cb92bef7577960e$var$CONTEXT_UPDATE","$5cb92bef7577960e$var$originalBodyPointerEvents","$5cb92bef7577960e$var$DismissableLayerContext","layers","layersWithOutsidePointerEventsDisabled","branches","$5cb92bef7577960e$export$177fb62ff3ec1f22","_node$ownerDocument","disableOutsidePointerEvents","onEscapeKeyDown","onPointerDownOutside","onFocusOutside","onInteractOutside","onDismiss","layerProps","node1","setNode","force","composedRefs","highestLayerWithOutsidePointerEventsDisabled","highestLayerWithOutsidePointerEventsDisabledIndex","isBodyPointerEventsDisabled","isPointerEventsEnabled","pointerDownOutside","handlePointerDownOutside","isPointerInsideReactTreeRef","handleClickRef","handlePointerDown","eventDetail","originalEvent","handleAndDispatchPointerDownOutsideEvent","$5cb92bef7577960e$var$handleAndDispatchCustomEvent","discrete","once","timerId","onPointerDownCapture","$5cb92bef7577960e$var$usePointerDownOutside","isPointerDownOnBranch","branch","focusOutside","handleFocusOutside","isFocusInsideReactTreeRef","handleFocus","onFocusCapture","onBlurCapture","$5cb92bef7577960e$var$useFocusOutside","onEscapeKeyDownProp","handleKeyDown","pointerEvents","$5cb92bef7577960e$var$dispatchUpdate","handleUpdate","div","handler","$d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT","$d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT","$d3863c46a17e8a28$var$EVENT_OPTIONS","$d3863c46a17e8a28$export$20e40289641fbbb6","loop","trapped","onMountAutoFocus","onMountAutoFocusProp","onUnmountAutoFocus","onUnmountAutoFocusProp","scopeProps","container1","setContainer","lastFocusedElementRef","focusScope","paused","pause","resume","handleFocusIn","$d3863c46a17e8a28$var$focus","handleFocusOut","handleMutations","mutations","focusedElement","mutation","removedNodes","mutationObserver","MutationObserver","observe","childList","subtree","disconnect","$d3863c46a17e8a28$var$focusScopesStack","previouslyFocusedElement","mountEvent","candidates","candidate","$d3863c46a17e8a28$var$focusFirst","$d3863c46a17e8a28$var$getTabbableCandidates","unmountEvent","isTabKey","first","$d3863c46a17e8a28$var$findVisible","$d3863c46a17e8a28$var$getTabbableEdges","tabIndex","onKeyDown","walker","createTreeWalker","NodeFilter","SHOW_ELEMENT","acceptNode","isHiddenInput","hidden","FILTER_SKIP","FILTER_ACCEPT","nextNode","currentNode","elements","$d3863c46a17e8a28$var$isHidden","upTo","visibility","parentElement","preventScroll","HTMLInputElement","$d3863c46a17e8a28$var$isSelectableInput","activeFocusScope","$d3863c46a17e8a28$var$arrayRemove","_stack$","$d3863c46a17e8a28$var$createFocusScopesStack","updatedArray","$f1701beae083dbae$export$602eac185826482c","_globalThis$document","portalProps","$921a889cee6df7e8$export$99c2b779aa4e8b8b","present","presence","stylesRef","prevPresentRef","prevAnimationNameRef","initialState","send","machine","nextState","$fe963b355347cc68$export$3e6543de14f8614f","mounted","UNMOUNT","ANIMATION_OUT","unmountSuspended","MOUNT","ANIMATION_END","unmounted","currentAnimationName","$921a889cee6df7e8$var$getAnimationName","styles","wasPresent","prevAnimationName","handleAnimationEnd","isCurrentAnimation","handleAnimationStart","isPresent","$921a889cee6df7e8$var$usePresence","$3db38b7d1fb3fe6a$var$count","$3db38b7d1fb3fe6a$export$b7ece24a22aeda8c","_edgeGuards$","_edgeGuards$2","edgeGuards","insertAdjacentElement","$3db38b7d1fb3fe6a$var$createFocusGuard","__rest","getOwnPropertySymbols","propertyIsEnumerable","zeroRightClassName","fullWidthClassName","ItoI","effectCar","medium","defaults","middleware","buffer","assigned","read","useMedium","assignSyncMedium","cbs","assignMedium","pendingQueue","executeQueue","cycle","innerCreateMedium","async","ssr","createSidecarMedium","nothing","RemoveScroll","parentRef","_a","onScrollCapture","onWheelCapture","onTouchMoveCapture","callbacks","setCallbacks","forwardProps","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","_b","as","Container","rest","SideCar","containerRef","assignRef","facade","useMergeRefs","containerProps","lockRef","classNames","fullWidth","zeroRight","Target","isSideCarExport","stylesheetSingleton","counter","stylesheet","makeStyleTag","getElementsByTagName","insertStyleTag","styleSingleton","sheet","useStyle","isDynamic","dynamic","zeroGap","gap","Style","getStyles","allowRelative","gapMode","important","RemoveScrollBar","noRelative","noImportant","offsets","cs","getOffset","documentWidth","clientWidth","windowWidth","innerWidth","getGapWidth","passiveSupported","nonPassive","elementCanBeScrolled","overflowY","overflowX","alwaysContainsScroll","locationCouldBeScrolled","axis","ShadowRoot","host","elementCouldBeScrolled","getScrollVariables","elementCouldBeVScrolled","elementCouldBeHScrolled","scrollHeight","clientHeight","scrollWidth","getHScrollVariables","getTouchXY","getDeltaXY","extractRef","generateStyle","idCounter","lockStack","exported","shouldPreventQueue","touchStartRef","activeAxis","lastProps","allow_1","to","pack","ar","__spreadArray","shouldCancelEvent","currentAxis","touch","touchStart","moveDirection","canBeScrolledInMainDirection","cancelingAxis","endTarget","sourceDelta","directionFactor","direction","getDirectionFactor","targetInLock","shouldCancelScroll","isDeltaPositive","availableScroll","availableScrollTop","position","elementScroll","handleScroll","shouldPrevent","_event","deltaCompare","should","shardNodes","shouldCancel","scrollTouchStart","scrollWheel","scrollTouchMove","inst","ReactRemoveScroll","counterMap","uncontrolledNodes","markerMap","lockCount","unwrapHost","hideOthers","originalTarget","markerName","targets","activeParentNode","getDefaultParent","controlAttribute","correctedTarget","correctTargets","markerCounter","hiddenNodes","elementsToKeep","elementsToStop","keep","alreadyHidden","counterValue","markerValue","clear","applyAttributeToOthers","$5d3850c4d0b4e6c7$var$DIALOG_NAME","$5d3850c4d0b4e6c7$var$createDialogContext","$5d3850c4d0b4e6c7$export$cc702773b8ea3e41","$5d3850c4d0b4e6c7$var$DialogProvider","$5d3850c4d0b4e6c7$var$useDialogContext","$5d3850c4d0b4e6c7$export$2e1e1122cf0cba88","__scopeDialog","triggerProps","composedTriggerRef","triggerRef","open","contentId","$5d3850c4d0b4e6c7$var$getState","onOpenToggle","$5d3850c4d0b4e6c7$var$PORTAL_NAME","$5d3850c4d0b4e6c7$var$PortalProvider","$5d3850c4d0b4e6c7$var$usePortalContext","forceMount","$5d3850c4d0b4e6c7$var$OVERLAY_NAME","$5d3850c4d0b4e6c7$export$bd1d06c79be19e17","portalContext","overlayProps","modal","$5d3850c4d0b4e6c7$var$DialogOverlayImpl","contentRef","$5d3850c4d0b4e6c7$var$CONTENT_NAME","$5d3850c4d0b4e6c7$export$b6d9565de1e068cf","contentProps","$5d3850c4d0b4e6c7$var$DialogContentModal","$5d3850c4d0b4e6c7$var$DialogContentNonModal","$5d3850c4d0b4e6c7$var$DialogContentImpl","trapFocus","onCloseAutoFocus","_context$triggerRef$c","ctrlLeftClick","hasInteractedOutsideRef","hasPointerDownOutsideRef","_props$onCloseAutoFoc","_context$triggerRef$c2","_props$onInteractOuts","_context$triggerRef$c3","onOpenAutoFocus","descriptionId","titleId","onOpenChange","$5d3850c4d0b4e6c7$export$fba2fb7cd781b7ac","closeProps","$5d3850c4d0b4e6c7$export$69b62a49393917d6","$5d3850c4d0b4e6c7$var$useWarningContext","contentName","titleName","docsSlug","$5d3850c4d0b4e6c7$export$be92b6f5f03c0fe9","openProp","defaultOpen","setOpen","prevOpen","$5d3850c4d0b4e6c7$export$41fb9f06171c75f4","$5d3850c4d0b4e6c7$export$602eac185826482c","$5d3850c4d0b4e6c7$export$c6fdb837b070b4ff","$5d3850c4d0b4e6c7$export$7c6e2c02157bb7d2","$5d3850c4d0b4e6c7$export$f39c2d165cd861fe","dataLayerRegion","dataLayerText","urls","alt","MenuIcon","stroke","FooterCTA","pageSlug","cta","overline","AboutBlock","ctas","hyphenate","getKeys","PageContainer","footerCTASlug","filters","activePageSlug","page","sidebar","header","tagline","nav","main","$ae6933e535247d3d$export$7d15b64cf5a3a4c4","$f631663db3294ace$var$DirectionContext","reference","floating","placement","strategy","platform","isRTL","getElementRects","fn","reset","initialPlacement","middlewareData","rects","bottom","boundary","rootBoundary","elementContext","altBoundary","getClippingRect","isElement","contextElement","getDocumentElement","getOffsetParent","getScale","convertOffsetParentRelativeRectToViewportRelativeRect","offsetParent","getDimensions","centerOffset","cross","mainAxis","crossAxis","fallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","flipAlignment","flip","overflows","referenceHiddenOffsets","referenceHidden","escapedOffsets","escaped","alignmentAxis","limiter","availableWidth","availableHeight","HTMLElement","Element","perspective","backdropFilter","willChange","contain","CSS","parseFloat","offsetWidth","offsetHeight","isFinite","visualViewport","offsetLeft","offsetTop","frameElement","paddingLeft","paddingTop","pageXOffset","pageYOffset","assignedSlot","_c","getClientRects","ancestorScroll","ancestorResize","elementResize","animationFrame","ResizeObserver","cancelAnimationFrame","isRef","deepEqual","getDPR","devicePixelRatio","roundByDPR","dpr","useLatestRef","$cf1ac5d9fe0e8206$var$POPPER_NAME","$cf1ac5d9fe0e8206$var$createPopperContext","$cf1ac5d9fe0e8206$export$722aac194ae923","$cf1ac5d9fe0e8206$var$PopperProvider","$cf1ac5d9fe0e8206$var$usePopperContext","$cf1ac5d9fe0e8206$export$ecd4e1ccab6ed6d","__scopePopper","virtualRef","anchorProps","onAnchorChange","$cf1ac5d9fe0e8206$var$CONTENT_NAME","$cf1ac5d9fe0e8206$var$PopperContentProvider","$cf1ac5d9fe0e8206$var$useContentContext","$cf1ac5d9fe0e8206$export$bc4ae5855d3c4fc","_arrowSize$width","_arrowSize$height","_middlewareData$arrow","_middlewareData$arrow2","_middlewareData$arrow3","_middlewareData$trans","_middlewareData$trans2","_middlewareData$hide","side","sideOffset","alignOffset","arrowPadding","collisionBoundary","collisionPadding","collisionPaddingProp","sticky","hideWhenDetached","avoidCollisions","onPlaced","setContent","arrow","setArrow","arrowSize","setSize","resizeObserver","entries","entry","borderSizeEntry","borderSize","box","unobserve","arrowWidth","arrowHeight","desiredPlacement","hasExplicitBoundaries","detectOverflowOptions","$cf1ac5d9fe0e8206$var$isNotNull","floatingStyles","isPositioned","externalReference","externalFloating","whileElementsMounted","setData","latestMiddleware","setLatestMiddleware","_reference","_setReference","_floating","_setFloating","setReference","referenceRef","setFloating","floatingRef","referenceEl","floatingEl","dataRef","whileElementsMountedRef","platformRef","config","fullData","isMountedRef","initialStyles","anchor","anchorWidth","anchorHeight","contentStyle","$cf1ac5d9fe0e8206$var$transformOrigin","placedSide","placedAlign","$cf1ac5d9fe0e8206$var$getSideAndAlignFromPlacement","handlePlaced","arrowX","arrowY","cannotCenterArrow","contentZIndex","setContentZIndex","minWidth","transformOrigin","dir","onArrowChange","shouldHideArrow","_middlewareData$arrow4","_middlewareData$arrow5","_middlewareData$arrow6","_middlewareData$arrow7","_middlewareData$arrow8","isArrowHidden","noArrowAlign","arrowXCenter","arrowYCenter","$cf1ac5d9fe0e8206$export$be92b6f5f03c0fe9","setAnchor","$cf1ac5d9fe0e8206$export$b688253958b8dfe7","$cf1ac5d9fe0e8206$export$7c6e2c02157bb7d2","$ea1ef594cf570d83$export$439d29a4e110a164","span","border","margin","clip","whiteSpace","wordWrap","$cc7e05a45900e73f$var$OPEN_KEYS","$cc7e05a45900e73f$var$SELECTION_KEYS","$cc7e05a45900e73f$var$SELECT_NAME","$cc7e05a45900e73f$var$Collection","$cc7e05a45900e73f$var$useCollection","$cc7e05a45900e73f$var$createCollectionScope","PROVIDER_NAME","createCollectionContext","createCollectionScope","CollectionProviderImpl","useCollectionContext","collectionRef","itemMap","COLLECTION_SLOT_NAME","CollectionSlot","ITEM_SLOT_NAME","ITEM_DATA_ATTR","CollectionItemSlot","itemData","Slot","ItemSlot","getItems","collectionNode","orderedNodes","orderedItems","$cc7e05a45900e73f$var$createSelectContext","$cc7e05a45900e73f$export$286727a75dc039bd","$cc7e05a45900e73f$var$usePopperScope","$cc7e05a45900e73f$var$SelectProvider","$cc7e05a45900e73f$var$useSelectContext","$cc7e05a45900e73f$var$SelectNativeOptionsProvider","$cc7e05a45900e73f$var$useSelectNativeOptionsContext","$cc7e05a45900e73f$export$3ac1e88a1c0b9f1","__scopeSelect","popperScope","onTriggerChange","searchRef","handleTypeaheadSearch","resetTypeahead","$cc7e05a45900e73f$var$useTypeaheadSearch","enabledItems","currentItem","nextItem","$cc7e05a45900e73f$var$findNextItem","onValueChange","handleOpen","required","onPointerDown","hasPointerCapture","releasePointerCapture","triggerPointerDownPosRef","isTypingAhead","$cc7e05a45900e73f$export$e288731fd71264f0","placeholder","valueProps","onValueNodeHasChildrenChange","hasChildren","onValueNodeChange","$cc7e05a45900e73f$var$CONTENT_NAME","$cc7e05a45900e73f$export$c973a4b3cb86a03d","fragment","setFragment","DocumentFragment","frag","$cc7e05a45900e73f$var$SelectContentProvider","$cc7e05a45900e73f$var$SelectContentImpl","$cc7e05a45900e73f$var$CONTENT_MARGIN","$cc7e05a45900e73f$var$useSelectContentContext","viewport","setViewport","selectedItem","setSelectedItem","selectedItemText","setSelectedItemText","setIsPositioned","firstValidItemFoundRef","focusFirst","firstItem","restItems","lastItem","PREVIOUSLY_FOCUSED_ELEMENT","scrollIntoView","block","focusSelectedItem","pointerMoveDelta","handlePointerMove","_triggerPointerDownPo","_triggerPointerDownPo2","_triggerPointerDownPo3","_triggerPointerDownPo4","handlePointerUp","close","itemRefCallback","isFirstValidItem","handleItemLeave","itemTextRefCallback","SelectPosition","$cc7e05a45900e73f$var$SelectPopperPosition","$cc7e05a45900e73f$var$SelectItemAlignedPosition","popperContentProps","onViewportChange","onItemLeave","_context$trigger","trigger","onContextMenu","flexDirection","outline","isModifierKey","candidateNodes","currentElement","currentIndex","popperProps","contentContext","contentWrapper","setContentWrapper","shouldExpandOnScrollRef","shouldRepositionRef","valueNode","triggerRect","contentRect","valueNodeRect","itemTextRect","itemTextOffset","leftDelta","minContentWidth","contentWidth","rightEdge","clampedLeft","rightDelta","leftEdge","clampedRight","items","innerHeight","itemsHeight","contentStyles","contentBorderTopWidth","borderTopWidth","contentPaddingTop","contentBorderBottomWidth","borderBottomWidth","fullContentHeight","paddingBottom","minContentHeight","viewportStyles","viewportPaddingTop","viewportPaddingBottom","topEdgeToTriggerMiddle","triggerMiddleToBottomEdge","selectedItemHalfHeight","contentTopToItemMiddle","itemMiddleToContentBottom","isLastItem","viewportOffsetBottom","isFirstItem","minHeight","maxHeight","handleScrollButtonChange","$cc7e05a45900e73f$var$SelectViewportProvider","onScrollButtonChange","boxSizing","$cc7e05a45900e73f$var$useSelectViewportContext","$cc7e05a45900e73f$var$VIEWPORT_NAME","$cc7e05a45900e73f$export$9ed6e7b40248d36d","viewportProps","viewportContext","prevScrollTopRef","onScroll","scrolledBy","cssMinHeight","cssHeight","prevHeight","nextHeight","clampedNextHeight","heightDiff","justifyContent","$cc7e05a45900e73f$var$SelectGroupContextProvider","$cc7e05a45900e73f$var$useSelectGroupContext","$cc7e05a45900e73f$export$ee25a334c55de1f4","groupProps","groupId","$cc7e05a45900e73f$export$f67338d29bd972f8","labelProps","groupContext","$cc7e05a45900e73f$var$ITEM_NAME","$cc7e05a45900e73f$var$SelectItemContextProvider","$cc7e05a45900e73f$var$useSelectItemContext","$cc7e05a45900e73f$export$13ef48a934230896","textValue","textValueProp","itemProps","isSelected","setTextValue","isFocused","setIsFocused","_contentContext$itemR","textId","handleSelect","onItemTextChange","prevTextValue","_node$textContent","onFocus","onBlur","onPointerUp","onPointerMove","_contentContext$onIte","onPointerLeave","_contentContext$onIte2","_contentContext$searc","$cc7e05a45900e73f$var$ITEM_TEXT_NAME","$cc7e05a45900e73f$export$3572fb0fb821ff49","itemTextProps","itemContext","nativeOptionsContext","itemTextNode","setItemTextNode","_contentContext$itemT","nativeOption","onNativeOptionAdd","onNativeOptionRemove","valueNodeHasChildren","$cc7e05a45900e73f$export$6b9198de19accfe6","itemIndicatorProps","$cc7e05a45900e73f$var$SCROLL_UP_BUTTON_NAME","$cc7e05a45900e73f$export$d8117927658af6d7","canScrollUp1","setCanScrollUp","canScrollUp","$cc7e05a45900e73f$var$SelectScrollButtonImpl","onAutoScroll","$cc7e05a45900e73f$var$SCROLL_DOWN_BUTTON_NAME","$cc7e05a45900e73f$export$ff951e476c12189","canScrollDown1","setCanScrollDown","maxScroll","canScrollDown","scrollIndicatorProps","autoScrollTimerRef","clearAutoScrollTimer","_activeItem$ref$curre","activeItem","_contentContext$onIte3","$cc7e05a45900e73f$var$BubbleSelect","selectProps","prevValue","selectProto","HTMLSelectElement","onSearchChange","handleSearchChange","timerRef","updateSearch","normalizedSearch","currentItemIndex","wrappedItems","startIndex","startsWith","$cc7e05a45900e73f$export$be92b6f5f03c0fe9","valueProp","autoComplete","setTrigger","setValueNode","setValueNodeHasChildren","localDir","globalDir","isFormControl","closest","nativeOptionsSet","setNativeOptionsSet","nativeSelectKey","option","prev","optionsSet","$cc7e05a45900e73f$export$41fb9f06171c75f4","$cc7e05a45900e73f$export$4c8d1a57a761ef94","$cc7e05a45900e73f$export$602eac185826482c","$cc7e05a45900e73f$export$7c6e2c02157bb7d2","$cc7e05a45900e73f$export$d5c6c08dc2d3ca7","$cc7e05a45900e73f$export$eb2fcfdbd7ba97d4","$cc7e05a45900e73f$export$b04be29aa201d4f5","$cc7e05a45900e73f$export$6d08773d2e66f8f2","$cc7e05a45900e73f$export$d6e5bf9c43ea9319","$cc7e05a45900e73f$export$c3468e2714d175fa","$cc7e05a45900e73f$export$2f60d3ec9ad468f2","$cc7e05a45900e73f$export$bf1aedc3039c8d63","$b73a6c6685e72184$export$b04be29aa201d4f5","label","onMouseDown","_props$onMouseDown","isGroupLabelItem","isGroupLabel","renderItems","itemText","renderedItem","indicator","fillRule","clipRule","single","findItem","found","Select","propsId","randomId","htmlFor","portal","ABW","AFG","AGO","AIA","ALB","AND","ARE","ARG","ARM","ASM","ATA","ATF","ATG","AUS","AUT","AZE","BDI","BEL","BEN","BES","BFA","BGD","BGR","BHR","BHS","BIH","BLM","BLR","BLZ","BMU","BOL","BRA","BRB","BRN","BTN","BVT","BWA","CAF","CAN","CCK","CHE","CHL","CHN","CIV","CMR","COD","COG","COK","COL","COM","CPV","CRI","CUB","CUW","CXR","CYM","CYP","CZE","DEU","DJI","DMA","DNK","DOM","DZA","ECU","EGY","ERI","ESH","ESP","EST","ETH","FIN","FJI","FLK","FRA","FRO","FSM","GAB","GBR","GEO","GHA","GIB","GIN","GLP","GMB","GNB","GNQ","GRC","GRD","GRL","GTM","GUF","GUM","GUY","HKG","HMD","HND","HRV","HTI","HUN","IDN","IND","IOT","IRL","IRN","IRQ","ISL","ISR","ITA","JAM","JOR","JPN","KAS","KAZ","KEN","KGZ","KHM","KIR","KNA","KOR","KWT","LAO","LBN","LBR","LBY","LCA","LIE","LKA","LSO","LTU","LUX","LVA","MAC","MAF","MAR","MCO","MDA","MDG","MDV","MEX","MHL","MKD","MLI","MLT","MMR","MNE","MNG","MNP","MOZ","MRT","MSR","MTQ","MUS","MWI","MYS","MYT","NAM","NCL","NEC","NER","NFK","NGA","NIC","NIU","NLD","NOR","NPL","NRU","NZL","OMN","PAK","PAN","PCN","PER","PHL","PLW","PNG","POL","PRI","PRK","PRT","PRY","PSE","PYF","QAT","REU","ROU","RUS","RWA","SAU","SDN","SEN","SGP","SGS","SHN","SLB","SLE","SLV","SMR","SOM","SPM","SRB","SSD","STP","SUR","SVK","SVN","SWE","SWZ","SXM","SYC","SYR","TCA","TCD","TGO","THA","TJK","TKL","TKM","TLS","TON","TTO","TUN","TUR","TUV","TWN","TZA","UGA","UKR","URY","USA","UZB","VAT","VCT","VEN","VGB","VIR","VNM","VUT","WLF","WSM","XKV","YEM","ZAF","ZMB","ZWE","APC","ECA","MNA","SSA","LAC","ROW","EUE","GCH","NAC","WLD","NES","formatMoney","rawValue","skipLessThan","absValue","formattedValue","minimumFractionDigits","maximumFractionDigits","formatMoneySr","valueLength","digits","Intl","NumberFormat","maximumSignificantDigits","getEconomyDisplayName","economyCode","uppercaseEconomyCode","isValidEconomyCode","regions","isValidRegionCode","makePossessive","endsInS","formatPercentage","percentage","roundedPercentage","getSectorDisplayName","sectorCode","uppercaseSectorCode","sectors","isValidSectorCode","schema","rowWithKeys","defaultSort","localeCompare","filterItems","filteredItems","findIndex","formatItems","labels","formattedItems","sectorHierarchy","regionCodes","regionOrder","regionSort","aIndex","bIndex","economyRegionsHierarchy","acc","region","economyRegionsHierarchyWithWld","economyLabels","ChartHeader","multipleControls","useMediaQuery","query","setMatches","matchMedia","Tooltip","NoData","getProductName","truncateAtChar","hs6","isValidCode","scaleMax","tooltipWidthMobile","tooltipWidth600","concentratedThreshold","tspans","lines","line","dy","BubbleChart","displayEconomy","sector","product","onProductChange","concentrationDescription","is1200px","is1024px","is768px","is600px","yAxisLabelOffset","yAxisLabelHeight","yAxisWidth","yAxisTickLabelHeight","rightPaddingPixels","annotationX","bubbleRef","svgRef","svgWidth","setSvgWidth","setPosition","visible","setVisible","shouldHide","tooltipRef","setHasRef","containerRect","containerX","containerY","containerWidth","tooltipWidth","tooltipHeight","transformX","isOutOfViewRight","transformY","showTooltip","moveTooltip","hideTooltip","tooltipData","tooltipVisible","tooltipProps","useTooltip","isTopRightQuadrantTooltipVisible","setIsTopRightQuadrantTooltipVisible","isBottomRightQuadrantTooltipVisible","setIsBottomRightQuadrantTooltipVisible","isBottomLeftQuadrantTooltipVisible","setIsBottomLeftQuadrantTooltipVisible","selectedProduct","sortedData","circleRadiusScale","rightPadding","xScale","yScale","displaySector","cx","cy","chart","floodColor","in","x1","x2","y1","y2","textAnchor","words","prodName","prodNamelines","word","truncateAtLine","charsPerLine","circleR","economyHHI","bubbleClassName","isOnRightEdge","bubble","onMouseEnter","onMouseMove","onMouseLeave","SuppliersChart","productOptions","filteredData","Value","maxValue","wrap","table","economyItems","getEconomyItems","suppliersSchema","comparisonSchema","getElementById","ErrorBoundary","urlInfo","suppliersData","setSuppliersData","comparisonData","setComparisonData","isDataLoading","setIsDataLoading","isSuppliersLoading","setIsSuppliersLoading","economy","onEconomyChange","yearOptionsSet","Year","yearOptions","onYearChange","sectorOptionsSet","sectorOptions","sectorItems","getSectorItems","onSectorChange","productOptionsSet","finally","filteredSuppliersData","comparisonDataRow","allGoodsComparison","comparison","specificPercent","globalPercent","economyName","sectorName"],"sourceRoot":""}